1. 功能简介

分级渲染是矢量的一种数据表达方式。通过选取一个字段,并根据实际需要对字段的数据进行分级,并对每一级设置不同的符号,已达到区分显示的效果。

2. 功能实现说明

2.1. 实现思路及原理说明

第一步

实例化矢量分级渲染对象

第二步

设置分级渲染的字段

第三步

设置分级数

第四步

设置不同分级的值及对应的符号

第五步

矢量渲染器接口转换

第六步

矢量图层渲染赋值

2.2.  核心接口与方法

接口/类

方法

说明

Carto. IFeatureClassBreaksRender

Field

分级字段

ClassCount

分级数

SetBreak ()

设置分级对应数值

SetSymbol()

设置不同级别对应的符号

2.3. 示例代码

项目路径

百度云盘地址下/PIE示例程序/07图层渲染/02.矢量分级渲染

数据路径

百度云盘地址下/PIE示例数据/矢量数据/Shape/省级行政区.shp

视频路径

百度云盘地址下/PIE视频教程/07图层渲染/02.矢量分级渲染.avi

示例代码

 /// <summary>
/// 分级渲染方法
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void toolStripButton_Classify_Click(object sender, EventArgs e)
{
if (mapControlMain.ActiveView.CurrentLayer == null) return;
IFeatureLayer featureLayer = mapControlMain.ActiveView.CurrentLayer as IFeatureLayer;
if (featureLayer == null) return; //1、分级字段,根据实际情况进行修改
string classifyField ="Total_Coll";
//创建FeatureClassBreaksRender,设置参数
IFeatureClassBreaksRender featureClassBreaksRender = new FeatureClassBreaksRender();
featureClassBreaksRender.Field = classifyField; //设置渲染字段
featureClassBreaksRender.ClassCount = ;//设置分级数
featureClassBreaksRender.SortClassesAscending = true; //分级数、分级的值,根据实际情况自定义修改即可
//2、设置分级级别
featureClassBreaksRender.SetBreak(, );
featureClassBreaksRender.SetBreak(, );
featureClassBreaksRender.SetBreak(, ); //3、 定义简单填充符号
IFillSymbol fillSymbol0 = new SimpleFillSymbol();
fillSymbol0.Color = Color.FromArgb(, , );
IFillSymbol fillSymbol1 = new SimpleFillSymbol();
fillSymbol1.Color = Color.FromArgb(, , );
IFillSymbol fillSymbol2 = new SimpleFillSymbol();
fillSymbol2.Color = Color.FromArgb(, , ); //设置分级符号
featureClassBreaksRender.SetSymbol(, fillSymbol0);
featureClassBreaksRender.SetSymbol(, fillSymbol1);
featureClassBreaksRender.SetSymbol(, fillSymbol2); //4、设置分级标签
featureClassBreaksRender.SetLabel(, "第一级");
featureClassBreaksRender.SetLabel(, "第二级");
featureClassBreaksRender.SetLabel(, "第三级"); //5、进行渲染并刷 新
featureLayer.Render = featureClassBreaksRender as IFeatureRender;
mapControlMain.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll);
}

2.4. 示例截图

PIE SDK矢量分级渲染的更多相关文章

  1. PIE SDK矢量自定义渲染

    1. 功能简介 PIE SDK中关于矢量渲染提供了多种方案,包括简单渲染.分级渲染.唯一值渲染,这几种渲染方式具有一定的通用性,可以满足用户绝大多数的需求. 当面对复杂的业务,当前渲染方案无法满足用户 ...

  2. PIE SDK栅格分级渲染

    1.  功能简介 栅格数据分级渲染是根据不同的分级规则,对像元值进行等级划分:并通过对每一级设置不同的显示符号和标注信息,从而达到分级显示的效果. 2.功能实现说明 2.1. 实现思路及原理说明 第一 ...

  3. PIE SDK栅格RGB渲染

    1. 功能简介 RGB色彩模式是一种颜色标准,是通过对红(R).绿(G).蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红.绿.蓝三个通道的颜色,这个标准几乎包 ...

  4. PIE SDK矢量唯一值渲染

    1. 功能简介 图层的唯一值渲染即是根据矢量图层的某一个数值字段的属性值,按照值的不同大小设置不同的显示符号.属性数值相等的所有要素归为同一种类,即同一符号. 2. 功能实现说明 2.1. 实现思路及 ...

  5. PIE SDK矢量数据简单渲染

    1. 功能简介 PIE SDK对数据的符号化分为矢量数据渲染和栅格数据渲染两大类. 目前PIE SDK中针对矢量数据渲染包括简单渲染.唯一值渲染.分级渲染.自定义渲染:针对栅格数据渲染包括拉伸渲染.R ...

  6. PIE SDK地图图层渲染方案管理

    1. 功能简介 在数据种类较多.渲染规则复杂的情况下,逐个设置其渲染方式是一件繁琐的工作.PIE SDK提供了一种省力省心的办法, PIE SDK提供栅格和矢量数据渲染方案的打开与保存.能够将配色方案 ...

  7. PIE SDK矢量透明度、标注控制

    1. 功能简介 透明度和标注是矢量图层的相关属性:图层透明值是0-100间的整数,标注是显示在地图上的文字信息,它是出图中不可或缺的重要元素.标注的样式丰富,并且放置位置灵活. 2. 功能实现说明 2 ...

  8. PIE SDK栅格图层渲染变化事件监听

    1. 功能简介 通过PIE SDK加载图层后,会默认的赋值给数据一个渲染.当用户重新给数据赋值Render或改变数据显示效果时,会触发渲染变化事件. 所谓的事件监听是在事件触发时,将执行用户指定的函数 ...

  9. PIE SDK矢量数据项查看

    1. 功能简介 矢量数据由大量要素信息构成,矢量数据项查看可以看到数据的属性表,下面就基于PIE SDK,介绍矢量数据项查看功能的实现. 2. 功能实现说明 2.1. 实现思路及原理说明 第一步 加载 ...

随机推荐

  1. jQuery提供的存储接口

    jQuery.data( element, key, value ) //静态接口,存数据jQuery.data( element, key ) //静态接口,取数据 .data( key, valu ...

  2. cmake笔记

    注:cmake .   当前文件夹(一个点)   cmake .. 父目录(两个点) 例子一 一个经典的C程序,如何用cmake来进行构建程序呢? //main.c #include <stdi ...

  3. C# - dynamic 特性

    dynamic是FrameWork4.0的新特性.dynamic的出现让C#具有了弱语言类型的特性.编译器在编译的时候不再对类型进行检查,编译期默认dynamic对象支持你想要的任何特性. 比如,即使 ...

  4. C# static 字段初始值设定项无法引用非静态字段、方法或属性

    问题:字段或属性的问题字段初始值设定项无法引用非静态字段.方法 下面代码出错的原因,在类中定义的字段为什么不能用? public string text = test(); //提示 字段或属性的问题 ...

  5. C# 的 Task、Thread、ThreadPool 之间有什么异同?

    Thread就是Thread,需要自己调度,适合长跑型的操作. ThreadPool是Thread基础上的一个线程池,目的是减少频繁创建线程的开销.线程很贵,要开新的stack,要增加CPU上下文切换 ...

  6. 单链表倒数第K个节点的查找和显示

    1.使用一个固定长度队列装链表段,当遍历到链表根时,返回队列头元素. class Node{ int value; Node next; public Node(int value){ this.va ...

  7. 关于GNU规范的语法扩展

    GNU 是一款能用于构建类 Unix 操作系统的计算机软件合集,由自由软件之父 Richard Stallman 开创,于 1983 年 9 月 27 日对外发布.GNU 完全由自由软件(free s ...

  8. NSNotification 消息通知的3种方式

    1.Notification Center的概念: 它是一个单例对象,允许当事件发生时通知一些对象,让对象做出相应反应. 它允许我们在低程度耦合的情况下,满足控制器与一个任意的对象进行通信的目的. 这 ...

  9. LNMP(linux+nginx+mysql+php)服务器环境配置【转载】

    本文转载自 园友David_Tang的博客,如有侵权请联系本人及时删除,原文地址: http://www.cnblogs.com/mchina/archive/2012/05/17/2507102.h ...

  10. #首行输入数n,接下来输入n行数,以空格隔开

    #首行输入数n,接下来输入n行数,以空格隔开 n = int(raw_input())# print nL = []for i in range(n): L.append([int(x) for x ...