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 } |
2.4示例截图