`
hi_ajg
  • 浏览: 82974 次
  • 来自: 北京
社区版块
存档分类
最新评论

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();
        }

 

      执行效果:

 

  • 大小: 16.6 KB
分享到:
评论

相关推荐

    利用ArcObjects组件技术实现图层的分类符号化.pdf

    ### 利用ArcObjects组件技术实现图层的分类符号化 #### 一、引言 随着地理信息系统(GIS)技术的不断发展,ArcGIS作为ESRI公司的一款强大的GIS软件,在地图制作、数据分析等领域得到了广泛的应用。ArcObjects(AO...

    ArcObjects对象模型图

    通过ArcObjects,开发者可以深入到GIS功能的核心,实现高度定制化的工作流程和应用程序。 在对象模型图中,我们可以看到以下几个关键的知识点: 1. **基础接口**:如IGeometry、IFeature、IRaster等,这些接口定义...

    论文研究-基于ArcObjects组件式扩展的标准化地图制图实现.pdf

    实现标准化地图制图,需要考虑地图设计的要素和规则,比如符号化、色彩使用、图例、比例尺、投影方式等,同时也要符合相关的国家标准和行业规范。 在实现标准化地图制图的过程中,ArcObjects组件式扩展方法展现了...

    基于ArcGIS+Engine的符号化研究与实现

    1. **使用 ArcObjects API 进行编程**:通过 ArcObjects 提供的 API,可以直接操作地图层和符号对象,从而实现符号化效果。 2. **利用 Visual Basic for Applications (VBA)**:对于熟悉 VBA 的开发者来说,可以...

    地理信息系统开发:ArcObjects方法

    本文的知识点将围绕ArcObjects开发展开,详细介绍其基本概念、数据支持、地图图层控制、符号化以及空间分析等关键方面。 ### ArcObjects概述 ArcObjects是ArcGIS软件的核心技术,它包括一系列用COM技术实现的组件...

    地理信息系统开发-ArcObjects方法(1)

    书中在讲述利用Arcobjects实现GIS功能的基础上,重点介绍了在Arcobjects环境下空间数据的符号化显示、空间分析、三维显示和三维分析、空间数据管理等功能的实现方法。每个章节对应一个具体的GIS功能,先介绍概念,...

    地理信息系统开发-ArcObjects方法(2)

    书中在讲述利用Arcobjects实现GIS功能的基础上,重点介绍了在Arcobjects环境下空间数据的符号化显示、空间分析、三维显示和三维分析、空间数据管理等功能的实现方法。每个章节对应一个具体的GIS功能,先介绍概念,...

    addmap.rar_ArcObjects_MFC 地图开发_MapObjects 导航_mapobject_电子地图

    电子地图的开发涉及地图数据的处理、投影变换、符号化显示等多个方面。在这个项目中,开发者已经成功实现了加载电子地图的功能,这可能包括地图瓦片的加载、坐标系统的处理等技术。 压缩包中的“www.pudn.com.txt”...

    ArcObjects

    - 符号系统:ArcObjects提供了ISymbol和ISimpleRenderer接口,用于定义地图要素的显示样式,包括颜色、线型、填充图案等。 - 动态图层:利用ILayer和IMapControl接口,可以动态加载、移除图层,控制图层的可见性、...

    Exploring ArcObjects

    3. **制图技术**:详细介绍如何使用ArcObjects创建高质量的地图,包括符号化、布局设计等方面。 4. **空间分析**:讲解如何运用ArcObjects提供的工具进行空间数据分析,如网络分析、地形分析等。 5. **案例研究**:...

    地理信息系统:开发ArcObjects方法

    使用ArcObjects可以进行地图的符号化显示、空间数据分析、三维显示和分析、空间数据管理等多种GIS功能的实现。 #### ArcObjects的特点和功能 ArcObjects的特点体现在它提供的是一系列可复用的、高度模块化的组件,...

    ArcObjects 概念及体系架构

    了解ArcObjects,你需要知道它能实现的功能非常广泛,包括空间数据的显示、查询、编辑、分析,创建专题图和统计报表,高级的制图和输出,以及空间数据的管理和维护。此外,ArcObjects还允许开发者将GIS功能集成到第...

    ArcEngine,ArcObjects入门程序源代码

    在GIS领域,VB被广泛用来创建定制化的GIS工具和解决方案,利用其丰富的库函数和API调用能力,可以实现对ArcEngine和ArcObjects的强大控制。 ### 具体代码解析 #### 标准模块:识别地图点 在代码片段中,`Sub ...

    arcobjects开发指南

    5. **地图显示与制图**:讲解如何使用ArcObjects创建地图,管理图层,进行符号化和标注,以及打印和导出地图。 6. **用户界面设计**:讨论如何使用ArcObjects构建自定义用户界面,包括控件、菜单、工具条和对话框的...

    基于VBA的ARCOBJECTS编程源码

    5. 地图对象和层:ARCOBJECTS允许创建和操作地图对象,包括添加、删除和管理图层,设置比例尺,调整图层顺序,以及应用符号系统。VBA可以控制地图的显示和打印,以及创建动态的地图服务。 6. 编程模型:ARCOBJECTS...

    基于C#的ArcObjects开发

    这个主要是基于C#的开发平台,...第六章:空间数据的符号化 第七章:地图的输出 第八章:空间数据管理 第九章:空间分析 第十章:空间数据编辑-MAPEDITING实例剖析 第十一章:ARCCATALOG对象 第十二章:RASTER数据简介

    ArcObjects GIS应用开发——基于C#.NET

    6. **空间数据的符号化**:符号化是将数据可视化的关键步骤,它决定了地图的外观。本节会涉及符号的选择、颜色设定、大小调整等,以使数据以最直观的方式呈现。 7. **地图的输出**:包括打印和导出地图为不同格式,...

    ARCENGINE地图符号编程

    在实际项目中,我们可能需要处理大量数据,这就需要用到符号化规则(Symbolization Rules)。例如,可以使用IGeoFeatureLayer.Symbology属性设置分类符号,将数据按照某个字段的值进行分组,每组使用不同的符号。...

Global site tag (gtag.js) - Google Analytics