PIE SDK栅格数据惟一值渲染

 

1. 功能简介

    栅格数据惟一值渲染,是以像元为单位,不一样的像元值设置不一样的颜色,从而达到惟一值显示的效果。dom

2. 功能实现说明

2.1. 实现思路及原理说明

第一步ide

实例化惟一值渲染对象spa

第二步code

初始化惟一值对象,将各级值加入到惟一值对象中视频

第三步对象

初始化Color列表,对每个值设置对应颜色blog

第四步教程

惟一值渲染对象属性赋值,包括惟一值、颜色、波段索引索引

第五步接口

栅格渲染接口转换

第六步

栅格图层渲染赋值

2.2. 核心接口与方法

接口/类

方法

说明

 

 

Carto. IRasterUniqueValueRender

ClassColors

颜色属性

UniqueValues

惟一值属性

SetBandIndex()

设置分级波段索引

Carto. IUniqueValues

Add

添加惟一值

2.3. 示例代码

项目路径

百度云盘地址下/PIE示例程序/07图层渲染/09.栅格惟一值渲染

数据路径

百度云盘地址下/PIE示例数据/栅格数据/ 01.GF1/ GF1_PMS1_E116.5_N39.4_20131127_L1A0000117600-MSS1.tif

视频路径

百度云盘地址下/PIE视频教程/07图层渲染/09.栅格惟一值渲染.avi

示例代码

 1 //用的0-16的数据
 2     if (mapControlMain.ActiveView.CurrentLayer == null)
 3         return;
 4     IRasterLayer rasterLayer = mapControlMain.ActiveView.CurrentLayer as IRasterLayer;
 5     if (rasterLayer == null)
 6         return;
 7 IRasterUniqueValueRender rasterUniqueValueRender = new PIE.Carto.RasterUniqueValueRender();
 8 //惟一值对象
 9     IUniqueValues uniqueValues = new UniqueValues();
10 uniqueValues.Clear();
11 //颜色对象
12     IList<Color> colors = new List<Color>();
13     Random rd = new Random();
14             
15     for(int i=0;i<17;i++)
16     {
17         colors.Add(Color.FromArgb(rd.Next(1, 255), rd.Next(1, 255), rd.Next(1, 255)));
18         rasterUniqueValueRender.SetLabel(i, "数值" + i.ToString());
19         uniqueValues.Add(i, 1);
20     }
21 
22     //设置RasterUniqueValueRender
23     rasterUniqueValueRender.ClassColors = colors;
24     rasterUniqueValueRender.UniqueValues = uniqueValues;
25     rasterUniqueValueRender.SetBandIndex(0); //设置要惟一值渲染的波段索引号
26 
27     //设置rasterRender
28     IRasterRender rasterRender = rasterUniqueValueRender as IRasterRender;
29     rasterLayer.Render = rasterRender;
30 // 添加图层到地图并刷新
31  mapControlMain.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll);
View Code

2.4. 示例截图

 

相关文章
相关标签/搜索