AE分级渲染
分级渲染classbreakrenderer位于carto类库中,进行分级渲染时,首先要将相应图层按照某一Field分级。可使用esrisystem类库中的iclassifyGEN类的classify进行分类
private ISymbol GetSymbol(IColor pColor)
{
ISymbol pSymbol;
ISimpleFillSymbol pSymbolFillSymbol = new SimpleFillSymbolClass();
pSymbolFillSymbol.Color = pColor;
pSymbol = pSymbolFillSymbol as ISymbol;
return pSymbol;
} private void classBreakRendererToolStripMenuItem_Click(object sender, EventArgs e)
{
double[] classes;
IGeoFeatureLayer pGeoFeatureLayer = this.axMapControl1.get_Layer() as IGeoFeatureLayer;
ITable pTable = pGeoFeatureLayer.FeatureClass as ITable;//Itable接口位于Geodabase类库中
ITableHistogram pTableHistogram = new BasicTableHistogramClass();
IBasicHistogram pBasicHistogram = pTableHistogram as IBasicHistogram;
pTableHistogram.Field = "PERIMETER";
pTableHistogram.Table = pTable;
object dataValues;
object dataFrequent; pBasicHistogram.GetHistogram(out dataValues, out dataFrequent);//获取FeatureClass中的dataValues和datafrequent IClassifyGEN pClassifyGEN = new EqualIntervalClass(); int classCount = ;
pClassifyGEN.Classify(dataValues, dataFrequent, ref classCount);//根据上面的dataValues和datafrequent进行分级,分级数为classcout classes = (double[])pClassifyGEN.ClassBreaks;//获取分段点 IClassBreaksRenderer pClassBreakRenderer = new ClassBreaksRenderer();
pClassBreakRenderer.BreakCount = ;//断点数
pClassBreakRenderer.Field = "PERIMETER";
pClassBreakRenderer.SortClassesAscending = true;//按顺序排列 IAlgorithmicColorRamp pColorRamp = new AlgorithmicColorRampClass();
IRgbColor pRgbColor1 = new RgbColorClass();
IRgbColor pRgbColor2 = new RgbColorClass();
pRgbColor1.Red = ;
pRgbColor1.Green = ;
pRgbColor1.Blue = ;
pRgbColor2.Red = ;
pRgbColor2.Green = ;
pRgbColor2.Blue = ;
pColorRamp.FromColor = pRgbColor2;
pColorRamp.ToColor = pRgbColor1;
pColorRamp.Size = ;//颜色带范围
bool ok=true;
pColorRamp.CreateRamp(out ok);
IEnumColors pEnumColors = pColorRamp.Colors;
for (int i = ; i < classCount; i++)
{
IColor pColor = pEnumColors.Next();
ISymbol pSymbol = GetSymbol(pColor); pClassBreakRenderer.set_Symbol(i, pSymbol);
pClassBreakRenderer.set_Label(i, classes[i].ToString() + "-" + classes[i + ].ToString());
pClassBreakRenderer.set_Break(i, classes[i+]); }
pGeoFeatureLayer.Renderer = pClassBreakRenderer as IFeatureRenderer;
this.axMapControl1.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeography, null, null);
axTOCControl1.Update(); }
过程中需要注意的:1、分级和渲染的具体字段需指明,本例以PERIMETER字段分级和渲染 2、颜色带的size需具体指定
AE分级渲染的更多相关文章
- AE开发中栅格图层实现分级渲染
GP工具IDW执行后,生成的栅格图层是黑白二色,需要手动进行分级渲染,似乎不是所有栅格图层都可以进行分级渲染,注意异常处理.注意ARCMAP中是有颜色的,无需自己处理. IRasterClassify ...
- PIE SDK矢量分级渲染
1. 功能简介 分级渲染是矢量的一种数据表达方式.通过选取一个字段,并根据实际需要对字段的数据进行分级,并对每一级设置不同的符号,已达到区分显示的效果. 2. 功能实现说明 2.1. 实现思路及原理说 ...
- PIE SDK栅格分级渲染
1. 功能简介 栅格数据分级渲染是根据不同的分级规则,对像元值进行等级划分:并通过对每一级设置不同的显示符号和标注信息,从而达到分级显示的效果. 2.功能实现说明 2.1. 实现思路及原理说明 第一 ...
- ArcGIS api for javascript——渲染-使用分级渲染
描述 本例使用一个分级渲染通过人口密度用符号表示Kansas.代码明确地增加类并为每一个定义颜色.使用ClassBreaksRenderer.addBreak()方法定义类,参数是在类中包含的最大值和 ...
- AE工程渲染的时间缓慢,两种方法减少对AE工程渲染的时间!
AE工程渲染的时间缓慢,两种方法减少对AE工程渲染的时间!3秒的片头,渲染时间竟然要花1个多小时,很多新手都产生过这样的疑问?是哪里不对吗?如何才能减少渲染视频的时间?且听我一一道来.主要原因是:工程 ...
- AE 栅格图分级渲染
ArcEngine对矢量数据进行风格化实在是得心应手,同样的对于栅格图像也能进行风格化!以前没接触过,今天正好需要,做出了栅格图像的渲染!下面实现的思路: 1.定义渲染的一系列接口 2.判断图像是否建 ...
- ArcEngine:栅格分级渲染
ArcEngine对矢量数据进行风格化实在是得心应手,同样的对于栅格图像也能进行风格化!以前没接触过,今天正好需要,做出了栅格图像的渲染!下面实现的思路: 1.定义渲染的一系列接口 2.判断图像是否建 ...
- [转] AE之分级颜色专题图渲染
原文 AE之分级颜色专题图渲染 参考代码1 private void 分级渲染ToolStripMenuItem_Click(object sender, EventArgs e) { //值分级 I ...
- ArcGIS api for javascript——渲染-计算相等间隔分级
描述 本例展示了如何配置分级渲染使用一个相等间隔分类.在这个分类类型中,断点被设置为相等的距离. 可以手工添加相等距离的断点:然而,如果数据被修改了,那些断点就会是不合理的.本例自动地计算断点,因此相 ...
随机推荐
- TortoiseSVN上次文件显示被锁定
1.可以使用SVN clean up来清除锁定. 2.如果不是本目录锁定,系统提示上一层目录锁定,需要到上一层或者根目录中清除. 3.如果在根目录下都无法clean的话,一般采取的方法是另外找一个目录 ...
- arry()数组的理解及api的使用(一)
我们想要了解数组,首先就要先要了解到什么是数据结构,所谓的数据结构就是把数据与数据见的关系按照特定的结构来保存.设计合理的数据结构是解决问题的前提.了解了数据结构后我们下面来数组的定义:数组(arra ...
- DOM之节点|属性
1.查询文档的一个或多个元素有如下方法 a. 用指定的id属性:(若一个文档中有两个相同的id,只会选择第一个;在低于IE8的IE中,getElementById()对匹配元素的ID不区分大小写,而且 ...
- C# ITextSharp pdf 自动打印
PDF生成后直接进入打印预览不用下载 using iTextSharp.text; using iTextSharp.text.pdf; Document pdfDoc = new Document( ...
- 转载 50种方法优化SQL Server数据库查询
原文地址 http://www.cnblogs.com/zhycyq/articles/2636748.html 50种方法优化SQL Server数据库查询 查询速度慢的原因很多,常见如下几种: 1 ...
- 升级10.11后使用CocoaPod出现-bash: pod: command not found 解决办法-备
升级10.11后,运行pod命令出现: -bash: pod: command not found 解决办法: sudo gem install -n /usr/local/bin cocoapods ...
- POJ 2653 Pick-up sticks(线段相交)
题意:给定n个木棍依次放下,要求最终判断没被覆盖的木棍是哪些. 思路:快速排斥以及跨立实验可以判断线段相交. #include<algorithm> #include<cstdio& ...
- VS2010的openssl源码编译方法
http://download.csdn.net/download/soucula/9591308
- 《Programming WPF》翻译 第8章 6.我们进行到哪里了?
原文:<Programming WPF>翻译 第8章 6.我们进行到哪里了? 动画可以增强应用程序的交互感.它有利于更平滑的转换--当条目出现或消失的时候.它应该,当然,被用于体验和重新着 ...
- Powershell变量的类型和强类型
Powershell变量的类型和强类型12 12月, 2011 在 Powershell tagged Powershell教程 / 变量 / 存储 / 数据 / 类型 by Mooser Lee ...