zoukankan      html  css  js  c++  java
  • PIE SDK栅格数据唯一值渲染

     

    1. 功能简介

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

    2. 功能实现说明

    2.1. 实现思路及原理说明

    第一步

    实例化唯一值渲染对象

    第二步

    初始化唯一值对象,将各级值加入到唯一值对象中

    第三步

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

    第四步

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

    第五步

    栅格渲染接口转换

    第六步

    栅格图层渲染赋值

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

     

  • 相关阅读:
    LCT男人八题系列
    hadoop 伪分布启动-fs格式化
    hadoop 安装
    Scala Actor入门
    Scala 隐式转换和隐式参数
    Scala 类型参数
    Scala 类型参数
    Scala 匹配模式
    scala 函数式编程之集合操作
    Scala 函数式编程
  • 原文地址:https://www.cnblogs.com/PIESat/p/10167468.html
Copyright © 2011-2022 走看看