不多说了,直接上代码,代码中有注释。代码源于项目,任何转载请注明: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();
}
执行效果:
- 大小: 16.6 KB
分享到:
相关推荐
### 利用ArcObjects组件技术实现图层的分类符号化 #### 一、引言 随着地理信息系统(GIS)技术的不断发展,ArcGIS作为ESRI公司的一款强大的GIS软件,在地图制作、数据分析等领域得到了广泛的应用。ArcObjects(AO...
通过ArcObjects,开发者可以深入到GIS功能的核心,实现高度定制化的工作流程和应用程序。 在对象模型图中,我们可以看到以下几个关键的知识点: 1. **基础接口**:如IGeometry、IFeature、IRaster等,这些接口定义...
实现标准化地图制图,需要考虑地图设计的要素和规则,比如符号化、色彩使用、图例、比例尺、投影方式等,同时也要符合相关的国家标准和行业规范。 在实现标准化地图制图的过程中,ArcObjects组件式扩展方法展现了...
1. **使用 ArcObjects API 进行编程**:通过 ArcObjects 提供的 API,可以直接操作地图层和符号对象,从而实现符号化效果。 2. **利用 Visual Basic for Applications (VBA)**:对于熟悉 VBA 的开发者来说,可以...
本文的知识点将围绕ArcObjects开发展开,详细介绍其基本概念、数据支持、地图图层控制、符号化以及空间分析等关键方面。 ### ArcObjects概述 ArcObjects是ArcGIS软件的核心技术,它包括一系列用COM技术实现的组件...
书中在讲述利用Arcobjects实现GIS功能的基础上,重点介绍了在Arcobjects环境下空间数据的符号化显示、空间分析、三维显示和三维分析、空间数据管理等功能的实现方法。每个章节对应一个具体的GIS功能,先介绍概念,...
书中在讲述利用Arcobjects实现GIS功能的基础上,重点介绍了在Arcobjects环境下空间数据的符号化显示、空间分析、三维显示和三维分析、空间数据管理等功能的实现方法。每个章节对应一个具体的GIS功能,先介绍概念,...
电子地图的开发涉及地图数据的处理、投影变换、符号化显示等多个方面。在这个项目中,开发者已经成功实现了加载电子地图的功能,这可能包括地图瓦片的加载、坐标系统的处理等技术。 压缩包中的“www.pudn.com.txt”...
- 符号系统:ArcObjects提供了ISymbol和ISimpleRenderer接口,用于定义地图要素的显示样式,包括颜色、线型、填充图案等。 - 动态图层:利用ILayer和IMapControl接口,可以动态加载、移除图层,控制图层的可见性、...
3. **制图技术**:详细介绍如何使用ArcObjects创建高质量的地图,包括符号化、布局设计等方面。 4. **空间分析**:讲解如何运用ArcObjects提供的工具进行空间数据分析,如网络分析、地形分析等。 5. **案例研究**:...
使用ArcObjects可以进行地图的符号化显示、空间数据分析、三维显示和分析、空间数据管理等多种GIS功能的实现。 #### ArcObjects的特点和功能 ArcObjects的特点体现在它提供的是一系列可复用的、高度模块化的组件,...
了解ArcObjects,你需要知道它能实现的功能非常广泛,包括空间数据的显示、查询、编辑、分析,创建专题图和统计报表,高级的制图和输出,以及空间数据的管理和维护。此外,ArcObjects还允许开发者将GIS功能集成到第...
在GIS领域,VB被广泛用来创建定制化的GIS工具和解决方案,利用其丰富的库函数和API调用能力,可以实现对ArcEngine和ArcObjects的强大控制。 ### 具体代码解析 #### 标准模块:识别地图点 在代码片段中,`Sub ...
5. **地图显示与制图**:讲解如何使用ArcObjects创建地图,管理图层,进行符号化和标注,以及打印和导出地图。 6. **用户界面设计**:讨论如何使用ArcObjects构建自定义用户界面,包括控件、菜单、工具条和对话框的...
5. 地图对象和层:ARCOBJECTS允许创建和操作地图对象,包括添加、删除和管理图层,设置比例尺,调整图层顺序,以及应用符号系统。VBA可以控制地图的显示和打印,以及创建动态的地图服务。 6. 编程模型:ARCOBJECTS...
这个主要是基于C#的开发平台,...第六章:空间数据的符号化 第七章:地图的输出 第八章:空间数据管理 第九章:空间分析 第十章:空间数据编辑-MAPEDITING实例剖析 第十一章:ARCCATALOG对象 第十二章:RASTER数据简介
6. **空间数据的符号化**:符号化是将数据可视化的关键步骤,它决定了地图的外观。本节会涉及符号的选择、颜色设定、大小调整等,以使数据以最直观的方式呈现。 7. **地图的输出**:包括打印和导出地图为不同格式,...
在实际项目中,我们可能需要处理大量数据,这就需要用到符号化规则(Symbolization Rules)。例如,可以使用IGeoFeatureLayer.Symbology属性设置分类符号,将数据按照某个字段的值进行分组,每组使用不同的符号。...