1. 功能简介

PIE SDK对数据的符号化分为矢量数据渲染和栅格数据渲染两大类。

目前PIE SDK中针对矢量数据渲染包括简单渲染、唯一值渲染、分级渲染、自定义渲染;针对栅格数据渲染包括拉伸渲染、RGB渲染、分级渲染、唯一值渲染。

简单渲染是PIE SDK针对矢量数据的默认渲染方案,打开一个FeatureLayer的时候,如果没有给FeatureLayer设置Render属性。那么使用的就是简单渲染。简单渲染对整个图层中的所有要素使用同一种方式显示。

2. 功能实现说明

2.1. 实现思路及原理说明

第一步

创建简单渲染对象。

第二步

根据图层的类型,实例化不同的符号,设置符号对象的相应属性

第三步

矢量渲染器接口转换

第四步

矢量图层渲染赋值

2.2. 核心接口与方法

接口/类

方法/属性

说明

Carto.IFeatureSimpleSymbolRender

Smbol

获取或设置symbol

Carto.IFeatureRender

Render

设置或获取渲染方式

Carto.ISimpleMarkerSymbol

Style

设置或获取显示的Style

Size

设置或获取Size

Color

设置或获取Color

Carto. IMarkerSymbol

Style

设置或获取Style

Size

设置或获取Size

Color

设置或获取Color

Carto. ISimpleLineSymbol

Style

设置或获取Style

Width

设置或获取线的Width

Color

设置或获取Color

Carto. ILineSymbol

Style

设置或获取Style

Wdth

设置或获取线的Width

Color

设置或获取Color

Carto.ISimpleFillSymbol

Stytle

设置或获取Style

Carto. IFillSymbol

OutlineSymbol

设置或获取填充轮廓线的样式

2.3. 示例代码

项目路径

百度云盘地址下/PIE示例程序/07图层渲染/01.矢量数据简单渲染

数据路径

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

视频路径

百度云盘地址下/PIE视频教程/07图层渲染/01.矢量数据简单渲染.avi

示例代码

 方法(一)
//判断当前是否有选中图层
if (mapControlMain.ActiveView.CurrentLayer == null)
return;
//选中的图层是否为矢量图层
IFeatureLayer featureLayer = mapControlMain.ActiveView.CurrentLayer as IFeatureLayer;
if (featureLayer == null)
return; //根据点线面进行渲染
IFeatureSimpleSymbolRender render = new FeatureSimpleSymbolRender();//简单渲染对象
GeometryType geometryType = featureLayer.FeatureClass.GetGeomType();//图层类型
if (geometryType == GeometryType.GeometryPoint)
{
//简单点符号
ISimpleMarkerSymbol mark = new SimpleMarkerSymbol();
mark.Style = SimpleMarkerStyle.SMSCross; IMarkerSymbol markSymbol = mark as IMarkerSymbol;
markSymbol.Size = ;
markSymbol.Color = System.Drawing.Color.Brown;
render.Symbol = markSymbol as ISymbol;
}
else if (geometryType == GeometryType.GeometryPolyline)
{
//设置简单线符号
ISimpleLineSymbol simpleLineSymbol = new SimpleLineSymbol();
simpleLineSymbol.Style = SimpleLineStyle.SLSDashDot; ILineSymbol lineSymbol = simpleLineSymbol as LineSymbol;
lineSymbol.Color = System.Drawing.Color.Red;
lineSymbol.Width = ;
lineSymbol.Join = LineJoinStyle.LJSBevel;
lineSymbol.Cap = LineCapStyle.LCSRound;
render.Symbol = simpleLineSymbol as ISymbol;
}
else if (geometryType == GeometryType.GeometryPolygon)
{
//设置简单线符号
ISimpleLineSymbol simpleLSymbol = new SimpleLineSymbol();
simpleLSymbol.Style = SimpleLineStyle.SLSDashDot;
ILineSymbol lineSymbol = simpleLSymbol as LineSymbol;
lineSymbol.Color = System.Drawing.Color.Red;
lineSymbol.Width = ;
lineSymbol.Join = LineJoinStyle.LJSBevel;
lineSymbol.Cap = LineCapStyle.LCSRound; // 定义简单填充符号
ISimpleFillSymbol simpleFillSymbol = new SimpleFillSymbol();
simpleFillSymbol.Style = SimpleFillStyle.SFSDense6Pattern;
IFillSymbol fillSymbol = simpleFillSymbol as FillSymbol;
//设置轮廓线样式
fillSymbol.OutlineSymbol = lineSymbol;
render.Symbol = simpleFillSymbol as ISymbol;
}
//Render对象赋值
IFeatureRender featureRender = render as IFeatureRender;
featureLayer.Render = featureRender;
mapControlMain.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll);

2.4. 示例截图

PIE SDK矢量数据简单渲染的更多相关文章

  1. PIE SDK栅格RGB渲染

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

  2. PIE SDK矢量自定义渲染

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

  3. PIE SDK矢量分级渲染

    1. 功能简介 分级渲染是矢量的一种数据表达方式.通过选取一个字段,并根据实际需要对字段的数据进行分级,并对每一级设置不同的符号,已达到区分显示的效果. 2. 功能实现说明 2.1. 实现思路及原理说 ...

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

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

  5. PIE SDK矢量数据的读取

    1.功能简介 GIS将地理空间数据表示为矢量数据和栅格数据.矢量数据模型使用点.线和多边形来表示具有清晰空间位置和边界的空间要素,如控制点.河流和宗地等,每个要素被赋予一个ID,以便与其属性相关联.栅 ...

  6. PIE SDK矢量数据的修改

    1.功能简介 目前PIE SDK支持矢量数据的修改或删除,下面对矢量数据的投影转换功能进行介绍. 2.功能实现说明 2.1. 矢量数据的修改 2.2. 实现思路及原理说明 第一步 获取需要修改的矢量数 ...

  7. PIE SDK矢量数据的投影转换

    1. 功能简介 目前在地理信息领域中数据包括矢量和栅格两种数据组织形式 ,每一种数据都可以对投影进行转换,目前PIE SDK支持矢量和栅格数据的投影转换功能,下面对矢量数据的投影转换功能进行介绍. 2 ...

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

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

  9. PIE SDK栅格拉伸渲染

    1. 功能简介 栅格数据拉伸渲染是对指定的波段进行图像拉伸,并设置拉伸之后的颜色带,根据像元值和颜色带进行数据渲染. 2. 功能实现说明 2.1. 实现思路及原理说明 第一步 实例化拉伸渲染对象示例 ...

随机推荐

  1. 防止SQL注入方法总结

    一.参数化SQL 是指在设计与数据库链接并访问数据时,在需要填入数值或数据的地方,使用参数 (Parameter) 来给值,用@来表示参数. 在使用参数化查询的情况下,数据库服务器不会将参数的内容视为 ...

  2. initWithFrame 和 initWithCoder 区别?

    当我们所写的程序里用代码创建控制视图内容,需要调用initWithFrame去初始化 - (id)initWithFrame:(CGRect)frame { if (self =[superinitW ...

  3. HYSBZ 1036 树的统计Count (水题树链剖分)

    题意:中文题. 析:就是直接维护一个最大值和一个和,用线段树维护即可,这个题很简单,但是我卡了一晚上,就是在定位的时候,位置直接反过来了,但是样例全过了...真是... 代码如下: #pragma c ...

  4. C语言编程学习:链表的来源分析

    C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现 ...

  5. EFCore扩展Select方法(根据实体定制查询语句)

    EFCore扩展Select方法(根据实体定制查询语句)  通常用操作数据库的时候查询返回的字段是跟 我们的定义的实体是不一致的,所以往往针对UI或者接口层创建大量的Model, 而且需要手动对应字段 ...

  6. 201621123012 《Java程序设计》第6周学习总结

    1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图或相关笔记,对面向对象思想进行一个总结. 注1:关键词与内容不求多,但概念之间的联系要清晰 ...

  7. 如何处理html中的内联元素之间水平空隙

    写HTML时把需要紧挨着的内联元素写在一行,设置其父容器的font-size为0,再设置内联元素的字体大小,例如: <!DOCTYPE html> <html lang=" ...

  8. Spring AOP的实现机制

    AOP(Aspect Orient Programming),一般称为面向切面编程,作为面向对象的一种补充,用于处理系统中分布于各个模块的横切关注点,比如事务管理,日志,缓存等等.AOP 实现的关键在 ...

  9. PHP选项和运行

    PHP运行模式 五大运行模式 1.cgi 通用网关接口 2.fast-cgi cgi升级 3.cli (Command Line Interface) 4.isapi 微软提供的面向Internet服 ...

  10. 微信小程序HTTPS - cenos apache 下安装SSL证书

    1.yum install mod_ssl 2.接下来,我们需要创建一个新目录,我们将存储服务器密钥和证书 mkdir /root/ssl 3.vi /etc/httpd/conf.d/ssl.con ...