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. Django框架 之 Pagination分页实现

    Django框架 之 Pagination分页实现 浏览目录 自定义分页 Django内置分页 一.自定义分页 1.基础版自定义分页 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...

  2. OSG3.2+Qt5.2.1+VS2012+OSGEarth 2.5编译问题记录

    问题1:CMake Error at D:/Qt/Qt5.2.1/5.2.1/msvc2012_64_opengl/lib/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake: ...

  3. javascrip总结12:逻辑运算符与等号运算符

    1 逻辑运算符 逻辑运算的结果只有true 或者 false. 1.1 与&&: 两个表达式为true的时候,结果为true. 1.2 或|| 只要有一个表达式为true,结果为tru ...

  4. Bitmap类、BitmapFactory及BitmapFactory类中的常用方法

    1.Bitmap 1.1非静态方法 public void recycle()——回收位图占用的内存空间,把位图标记为Dead public final boolean isRecycled() —— ...

  5. HTML <area> 标签区域map标签

    1.距形:(左上角顶点坐标为(x1,y1),右下角顶点坐标为(x2,y2)) <area shape="rect" coords="x1,y1,x2,y2" ...

  6. C# System.Threading.Timer 定时器

    前提: 需要引入  System.Threading: 描述: 在很多时间我们都需要进行延迟执行,或是定时执行一些指定业务,这个时候使用 Timer 是最合适的,而且 Timer 是Cpu 级别处理对 ...

  7. WinForm 中使用 Action 子线程对主线程 控制进行访问

    /// <summary> /// 开启新线程执行 /// </summary> /// <param name="sender"></p ...

  8. day7学python 初识简单模板

    初识简单模板 模块与包 1.模块:用来从逻辑上组织python代码(变量,函数,类,逻辑:实现功能),本质是.py结尾的文件 但导入的模块名,无.py 2.包:从逻辑上组织模块,本质就是目录(含有_i ...

  9. python中一些算法数列

    斐波那契数列: 1 def fn(n): 2 if n==1: 3 return 1 4 elif n==2: 5 return 1 6 else: 7 return fn(n-1)+fn(n-2) ...

  10. Mysql的用户基本操作

    创建用户: mysql> create user 'cai'@'localhost' identified by '123456'; Query OK, 0 rows affected (0.0 ...