PIE SDK矢量比例符号渲染

1.功能简介

比例符号渲染功能与点密度符号渲染功能类似,根据所选字段数值大小进行渲染,不同数值对应符号大小比例不同。常用于人口增长率等专题图制作中。

2.功能实现说明

2.1实现思路及原理说明

第一步

实例化矢量分级渲染对象

第二步

设计比例符号渲染字段

第三步

设计符号样式

第四步

输入参数

第五步

矢量渲染器接口转换

第六步

矢量图层渲染赋值

2.2核心接口与方法

接口/类 方法 说明

Carto. IFeatureProportionalSymbolsRender

PointSymbol 设置点符号样式
PolygonSymbol 设置背景填充样式
SetParamer 设置参数

2.3示例代码

数据路径 SDK安装目录下/Data/基础矢量/行政区划/面/省级行政区.shp 
示例代码
 1 private void proportionalSymbolsToolStripMenuItem_Click(object sender, EventArgs e)
 2         {
 3             if (mapctrl.ActiveView.CurrentLayer == null) return;
 4             // 获取当前矢量图层
 5             IFeatureLayer featureLayer = mapctrl.ActiveView.CurrentLayer as IFeatureLayer;
 6             if (featureLayer == null) return;
 7 
 8             // 创建矢量比例渲染
 9             IFeatureProportionalSymbolsRender render = new FeatureProportionalSymbolsRender();
10             // 设置面符号
11             IFillSymbol fillSym1 = new SimpleFillSymbol();
12             fillSym1.Color = Color.FromArgb(0, 255, 0);
13             render.PolygonSymbol = fillSym1;
14             // 设置点符号
15             IMarkerSymbol symbol0 = new SimpleMarkerSymbol();
16             symbol0.Color = Color.FromArgb(255, 0, 0);
17             render.PointSymbol = symbol0;
18             // 设置参数
19             string FieldName = "PGR_2021";
20             string NormalName = "Null";
21             double MinValue = -6;
22             double MaxValue = 9.0;
23             double MinSize = 0.0;
24             double MaxSize = 30.0;
25             render.SetParamer(FieldName, NormalName, MaxValue, MinValue, MaxSize, MinSize);
26 
27             IFeatureRender FeatureRender = render as IFeatureRender;
28             featureLayer.Render = FeatureRender;
29             mapctrl.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll);
30         }
View Code

2.4示例截图

 

posted @ 2023-03-31 18:23  PIESAT  阅读(51)  评论(0)    收藏  举报