com.supermap.mapping

类 LayerSettingGrid



  • public class LayerSettingGrid
    extends LayerSetting

    栅格图层设置类。

    图层分为普通图层和专题图层,栅格图层设置是针对普通图层而言的。栅格图层采用颜色表来显示其像元, 普通图层的风格通过 Layer.getAdditionalSetting()Layer.setAdditionalSetting() 方法来返回或设置。SuperMap 的颜色表是按照 8 比特的 RGB 彩色坐标系来显示像元的,您可以根据像元的属性值来设置其显示颜色值,从而形象直观地表示栅格数据反映的现象。

    示范代码:
    以下代码示范了如何设置 DEM 栅格数据集的样式风格,并将其保存到以 GRID 命名的地图中。

    假设打开了一个工作空间 workspace 对象,工作空间中存在一个数据源 datasource 对象,该数据源中存在一个名为 DEM 的数据集。地图对象 map 已关联 workspace。

     public void layerSettingGridTest() {
            // 返回名称为 DEM 的栅格数据集
            DatasetGrid dataset = (DatasetGrid) datasource.getDatasets().get("DEM");
            Layer layer1 = m_mapControl.getMap().getLayers().add(dataset, true);
    
            // 构造一个 Colors 对象并将各种颜色值添加到其中
            Colors colors = new Colors();
            colors.add(java.awt.Color.blue);
            colors.add(java.awt.Color.black);
            colors.add(java.awt.Color.gray);
            colors.add(java.awt.Color.orange);
    
            // 构造一个 LayerSettingGrid 对象,并设置颜色表和无值数据的颜色
            LayerSettingGrid layerSettingGrid = new LayerSettingGrid();
            layerSettingGrid.setColorTable(colors);
            layerSettingGrid.setSpecialValueColor(java.awt.Color.pink);
            layerSettingGrid.setOpaqueRate(100);
    
            // 得到图层并设置图层的样式风格
            layer1.setAdditionalSetting(layerSettingGrid);
    
            // 刷新地图
            map.refresh();
    
            // 保存地图为 GRID,保存工作空间
            workspace.getMaps().add(workspace.getMaps().getAvailableMapName("grid"), map.toXML());
            workspace.save();
    
            // 释放资源
            map.dispose();
            dataset.close();
        }
     
    • 构造器详细资料

      • LayerSettingGrid

        public LayerSettingGrid()
        默认构造函数,构造一个新的 LayerSettingGrid 对象。
      • LayerSettingGrid

        public LayerSettingGrid(LayerSettingGrid layerSettingGrid)
        根据已存在的栅格图层设置类的对象来构造一个新的栅格图层设置类的对象。
        参数:
        layerSettingGrid - 指定的栅格图层设置类对象。
    • 方法详细资料

      • getColorTable

        public Colors getColorTable()
        返回颜色表。
        返回:
        颜色表。
        默认值:
        默认值为 {Count=0}。
      • setColorTable

        public void setColorTable(Colors colorTable)
        设置颜色表。
        参数:
        colorTable - 颜色表。
      • getColorDictionary

        public ColorDictionary getColorDictionary()
        返回图层的颜色对照表。

        支持对获取的颜色对照表的颜色值和高程值灵活的编辑。

        注意:在图层中如果没有设置颜色对照表,显示前把颜色表转换成颜色对照表,在图层显示时如果颜色表与颜色对照表相同,以颜色表显示,如果不同,以颜色对照表方式显示。

        对颜色表的编辑不再影响图层的显示,图层的显示效果由颜色对照表控制。

        返回:
        图层的颜色对照表。
      • setColorDictionary

        public void setColorDictionary(ColorDictionary clrDict)
        设置图层的颜色对照表。
        参数:
        clrDict - 用于指定图层的颜色对照表。
      • getSpecialValueColor

        @Deprecated
        public Color getSpecialValueColor()
        已过时。 
        返回栅格数据集特殊值数据的颜色。
        返回:
        栅格数据集特殊值数据的颜色。
        默认值:
        默认值为 Color.black。
      • setSpecialValueColor

        @Deprecated
        public void setSpecialValueColor(Color value)
        已过时。 
        设置栅格数据集特殊值数据的颜色。
        参数:
        value - 栅格数据集特殊值数据的颜色。
      • getSpecialValue

        @Deprecated
        public double getSpecialValue()
        已过时。 
        返回图层的特殊值。

        在新增一个 Grid 图层时,该方法的返回值与数据集的 NoValue 属性值相等。

        返回:
        图层的特殊值。
      • setSpecialValue

        @Deprecated
        public void setSpecialValue(double value)
        已过时。 
        设置图层的特殊值。
        参数:
        value - 图层的特殊值。
      • getBrightness

        public int getBrightness()
        返回 Grid 图层的亮度,值域范围为 -100 到 100,增加亮度为正,降低亮度为负。亮度值可以保存到工作空间。
        返回:
        Grid 图层的亮度。
        默认值:
        默认值为 0。
      • setBrightness

        public void setBrightness(int brightness)
        设置 Grid 图层的亮度,值域范围为 -100 到 100,增加亮度为正,降低亮度为负。亮度值可以保存到工作空间。
        参数:
        brightness - Grid 图层的亮度。
      • getContrast

        public int getContrast()
        返回 Grid 图层的对比度,值域范围为 -100 到 100,增加对比度为正,降低对比度为负。对比度值可以保存到工作空间。
        返回:
        Grid 图层的对比度。
        默认值:
        默认值为 0。
      • setContrast

        public void setContrast(int contrast)
        设置 Grid 图层的对比度,值域范围为 -100 到 100,增加对比度为正,降低对比度为负。对比度值可以保存到工作空间。
        参数:
        contrast - Grid 图层的对比度。
      • getOpaqueRate

        public int getOpaqueRate()
        返回 Grid 图层显示不透明度。不透明度为一个 0-100 之间的数。0 为不显示;100 为完全不透明。只对栅格图层有效,在地图旋转的情况下也有效。
        返回:
        Grid 图层显示不透明度。
        默认值:
        默认值为 100。
      • setOpaqueRate

        public void setOpaqueRate(int opaqueRate)
        设置 Grid 图层显示的不透明度。不透明度为一个 0-100 之间的数。0 为不显示;100 为完全不透明。只对栅格图层有效,在地图旋转的情况下也有效。
        参数:
        opaqueRate - Grid 图层显示的不透明度。
      • isSpecialValueTransparent

        @Deprecated
        public boolean isSpecialValueTransparent()
        已过时。 
        返回图层的特殊值(SpecialValue)所处区域是否透明。
        返回:
        一个布尔值,图层的特殊值(SpecialValue)所处区域透明返回 true,否则返回 false。
        默认值:
        默认值为 false。
      • setSpecialValueTransparent

        @Deprecated
        public void setSpecialValueTransparent(boolean specialValueTransparent)
        已过时。 
        设置图层的特殊值(SpecialValue)所处区域是否透明。
        参数:
        specialValueTransparent - 图层的特殊值(SpecialValue)所处区域是否透明。
      • isColorDictionaryAutoInterpolation

        public boolean isColorDictionaryAutoInterpolation()
        获取颜色对照表是否自动插值
        返回:
        返回是否插值
        抛出:
        IllegalStateException - 当前对象已被释放
      • setColorDictionaryAutoInterpolation

        public void setColorDictionaryAutoInterpolation(boolean isColorDictionaryAutoInterpolation)
        设置颜色对照表是否自动插值
        参数:
        isColorDictionaryAutoInterpolation - 是否插值
        抛出:
        IllegalStateException - 当前对象已被释放
      • getImageInterpolationMode

        public ImageInterpolationMode getImageInterpolationMode()
        返回显示图像时使用的插值算法。
        返回:
        返回显示图像时使用的插值算法。
      • setImageInterpolationMode

        public void setImageInterpolationMode(ImageInterpolationMode value)
        设置显示图像时使用的插值算法。
        参数:
        value - 指定的插值算法。
      • getImageStretchOption

        public ImageStretchOption getImageStretchOption()
        获取图像拉伸选项
        返回:
        ImageStretchOption 影像拉伸选项
      • setDisplayMode

        @Deprecated
        public void setDisplayMode(ImageDisplayMode displayMode)
        已过时。 
        设置图像显示模式
        参数:
        displayMode - 显示模式
      • getTransparentColor

        public Color getTransparentColor()
        获取图像透明色
        返回:
        Color 图像透明色
        抛出:
        IllegalStateException - 当前对象已被释放
      • setTransparentColor

        public void setTransparentColor(Color value)
        设置图像透明色
        参数:
        value - 透明颜色值
        抛出:
        IllegalStateException - 当前对象已被释放
      • getTransparentColorTolerance

        public int getTransparentColorTolerance()
        获取透明色容限
        返回:
        容限值
        抛出:
        IllegalStateException - 当前对象已被释放
      • setTransparentColorTolerance

        public void setTransparentColorTolerance(int value)
        设置透明色容限
        参数:
        value - 透明色容限值
        抛出:
        IllegalStateException - 当前状态异常
      • isTransparentColorEnabled

        public boolean isTransparentColorEnabled()
        获取是否开启透明值
        返回:
        返回是否开启
        抛出:
        IllegalStateException - 当前对象已被释放
      • setTransparentColorEnabled

        public void setTransparentColorEnabled(boolean value)
        设置是否开启透明值
        参数:
        value - 是否开启
        抛出:
        IllegalStateException - 当前对象已被释放
      • getBackgroundValue

        public double getBackgroundValue()
        获取图像背景值
        返回:
        背景值
        抛出:
        IllegalStateException - 当前对象已被释放
      • setBackgroundValue

        public void setBackgroundValue(double value)
        设置图像背景值
        参数:
        value - 背景值
        抛出:
        IllegalStateException - 当前对象已被释放
      • isBackgroundTransparent

        public boolean isBackgroundTransparent()
        获取图像是否背景透明
        返回:
        是否透明
        抛出:
        IllegalStateException - 当前对象已被释放
      • setBackgroundTransparent

        public void setBackgroundTransparent(boolean value)
        设置是否背景透明
        参数:
        value - 是否透明
        抛出:
        IllegalStateException - 当前对象已被释放
      • isBackgroundReplace

        public boolean isBackgroundReplace()
        获取是否背景替换
        返回:
        是否背景替换
        抛出:
        IllegalStateException - 当前对象已被释放
      • setBackgroundReplace

        public void setBackgroundReplace(boolean value)
        设置是否背景替换
        参数:
        value - 是否替换
        抛出:
        IllegalStateException - 当前对象已被释放
      • getBackgroundColor

        public Color getBackgroundColor()
        获取背景颜色
        返回:
        背景颜色值
        抛出:
        IllegalStateException - 当前对象已被释放
      • setBackgroundColor

        public void setBackgroundColor(Color value)
        设置背景颜色值
        参数:
        value - 颜色值
        抛出:
        IllegalStateException - 当前对象已被释放
      • getNoDataValue

        public double getNoDataValue()
        获取无值
        返回:
        无值
      • setNoDataValue

        public void setNoDataValue(double value)
        设置无值
        参数:
        value - 无值
      • getNoDataValueColor

        public Color getNoDataValueColor()
        获取无值显示的颜色
        返回:
        无值显示的颜色
      • setNoDataValueColor

        public void setNoDataValueColor(Color value)
        设置无值显示的颜色
        参数:
        value - 无值显示的颜色
      • isNoDataValueTransparent

        public boolean isNoDataValueTransparent()
        无值是否透明显示
        返回:
        true 表示透明显示;false表示不透明显示。
      • setNoDataValueTransparent

        public void setNoDataValueTransparent(boolean value)
        设置无值是否透明显示
        参数:
        value - true 表示透明显示;false表示不透明显示。
      • getGamma

        public double getGamma()
        返回栅格图层的Gamma值,范围在 0 到 10 之间(包含 0和10),数值精度为小数点后两位。

        通过Gamma参数能够实现影像/栅格非线性亮度和对比度调整,从而增强图像显示细节,改善影像/栅格数据的显示质量。

        当Gamma值等于1时,图像没有进行Gamma校正。当Gamma值大于1时,图像的暗部区域对比度增加,细节更加突出,但亮部区域的细节会有所损失,整体图像变亮。当Gamma值小于1时,图像的亮部区域对比度增加,细节更加突出,但暗部区域的细节会有所损失,整体图像变暗。

        返回:
        栅格图层的Gamma值,范围在 0 到 10 之间(包含 0和10),数值精度为小数点后两位。
        从以下版本开始:
        11.3.0
        默认值:
        默认值为 1。
      • setGamma

        public void setGamma(double value)
        设置栅格图层的Gamma值,范围在 0 到 10 之间(包含 0和10),数值精度为小数点后两位。

        通过Gamma参数能够实现影像/栅格非线性亮度和对比度调整,从而增强图像显示细节,改善影像/栅格数据的显示质量。

        当Gamma值等于1时,图像没有进行Gamma校正。当Gamma值大于1时,图像的暗部区域对比度增加,细节更加突出,但亮部区域的细节会有所损失,整体图像变亮。当Gamma值小于1时,图像的亮部区域对比度增加,细节更加突出,但暗部区域的细节会有所损失,整体图像变暗。

        参数:
        value - 栅格图层的Gamma值,范围在 0 到 10 之间(包含 0和10),数值精度为小数点后两位。
        抛出:
        IllegalArgumentException - 输入的值超出范围时抛出的异常。
        从以下版本开始:
        11.3.0

Copyright © 2021–2024 SuperMap. All rights reserved.