com.supermap.mapping
类 LayerSettingImage

java.lang.Object
  继承者 com.supermap.mapping.LayerSetting
      继承者 com.supermap.mapping.LayerSettingImage

public class LayerSettingImage
extends LayerSetting

影像图层设置类。

图层是数据集的可视化显示,分为普通图层和专题图层,影像数据只对应普通图层。 普通图层的风格通过 Layer.getAdditionalSetting()Layer.setAdditionalSetting() 方法来返回或设置。该类用来设置影像图层的显示风格,主要是设置影像图层的透明度。

示例:
以下代码示范了如何设置影像数据集的显示风格并将其保存至地图中。

假设打开了一个工作空间 workspace 对象,工作空间中存在一个数据源 datasource 对象,该数据源中存在一个名为 earth 的数据集。

 public void layerSettingImageTest() {
        // 打开数据源及影像数据集 earth
        Datasource datasource = workspace.getDatasources().get("world");
        DatasetImage dataset = (DatasetImage) datasource.getDatasets().get(
                "earth");

        // 构造一个 LayerSettingImage 对象
        LayerSettingImage layerSettingImage = new LayerSettingImage();
        // 设置 LayerSettingImage 对象
        layerSettingImage.setBrightness(50);
        layerSettingImage.setContrast(60);
        layerSettingImage.setDisplayBandIndexes(new int[] {2, 3, 1});
        layerSettingImage.setDisplayColorSpace(ColorSpaceType.RGB);
        layerSettingImage.setOpaqueRate(40);
        layerSettingImage.setTransparent(true);
        layerSettingImage.setTransparentColor(java.awt.Color.yellow);

        // 构造一个与以上工作空间相关联的地图对象
        Map map = new Map(workspace);

        // 将影像数据集 earth 添加到地图中,并设置其风格
        map.getLayers().add(dataset, layerSettingImage, true);
        map.refresh();

        // 将地图以 image 命名并保存至工作空间中
        String mapName = workspace.getMaps().getAvailableMapName("image");
        workspace.getMaps().add(mapName, map.toXML());
        workspace.save();

        // 释放资源
        map.dispose();
        dataset.close();
    }
 

构造方法摘要
LayerSettingImage()
          默认构造函数,构造一个新的 LayerSettingImage 对象。
LayerSettingImage(LayerSettingImage layerSettingImage)
          根据指定的参数构造 LayerSettingImage 类的新实例。
 
方法摘要
 java.lang.String[] getAllSubLayers()
          返回所有 WMS 子图层,该方法只对 WMS 图层有效。
 java.awt.Color getBackgroundColor()
          获取setBackground()所指定的背景值的显示颜色。
 double getBackgroundValue()
          获取影像中被视为背景的值。
 int getBrightness()
          返回影像图层的亮度。
 Colors getColorTable()
          返回颜色表。
 int getContrast()
          返回影像图层的对比度。
 int[] getDisplayBandIndexes()
          返回当前影像图层显示的波段索引。
 ColorSpaceType getDisplayColorSpace()
          返回影像图层的色彩显示模式。
 ImageDisplayMode getDisplayMode()
          返回影像显示模式。
 ElevationData getElevationData()
          返回遥感 RPC 高程信息。
 ImageInterpolationMode getImageInterpolationMode()
          返回显示图像时使用的插值算法。
 ImageStretchOption getImageStretchOption()
          返回影像拉伸参数。
 int getOpaqueRate()
          返回影像图层显示的不透明度。
 double getSpecialValue()
          获取影像中的特殊值,该特殊值可以通过setSpecialValueColor()指定显示颜色。
 java.awt.Color getSpecialValueColor()
          设置setSpecialValue()所设定的特殊值的显示颜色。
 java.awt.Color getTransparentColor()
          返回背景透明色。
 int getTransparentColorTolerance()
          返回背景透明色容限,容限值范围为(0~255)。
 LayerSettingType getType()
          返回此图层的类型。
 java.lang.String[] getVisibleSubLayers()
          返回可见的 WMS 子图层,该方法只对 WMS 图层有效。
 boolean isBackgroundTransparent()
          获取setBackgroundValue()所指定的背景值是否透明显示,true 表示透明显示;false表示不透明显示。
 boolean isImageBackgroundReplace()
          获取setBackgroundValue()所指定的背景值是否使用setBackgroundColor()所指定的背景颜色进行显示;true表示进行替代显示,false表示不进行替代显示。
 boolean isImageSpecialValueReplace()
          获取setSpecialValue()所设定的特殊值是否使用setSpecialValue()所指定的颜色显示;true表示进行替代显示,false表示不进行替代显示。
 boolean isSpecialValueTransparent()
          获取setSpecialValue()所设定的特殊值是否透明显示,true 表示透明显示;false表示不透明显示。
 boolean isTransparent()
          已过时。 
 void setBackgroundColor(java.awt.Color value)
          设置setBackground()所指定的背景值的显示颜色。
 void setBackgroundTransparent(boolean value)
          设置setBackgroundValue()所指定的背景值是否透明显示,true 表示透明显示;false表示不透明显示。
 void setBackgroundValue(double value)
          设置影像中被视为背景的值。
 void setBrightness(int value)
          设置影像图层的亮度。
 void setColorTable(Colors colorTable)
          设置颜色表。
 void setContrast(int value)
          设置影像图层的对比度。
 void setDisplayBandIndexes(int[] value)
          设置当前影像图层显示的波段索引。
 void setDisplayColorSpace(ColorSpaceType colorSpaceType)
          设置影像图层的色彩显示模式。
 void setDisplayMode(ImageDisplayMode displayMode)
          设置影像显示模式。
 void setElevationData(ElevationData elevationData)
          设置遥感 RPC 高程信息。
 void setImageBackgroundReplace(boolean value)
          设置setBackgroundValue()所指定的背景值是否使用setBackgroundColor()所指定的背景颜色进行显示;true表示进行替代显示,false表示不进行替代显示。
 void setImageInterpolationMode(ImageInterpolationMode value)
          设置显示图像时使用的插值算法。
 void setImageSpecialValueReplace(boolean value)
          设置setSpecialValue()所设定的特殊值是否使用setSpecialValue()所指定的颜色显示;true表示进行替代显示,false表示不进行替代显示。
 void setImageStretchOption(ImageStretchOption imageStretchOption)
          设置影像拉伸参数。
 void setOpaqueRate(int value)
          设置影像图层显示的不透明度。
 void setSpecialValue(double value)
          设置影像中的特殊值,该特殊值可以通过setSpecialValueColor()指定显示颜色。
 void setSpecialValueColor(java.awt.Color value)
          获取setSpecialValue()所设定的特殊值的显示颜色。
 void setSpecialValueTransparent(boolean value)
          设置setSpecialValue()所设定的特殊值是否透明显示,true 表示透明显示;false表示不透明显示。
 void setTransparent(boolean value)
          已过时。 
 void setTransparentColor(java.awt.Color value)
          设置背景透明色。
 void setTransparentColorTolerance(int value)
          设置背景透明色容限,容限值范围为(0~255)。
 void setVisibleSubLayers(java.lang.String[] value)
          设置可见的 WMS 子图层,该方法只对 WMS 图层有效。
 
从类 java.lang.Object 继承的方法
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

LayerSettingImage

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


LayerSettingImage

public LayerSettingImage(LayerSettingImage layerSettingImage)
根据指定的参数构造 LayerSettingImage 类的新实例。

参数:
layerSettingImage - 指定的 LayerSettingImage 对象。
方法详细信息

getOpaqueRate

public int getOpaqueRate()
返回影像图层显示的不透明度。不透明度为一个 0-100 之间的数。0为不显示;100为完全不透明。只对影像图层有效,在地图旋转的情况下也有效。

返回:
影像图层显示的不透明度。
默认值:
默认值为 100,即完全不透明。

setOpaqueRate

public void setOpaqueRate(int value)
设置影像图层显示的不透明度。不透明度为一个 0-100 之间的数。0为不显示;100为完全不透明。只对影像图层有效,在地图旋转的情况下也有效。

参数:
value - 影像图层显示的不透明度。

getBrightness

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

返回:
影像图层的亮度值。
默认值:
默认值为 0。

setBrightness

public void setBrightness(int value)
设置影像图层的亮度。值域范围为 -100 到 100,增加亮度为正,降低亮度为负。亮度值可以保存到工作空间。

参数:
value - 影像图层的亮度值。

getContrast

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

返回:
影像图层的对比度。
默认值:
默认值为 0。

setContrast

public void setContrast(int value)
设置影像图层的对比度。值域范围为 -100 到 100,增加对比度为正,降低对比度为负。对比度值可以保存到工作空间。

参数:
value - 影像图层的对比度。

isTransparent

@Deprecated
public boolean isTransparent()
已过时。 

返回是否使影像图层背景透明。

返回:
一个布尔值指定是否使影像图层背景透明。
默认值:
默认值为 false。

setTransparent

@Deprecated
public void setTransparent(boolean value)
已过时。 

设置是否使影像图层背景透明。

参数:
value - 一个布尔值指定是否使影像图层背景透明。

getTransparentColor

public java.awt.Color getTransparentColor()
返回背景透明色。

返回:
背景透明色。
默认值:
默认值为 Color.black。

setTransparentColor

public void setTransparentColor(java.awt.Color value)
设置背景透明色。

参数:
value - 背景透明色。

getDisplayColorSpace

public ColorSpaceType getDisplayColorSpace()
返回影像图层的色彩显示模式。它会根据影像图层当前的色彩格式和显示的波段将该影像图层以该色彩模式进行显示。

返回:
影像图层的色彩显示模式。
默认值:
默认值为 RGB。

setDisplayColorSpace

public void setDisplayColorSpace(ColorSpaceType colorSpaceType)
设置影像图层的色彩显示模式。它会根据影像图层当前的色彩格式和显示的波段将该影像图层以该色彩模式进行显示。

参数:
colorSpaceType - 影像图层的色彩显示模式。

getDisplayBandIndexes

public int[] getDisplayBandIndexes()
返回当前影像图层显示的波段索引。假设当前影像图层有若干波段,当需要按照设置的色彩模式(如 RGB)设置显示波段时,指定色彩(如 RGB 中的红色、绿色、蓝色)对应的波段索引(如0,2,1)即可。

返回:
当前影像图层显示的波段索引。

setDisplayBandIndexes

public void setDisplayBandIndexes(int[] value)
设置当前影像图层显示的波段索引。假设当前影像图层有若干波段,当需要按照设置的色彩模式(如 RGB)设置显示波段时,指定色彩(如 RGB 中的红色、绿色、蓝色)对应的波段索引(如0,2,1)即可。

参数:
value - 当前影像图层显示的波段索引。

getColorTable

public Colors getColorTable()
返回颜色表。

返回:
颜色表。
默认值:
默认值与数据集保持一致。

setColorTable

public void setColorTable(Colors colorTable)
设置颜色表。

参数:
colorTable - 颜色表。

getDisplayMode

public ImageDisplayMode getDisplayMode()
返回影像显示模式。

返回:
影像显示模式。
默认值:
默认值与数据集的波段数保持一致,如果数据集为多波段,则默认为组合模式,否则,默认为拉伸模式。

setDisplayMode

public void setDisplayMode(ImageDisplayMode displayMode)
设置影像显示模式。

参数:
ImageDisplayMode - 影像显示模式,多波段支持两种显示模式,单波段只支持拉伸显示模式。

getAllSubLayers

public java.lang.String[] getAllSubLayers()
返回所有 WMS 子图层,该方法只对 WMS 图层有效。

返回:
所有 WMS 子图层。

getVisibleSubLayers

public java.lang.String[] getVisibleSubLayers()
返回可见的 WMS 子图层,该方法只对 WMS 图层有效。

返回:
可见的 WMS 子图层。

setVisibleSubLayers

public void setVisibleSubLayers(java.lang.String[] value)
设置可见的 WMS 子图层,该方法只对 WMS 图层有效。

参数:
value - WMS 子图层。

getTransparentColorTolerance

public int getTransparentColorTolerance()
返回背景透明色容限,容限值范围为(0~255)。

返回:
背景透明色容限。

setTransparentColorTolerance

public void setTransparentColorTolerance(int value)
设置背景透明色容限,容限值范围为(0~255)。

参数:
value - 背景透明色容限,容限值范围为(0~255)。

getType

public LayerSettingType getType()
返回此图层的类型。

指定者:
LayerSetting 中的 getType
返回:
图层的类型。

getImageStretchOption

public ImageStretchOption getImageStretchOption()
返回影像拉伸参数。

如果存在颜色表,且颜色表的数量不为0,则会使用颜色表显示影像,此时拉伸方式均不起作用,如果没有颜色表或者数量为0,则支持拉伸显示。

返回:
影像拉伸参数。

setImageStretchOption

public void setImageStretchOption(ImageStretchOption imageStretchOption)
设置影像拉伸参数。

注意:如果影像数据集是16位Image,影像拉伸类型为无拉伸时,以默认的16位颜色值显示;而当影像拉伸类型为标准差拉伸或最值拉伸时,将16位Image拉伸成256色灰度图像显示。

如果存在颜色表,且颜色表的数量不为0,则会使用颜色表显示影像,此时拉伸方式均不起作用,如果没有颜色表或者数量为0,则支持拉伸显示。

参数:
imageStretchOption - 影像拉伸参数。

setImageInterpolationMode

public void setImageInterpolationMode(ImageInterpolationMode value)
设置显示图像时使用的插值算法。

参数:
value - 指定的插值算法。

getImageInterpolationMode

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

返回:
返回显示图像时使用的插值算法。

getSpecialValueColor

public java.awt.Color getSpecialValueColor()
设置setSpecialValue()所设定的特殊值的显示颜色。

返回:

setSpecialValueColor

public void setSpecialValueColor(java.awt.Color value)
获取setSpecialValue()所设定的特殊值的显示颜色。

参数:
value -

getSpecialValue

public double getSpecialValue()
获取影像中的特殊值,该特殊值可以通过setSpecialValueColor()指定显示颜色。

返回:
影像中的特殊值。

setSpecialValue

public void setSpecialValue(double value)
设置影像中的特殊值,该特殊值可以通过setSpecialValueColor()指定显示颜色。

参数:
value - 影像中的特殊值。

isSpecialValueTransparent

public boolean isSpecialValueTransparent()
获取setSpecialValue()所设定的特殊值是否透明显示,true 表示透明显示;false表示不透明显示。

返回:
setSpecialValue()所设定的特殊值是否透明显示,true 表示透明显示;false表示不透明显示。

setSpecialValueTransparent

public void setSpecialValueTransparent(boolean value)
设置setSpecialValue()所设定的特殊值是否透明显示,true 表示透明显示;false表示不透明显示。

参数:
value - setSpecialValue()所设定的特殊值是否透明显示,true 表示透明显示;false表示不透明显示。

getBackgroundColor

public java.awt.Color getBackgroundColor()
获取setBackground()所指定的背景值的显示颜色。

返回:
setBackground()所指定的背景值的显示颜色。

setBackgroundColor

public void setBackgroundColor(java.awt.Color value)
设置setBackground()所指定的背景值的显示颜色。

参数:
value - setBackground()所指定的背景值的显示颜色。

getBackgroundValue

public double getBackgroundValue()
获取影像中被视为背景的值。

返回:
影像中被视为背景的值。

setBackgroundValue

public void setBackgroundValue(double value)
设置影像中被视为背景的值。

参数:
value - 影像中被视为背景的值。

isBackgroundTransparent

public boolean isBackgroundTransparent()
获取setBackgroundValue()所指定的背景值是否透明显示,true 表示透明显示;false表示不透明显示。

返回:
setBackgroundValue()所指定的背景值是否透明显示,true 表示透明显示;false表示不透明显示。

setBackgroundTransparent

public void setBackgroundTransparent(boolean value)
设置setBackgroundValue()所指定的背景值是否透明显示,true 表示透明显示;false表示不透明显示。

参数:
value - setBackgroundValue()所指定的背景值是否透明显示,true 表示透明显示;false表示不透明显示。

isImageBackgroundReplace

public boolean isImageBackgroundReplace()
获取setBackgroundValue()所指定的背景值是否使用setBackgroundColor()所指定的背景颜色进行显示;true表示进行替代显示,false表示不进行替代显示。

返回:
setBackgroundValue()所指定的背景值是否使用setBackgroundColor()所指定的背景颜色进行显示;true表示进行替代显示,false表示不进行替代显示。

setImageBackgroundReplace

public void setImageBackgroundReplace(boolean value)
设置setBackgroundValue()所指定的背景值是否使用setBackgroundColor()所指定的背景颜色进行显示;true表示进行替代显示,false表示不进行替代显示。

参数:
value - setBackgroundValue()所指定的背景值是否使用setBackgroundColor()所指定的背景颜色进行显示;true表示进行替代显示,false表示不进行替代显示。

isImageSpecialValueReplace

public boolean isImageSpecialValueReplace()
获取setSpecialValue()所设定的特殊值是否使用setSpecialValue()所指定的颜色显示;true表示进行替代显示,false表示不进行替代显示。

返回:
setSpecialValue()所设定的特殊值是否使用setSpecialValue()所指定的颜色显示;true表示进行替代显示,false表示不进行替代显示。

setImageSpecialValueReplace

public void setImageSpecialValueReplace(boolean value)
设置setSpecialValue()所设定的特殊值是否使用setSpecialValue()所指定的颜色显示;true表示进行替代显示,false表示不进行替代显示。

参数:
value - setSpecialValue()所设定的特殊值是否使用setSpecialValue()所指定的颜色显示;true表示进行替代显示,false表示不进行替代显示。

setElevationData

public void setElevationData(ElevationData elevationData)
设置遥感 RPC 高程信息。

参数:
elevationData - 遥感 RPC 高程信息。

getElevationData

public ElevationData getElevationData()
返回遥感 RPC 高程信息。

返回:
返回遥感 RPC 高程信息。