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. HttpSession相关API

    //获取Session对象 request.getSession() request.getSession(boolean create) //获取SessionId getId() //获取当前se ...

  2. JavaEE互联网轻量级框架整合开发(书籍)阅读笔记(7):装配SpringBean·依赖注入装配

    一.依赖注入的三种方式      在实际环境中实现IoC容器的方式主要分为两大类,一类是依赖查找,依赖查找是通过资源定位,把对应的资源查找回来.另一类则是依赖注入.一般而言,依赖注入可分为3中方式: ...

  3. db2 中 SQL判断物理表是否存在、修改表名

    1.db2 中 SQL判断物理表是否存在 SELECT * FROM SYSIBM.SYSTABLES WHERE TID <> 0 AND Name = 'TABLE_NAME' AND ...

  4. HTML5移动应用开发入门经典 中文pdf扫描版

    HTML5是关注度ZUI高的前沿Web技术,而移动互联网则是近两年ZUI炙手可热的Web领域.<HTML5移动应用开发入门经典>将这两者巧妙结合起来,详细讲解了如何利用HTML5进行移动应 ...

  5. Android ActionBar仿微信界面

    ActionBar仿微信界面 1.学习了别人的两篇关于ActionBar博客,在结合别人的文章来仿造一下微信的界面: 思路如下:1).利用ActionBar生成界面的头部,在用ActionBar的Ac ...

  6. C# worksheet设置Excel样式

    1.例子导出Excel的样式 样式代码 public void Exportdatagridviewtoexcel(string Textname) { SaveFileDialog savedial ...

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

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

  8. C#中如何向数组中动态添加元素

    转自:https://blog.csdn.net/qq_35938548/article/details/78325558 背景:现需要向数组中循环插入字符串,但C#中的数组是不支持动态添加元素的,只 ...

  9. vs2015+opencv3.3.1 实现 c++ 直方图均衡化

    //直方图均衡化 https://github.com/scutlzk #include <opencv2\highgui\highgui.hpp> #include <iostre ...

  10. day08.1-Linux软件包管理

    Linux系统中的两种软件包:tar,保存内容为源码,编译后再安装:rpm,保存内容为编译后的机器码,直接安装.其中,rpm软件包由5部分构成,分别为: 第1部分是name,表示这个rpm软件包的名称 ...