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 ...
随机推荐
- 未能的导入项目,请确认<Import>声明中的路径正确
对于这样的错误,根据提示应该是项目的管理文件(.csproj)中有问题.找到对应的位置修改即可
- 【Solr初探】Solr安装,启动,查询,索引
1. 安装&启动 官网:http://lucene.apache.org/solr/ 下载源代码,解压,进入根目录(我把solr放在/usr/local/solr下) 在/usr/local/ ...
- mysql查询分组归类函数-group_concat,通常与group_by一起使用
select a.`name`,group_concat(b.name SEPARATOR'.') as persons from `group` as a,`person` as b,`person ...
- WCF入门教程系列四
一.概述 配置也是WCF编程中的主要组成部分.在 以往的.net应用程序中,我们会把DBConn和一些动态加载类及变量写在配置文件里.但WCF有所不同.他指定向客户端公开的服务,包括服务的地址. 服务 ...
- Selenium webdriver 截图 太长截不全的问题
Selenium webdriver 截图 太长截不全的问题 1.环境 selenium webdriver.net 2.46.0.0 + firefox 37.0.1 + win 8.1 2.问题 ...
- C#检测串口被拔掉等一些触发事件合集
// //设备异常重载 // protected override void WndProc(ref Message m) { if (m.Msg == 0x0219) {//设备被拔出 if (m. ...
- MFC中使用ADO方式连接数据库
文章转自:http://blog.sina.com.cn/s/blog_a43aba5601014z8h.html 一.数据库操作准备 1.导入ADO动态链接库 在工程的stdafx.h中加入如下语句 ...
- ORA-00845: MEMORY_TARGET not supported
Enabling Automatic Memory Management alter system set memory_max_target=50G scope=spfile; alter syst ...
- 一篇详细的 Mysql Explain 详解
一.语法 explain < table_name > 例如: explain select * from t3 where id=3952602; 二.explain输出解释 +—-+— ...
- vim 多行注释
多行注释: 1. 进入命令行模式,按ctrl + v进入 visual block模式,然后按j, 或者k选中多行,把需要注释的行标记起来 2. 按大写字母I,再插入注释符,例如// 3. 按esc键 ...