DotDensityRenderer
关键之处在于获取每个点所代表的的值 这里使用geodatabase类库中idatastatistic接口进行统计字段,再将结果传递给esrisysytem.istatisticsResult进行.
需用到引用
using ESRI.ArcGIS.Display;
using ESRI.ArcGIS.Carto;
using ESRI.ArcGIS.esriSystem;
using ESRI.ArcGIS.Geodatabase;
代码
private void dotToolStripMenuItem_Click(object sender, EventArgs e)
{
IGeoFeatureLayer pLayer = this.axMapControl1.get_Layer()as IGeoFeatureLayer;
ITable pTable = pLayer.FeatureClass as ITable;
IQueryFilter pQueryFilter=new QueryFilterClass();
pQueryFilter.AddField("PERIMETER");
ICursor pCursor = pTable.Search(pQueryFilter, true);
IDataStatistics pDataStatistics = new DataStatisticsClass();
pDataStatistics.Cursor = pCursor;//数据来源
pDataStatistics.Field = "PERIMETER";
IStatisticsResults pStatisticsResult = pDataStatistics.Statistics;
double Dvalues = (pStatisticsResult.Minimum+pStatisticsResult.Maximum)/;//根据情况而定 IDotDensityRenderer pDotDensityRenderer=new DotDensityRendererClass(); IRendererFields pRendererField = pDotDensityRenderer as IRendererFields;
pRendererField.AddField("PERIMETER", "PERIMETER"); IDotDensityFillSymbol pDotDensityFillSymbol = new DotDensityFillSymbolClass();
pDotDensityFillSymbol.DotSize =;
pDotDensityFillSymbol.BackgroundColor = GetRgbColor(, , );
pDotDensityFillSymbol.Color = GetRgbColor(, , ); ISymbolArray pSymbolArray = pDotDensityFillSymbol as ISymbolArray;
ISimpleMarkerSymbol pMarkerSymbol = new SimpleMarkerSymbolClass();
pMarkerSymbol.Color = GetRgbColor(, , );
pMarkerSymbol.Style = esriSimpleMarkerStyle.esriSMSDiamond;
pMarkerSymbol.Size = ;
pSymbolArray.AddSymbol(pMarkerSymbol as ISymbol); pDotDensityRenderer.DotDensitySymbol = pDotDensityFillSymbol;
pDotDensityRenderer.DotValue = Dvalues;
pDotDensityRenderer.CreateLegend(); pLayer.Renderer = pDotDensityRenderer as IFeatureRenderer;
this.axMapControl1.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeography, null, null);
this.axTOCControl1.Update(); }
DotDensityRenderer的更多相关文章
- ArcGIS Engine渲染
符号化之Renderer( 渲染)体系 ArcGIS Engine9.3对GIS数据的符号化分为矢量数据渲染和栅格数据渲染两大类.接下来分别介绍FeatureRender和RasterRender. ...
- ae专题图
点密度图.分层设色图/等级图.单值图.柱状图.饼状图的实现代码 C# private void 点密度图ToolStripMenuItem_Click(object sender, EventArgs ...
- [转] ArcEngine 产生专题图
小生原文 ArcEngine 产生专题图 ArcEngine提供多个着色对象用于产生专题图,可以使用标准着色方案,也可以自定义着色方案,ArcEngine提供8中标准着色方案. 一.SimpleRen ...
- [转] Symbol对象
GIS中的离散实体有三种:点.线.面,在ArcEngine中用三种符号对应表示,分别是:MarkSymbol.LineSymbol和FillSymbol.此外还有TextSymbol用于文字标注,3D ...
- c#+arcAE对图层进行各种渲染操作
转载:http://blog.sina.com.cn/s/blog_6023833e0100t5t0.html using System;using System.Collections.Generi ...
- ArcGIS Engine专题地图渲染器的实现(入门版)
专题地图(Thematic Map)是着重表示一种或数种自然要素特征或社会经济现象的地图 专题地图的内容由两部分构成: 1.专题内容——图上突出表示的自然或社会经济现象及其有关特征 2.地理基础——用 ...
- arcgis点密度专题
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- ArcGIS Server 动态图层发布调用图解
目录 1 前言 1.1 简介 1.2 适用场景 2 动态图层 2.1 共享地图服务 2.2 动态工作空间添加 2.2.1 企业级数据库 2.2.2 shapefile文件夹 2.2.3 栅格文件夹 2 ...
随机推荐
- Struts2上传文件
jsp: <form action="file_upload.action" method="post" enctype="multipart/ ...
- Javascript进阶篇——(DOM—节点---获取浏览器窗口可视区域大小+获取网页尺寸)—笔记整理
浏览器窗口可视区域大小获得浏览器窗口的尺寸(浏览器的视口,不包括工具栏和滚动条)的方法:一.对于IE9+.Chrome.Firefox.Opera 以及 Safari: • window.innerH ...
- VS2010 rdlc 被除数为0 显示错误号
=Sum(Fields!ROCKNUM.Value/Fields!SEND.Value*100) 当Fields!SEND.Value为0或者空时,显示错误号 修改: =IIF(isnothing(F ...
- Ztree中simpleData是怎么转换成标准ztree数组对象的
今天遇到一个自己构造树的情况,树是动态的,预先不知道根节点,用的是easyUI中的tree,于是参考了下Ztree中的实现,恍然大悟,遂记之: transformTozTreeFormat: func ...
- The Definitive C++ Book Guide and List
学习c++的书单 转自 http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list Beginner ...
- PC机安装android apk | adb install -r
PC 下载 *****.apk 通过adb直接安装到android系统
- 最长公共子序列--nyoj36
最长公共子序列 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 咱们就不拐弯抹角了,如题,需要你做的就是写一个程序,得出最长公共子序列.tip:最长公共子序列也称作最 ...
- AngularJS实现表单手动验证和表单自动验证
AngularJS的表单验证大致有两种,一种是手动验证,一种是自动验证.一.手动验证 所谓手动验证是通过AngularJS表单的属性来验证.而成为AngularJS表单必须满足两个条件: 1.给for ...
- No.5 表达式中的陷阱
1. 关于字符串的陷阱 JVM对字符串的处理 String java = new String("Java"); 创建了几个对象? 2个."Java"直接量对应 ...
- 5W1H分析法
"5W1H分析法"也叫"六何分析法",它是一种分析方法也可以说是一种创造技法.是对选定的项目.工序和操作,都要从原因(Why).对象(What).地点(Wher ...