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. IIS身份验证知识摘录

    IIS 身份验证 ASP.NET 身份验证分为两个步骤.首先,Internet 信息服务 (IIS) 对用户进行身份验证,并创建一个 Windows 令牌来表示该用户.IIS 通过查看 IIS 元数据 ...

  2. SpringMVC——处理数据模型

    Spring MVC 提供了以下几种途径输出模型数据: ModelAndView: 处理方法返回值类型为 ModelAndView时, 方法体即可通过该对象添加模型数据 Map 及 Model: 入参 ...

  3. Ext JS v2.3.0 Ext.grid.ColumnModel renderer Record 获取列值

    场景:设置某一列的值,但是需要获取其他列的值 {"header": '<s:property value="name" />', "wid ...

  4. 排序算法汇总(java实现,附源代码)

    整理系统的时候发现了原来写的各种算法的总结,看了一下,大吃一惊,那时候的我还如此用心,具体的算法,有的已经模糊甚至忘记了,看的时候就把内容整理出来,顺便在熟悉一下,以后需要的时候就可以直接过来摘抄了. ...

  5. JS判断键盘是否按了F5刷新

    <script type="text/javascript"> $(function () { $(document).keydown(function (event) ...

  6. Spring中的用到的设计模式

    应该说设计模式是我们在写代码时候的一种被承认的较好的模式.好的设计模式就像是给代码造了一个很好的骨架,在这个骨架里,你可以知道心在哪里,肺在哪里,因为大多数人都认识这样的骨架,就有了很好的传播性.这是 ...

  7. 解决golang windows调试问题:Could not determine version number: could not find symbol value for runtime.buildVersion

    版本信息: go:1.8.3 windows: win7/64 idea-go-plugin:171.4694.61 在windows下,使用dlv进行调试的时候,如果golang程序引入了c模块,比 ...

  8. [Win32::Console]Perl终端版生命游戏

    环境,WinXP/Win7  Perl 5.16 默认循环1000次,按ESC提前退出 use strict; use Term::ReadKey; use Win32::Console; use T ...

  9. mysql相关的软件

    数据库采用mysql,那么问题来了,mysql的部署是采用主备模式?主主模式?集群模式?在然后采取分库.分表模式? 其次:在外围的辅助开源软件的选择mycat?mybatis?keepalived?r ...

  10. ajax的get,post ,封装

    let ajax = new Object(); ajax.get = function(url,fn){ //创建ajax对象 let xhr = new XMLHttpRequest(); //与 ...