首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 企业软件 > 行业软件 >

ArcObjects兑现柱图符号化

2012-08-10 
ArcObjects实现柱图符号化????? 不多说了,直接上代码,代码中有注释。代码源于项目,任何转载请注明:hi-ajg.i

ArcObjects实现柱图符号化

????? 不多说了,直接上代码,代码中有注释。代码源于项目,任何转载请注明:hi-ajg.iteye.com

?

????? 柱图符号化C#代码

?

      private void doBarChartRenderer()        {            IFeatureLayer flayer=(IFeatureLayer)axMapControl1.get_Layer(0);            IGeoFeatureLayer pGeoFeatureLayer = flayer as IGeoFeatureLayer;            IFeatureClass pFeatureClass = flayer.FeatureClass;            //定义ChartRenderer对象,并QI            IChartRenderer pChartRenderer = new ChartRendererClass();            IRendererFields pRendererFields= (IRendererFields)pChartRenderer;            //添加字段---WHITE和BLACK            pRendererFields.AddField("WHITE", "WHITE");            pRendererFields.AddField("BLACK", "BLACK");            //统计WHITE字段的最大值            ITable pTable= pGeoFeatureLayer as ITable;            IDataStatistics pDataStat = new DataStatisticsClass();            IFeatureCursor pFtCursor = flayer.FeatureClass.Search(null, false);            pDataStat.Cursor = pFtCursor as ICursor;            pDataStat.Field = "WHITE";            double pMax = pDataStat.Statistics.Maximum;            // 定义ChartSymbol            IBarChartSymbol pBarChartSymbol = new BarChartSymbolClass();            pBarChartSymbol.Width = 6;            IChartSymbol pChartSymbol = pBarChartSymbol as IChartSymbol;            // ChartSymbol与MarkerSymbol QI            IMarkerSymbol pMarkerSymbol = (IMarkerSymbol)pBarChartSymbol;            //设置pChartSymbol的最大值,bars的最大高度            pChartSymbol.MaxValue = pMax;            pMarkerSymbol.Size = 50;            //定义符号数组            ISymbolArray pSymbolArray = (ISymbolArray)pBarChartSymbol;            //添加第一个符号,显示WHITE字段            IFillSymbol pFillSymbol = new SimpleFillSymbolClass();            pFillSymbol.Color = getRgbColor(255, 0, 0) as IColor;            pSymbolArray.AddSymbol(pFillSymbol as ISymbol);            //添加第二个符号,显示BLACK字段            pFillSymbol = new SimpleFillSymbolClass();            pFillSymbol.Color = getRgbColor(0, 0, 255) as IColor;            pSymbolArray.AddSymbol(pFillSymbol as ISymbol);            //设置ChartSymbol            pChartRenderer.ChartSymbol = pChartSymbol as IChartSymbol;            pChartRenderer.Label = "White/Black";            //设置底图            pFillSymbol = new SimpleFillSymbolClass();            pFillSymbol.Color = getRgbColor(255, 255, 0);            pChartRenderer.BaseSymbol = (ISymbol)pFillSymbol;            pChartRenderer.CreateLegend();            //渲染,刷新地图和TOC            pGeoFeatureLayer.Renderer = (IFeatureRenderer)pChartRenderer;            axMapControl1.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeography, null, null);            axTOCControl1.Update();        }

?

????? 执行效果:

?

ArcObjects兑现柱图符号化

热点排行