DotDensityRenderer
关键之处在于获取每个点所代表的的值 这里使用geodatabase类库中idatastatistic接口进行统计字段,再将结果传递给esrisysytem.istatisticsResult进行.
需用到引用
1 using ESRI.ArcGIS.Display; 2 using ESRI.ArcGIS.Carto; 3 using ESRI.ArcGIS.esriSystem; 4 using ESRI.ArcGIS.Geodatabase;
代码
1 private void dotToolStripMenuItem_Click(object sender, EventArgs e) 2 { 3 IGeoFeatureLayer pLayer = this.axMapControl1.get_Layer(0)as IGeoFeatureLayer; 4 ITable pTable = pLayer.FeatureClass as ITable; 5 IQueryFilter pQueryFilter=new QueryFilterClass(); 6 pQueryFilter.AddField("PERIMETER"); 7 ICursor pCursor = pTable.Search(pQueryFilter, true); 8 IDataStatistics pDataStatistics = new DataStatisticsClass(); 9 pDataStatistics.Cursor = pCursor;//数据来源 10 pDataStatistics.Field = "PERIMETER"; 11 IStatisticsResults pStatisticsResult = pDataStatistics.Statistics; 12 double Dvalues = (pStatisticsResult.Minimum+pStatisticsResult.Maximum)/10;//根据情况而定 13 14 IDotDensityRenderer pDotDensityRenderer=new DotDensityRendererClass(); 15 16 IRendererFields pRendererField = pDotDensityRenderer as IRendererFields; 17 pRendererField.AddField("PERIMETER", "PERIMETER"); 18 19 IDotDensityFillSymbol pDotDensityFillSymbol = new DotDensityFillSymbolClass(); 20 pDotDensityFillSymbol.DotSize =1; 21 pDotDensityFillSymbol.BackgroundColor = GetRgbColor(100, 100, 100); 22 pDotDensityFillSymbol.Color = GetRgbColor(255, 200, 0); 23 24 ISymbolArray pSymbolArray = pDotDensityFillSymbol as ISymbolArray; 25 ISimpleMarkerSymbol pMarkerSymbol = new SimpleMarkerSymbolClass(); 26 pMarkerSymbol.Color = GetRgbColor(255, 0, 0); 27 pMarkerSymbol.Style = esriSimpleMarkerStyle.esriSMSDiamond; 28 pMarkerSymbol.Size = 10; 29 pSymbolArray.AddSymbol(pMarkerSymbol as ISymbol); 30 31 pDotDensityRenderer.DotDensitySymbol = pDotDensityFillSymbol; 32 pDotDensityRenderer.DotValue = Dvalues; 33 pDotDensityRenderer.CreateLegend(); 34 35 pLayer.Renderer = pDotDensityRenderer as IFeatureRenderer; 36 this.axMapControl1.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeography, null, null); 37 this.axTOCControl1.Update(); 38 39 40 41 }
View Code
转载于:https://www.cnblogs.com/wfmm/p/3483436.html
DotDensityRenderer相关推荐
- 转:各种专题图实现的C#源代码
原文地址: http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=29166&extra=&page=1 private void 点密 ...
- ArcGIS Engine基础开发教程(转)
ArcGIS Engine基础开发教程(0)--目录 <ArcEngine9.3 基础开发教程>是面向初中级开发者的一份简单易用,功能全面的学习资料及参考文档.教程首先从如何来创建一个Ar ...
- [转] ArcEngine 产生专题图
小生原文 ArcEngine 产生专题图 ArcEngine提供多个着色对象用于产生专题图,可以使用标准着色方案,也可以自定义着色方案,ArcEngine提供8中标准着色方案. 一.SimpleRen ...
- 地理信息系统(GIS)系列——专题图
1.专题图简介 专题图是用于分析和表现数据的一种强有力的方式,用户可以通过使用专题图的方式将数据图形化,使数据以更直观的形式在地图上提现出来. 专题图种类 独立值专题图 点密度专题图 范围专题图 等级 ...
- ArcGIS Engine开发---图层符号化
使用ServerStyle 如果熟悉ArcGIS Desktop的使用,就会对Style符号库文件有所了解,相对应的在ArcGIS Engine开发中对应的是ServerStyle符号库,它的结构体系 ...
- ArcGIS Engine开发教程之图层符号化(四)——符号化之Renderer( 渲染)体系
符号化之Renderer( 渲染)体系 ArcGIS Engine9.3对GIS数据的符号化分为矢量数据渲染和栅格数据渲染两大类.接下来分别介绍FeatureRender和RasterRende ...
- 专题图制作(点密度图、分层设色图/等级图、单值图、柱状图、饼状图)
ArcEngine 专题图制作(C#) 点密度图.分层设色图/等级图.单值图.柱状图.饼状图的实现代码 C# private void 点密度图ToolStripMenuItem_Click(obje ...
- 符号化Symbol(符号)体系
符号化Symbol(符号)体系 ArcGIS Engine9.3为开发人员提供了32种符号,主要分为三大类符号MarkerSymbol(点符号). LineSymbol(线符号)和FillSymbol ...
- ArcGIS Server 问题
摘自ESRI公司网站. ------------------------------------------- 内容摘要 本指导描述了如何配置Windows XP SP2防火墙,使得ArcGIS Se ...
最新文章
- 深入理解 C 指针阅读笔记 -- 第二章
- SAP 电商云 Spartacus UI 出现 breaking change 时,如何用文字来描述
- 更改apk安装包对android系统等级要求
- 无状态Spring安全性第2部分:无状态身份验证
- python中最难的是什么_python什么的最难了
- 关于C++标准库中的数据抽象
- 2018百度之星程序设计大赛初赛B——1004p1m2
- 数据库多表查询时,返回值该如何接收问题
- 《具体数学》(二)和式
- 短视频平台、工具,新手在家用手机全程复制粘贴,一天收益247
- highcharts的柱状图显示数据
- python进行列联表卡方检验
- 怎样取消隐式推送_iPhone XS ios12系统隐式推送开启后怎么关闭
- 联想Y7000的屏幕亮度不能调节
- 风蚀侵蚀力计算在python上的实现
- 首届大连国际樱花节将启幕
- 人物-作家-马克·吐温:马克·吐温
- 汽车变速系统的换挡律
- (C70)第九夜:血色终结 Blood -over- 汉化补丁
- 2018有赞校招笔试题