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 类的新实例。 |
限定符和类型 | 方法和说明 |
---|---|
String[] |
getAllSubLayers()
返回所有 WMS 子图层,该方法只对 WMS 图层有效。
|
Color |
getBackgroundColor()
获取setBackground()所指定的背景值的显示颜色。
|
double |
getBackgroundValue()
已过时。
已过时。由“getBackgroundValues()”接口取代。
|
double[] |
getBackgroundValues()
获取图层的背景值。
|
int |
getBrightness()
返回影像图层的亮度。
|
ColorDictionary |
getColorDictionary()
获取颜色表
|
Colors |
getColorTable()
返回颜色表。
|
int |
getContrast()
返回影像图层的对比度。
|
int[] |
getDisplayBandIndexes()
返回当前影像图层显示的波段索引。
|
ColorSpaceType |
getDisplayColorSpace()
返回影像图层的色彩显示模式。
|
ImageDisplayMode |
getDisplayMode()
|
ElevationData |
getElevationData()
返回遥感 RPC 高程信息。
|
ImageInterpolationMode |
getImageInterpolationMode()
返回显示图像时使用的插值算法。
|
ImageStretchOption |
getImageStretchOption()
返回影像拉伸参数。
|
Color |
getNoDataValueColor()
获取无值显示的颜色
|
double[] |
getNoDataValues()
获取图层无值数组。
|
int |
getOpaqueRate()
返回影像图层显示的不透明度。
|
double |
getSpecialValue()
已过时。
已过时。由“getNoDataValues()”接口替代。
|
Color |
getSpecialValueColor()
已过时。
|
Color |
getTransparentColor()
返回背景透明色。
|
int |
getTransparentColorTolerance()
返回背景透明色容限,容限值范围为(0~255)。
|
LayerSettingType |
getType()
返回此图层的类型。
|
String[] |
getVisibleSubLayers()
返回可见的 WMS 子图层,该方法只对 WMS 图层有效。
|
boolean |
isBackgroundTransparent()
获取setBackgroundValue()所指定的背景值是否透明显示,true 表示透明显示;false表示不透明显示。
|
boolean |
isImageBackgroundReplace()
获取setBackgroundValue()所指定的背景值是否使用setBackgroundColor()所指定的背景颜色进行显示;true表示进行替代显示,false表示不进行替代显示。
|
boolean |
isImageSpecialValueReplace()
已过时。
|
boolean |
isNoDataValueReplace()
像素值为无值的区域是否使用指定的颜色显示。
|
boolean |
isNoDataValueTransparent()
无值是否透明显示
|
boolean |
isSpecialValueTransparent()
已过时。
|
boolean |
isTransparent()
已过时。
|
boolean |
isTransparentColorEnabled()
返回是否透明色生效
|
void |
setBackgroundColor(Color value)
设置setBackground()所指定的背景值的显示颜色。
|
void |
setBackgroundTransparent(boolean value)
设置setBackgroundValue()所指定的背景值是否透明显示,true 表示透明显示;false表示不透明显示。
|
void |
setBackgroundValue(double value)
已过时。
已过时。由“setBackgroundValues()”接口取代。
|
void |
setBackgroundValues(double[] values)
设置图层的背景值。
|
void |
setBrightness(int value)
设置影像图层的亮度。
|
void |
setColorDictionary(ColorDictionary colorDictionary)
设置颜色表
|
void |
setColorTable(Colors colorTable)
设置颜色表。
|
void |
setContrast(int value)
设置影像图层的对比度。
|
void |
setDisplayBandIndexes(int[] bandIndexes)
设置当前影像图层显示的波段索引。
|
void |
setDisplayColorSpace(ColorSpaceType colorSpace)
设置影像图层的色彩显示模式。
|
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)
已过时。
|
void |
setImageStretchOption(ImageStretchOption imageStretchOption)
设置影像拉伸参数。
|
void |
setNoDataValueColor(Color value)
设置无值显示的颜色
|
void |
setNoDataValueReplace(boolean value)
设置像素值为无值的区域是否使用指定的颜色显示。
|
void |
setNoDataValues(double[] rgbaArray)
设置图层的无值。
|
void |
setNoDataValueTransparent(boolean value)
设置无值是否透明显示
|
void |
setOpaqueRate(int value)
设置影像图层显示的不透明度。
|
void |
setSpecialValue(double value)
已过时。
已过时。由“setNoDataValues()”接口替代。
|
void |
setSpecialValueColor(Color value)
已过时。
|
void |
setSpecialValueTransparent(boolean value)
已过时。
|
void |
setTransparent(boolean value)
已过时。
|
void |
setTransparentColor(Color value)
设置背景透明色。
|
void |
setTransparentColorEnabled(boolean value)
设置透明色生效
|
void |
setTransparentColorTolerance(int value)
设置背景透明色容限,容限值范围为(0~255)。
|
void |
setVisibleSubLayers(String[] subLayers)
设置可见的 WMS 子图层,该方法只对 WMS 图层有效。
|
public LayerSettingImage()
LayerSettingImage
对象。public LayerSettingImage(LayerSettingImage layerSettingImage)
LayerSettingImage
类的新实例。layerSettingImage
- 指定的 LayerSettingImage
对象。public Colors getColorTable()
public void setColorTable(Colors colorTable)
colorTable
- 颜色表。public int getOpaqueRate()
public void setOpaqueRate(int value)
value
- 影像图层显示的不透明度。public int getContrast()
public void setContrast(int value)
value
- 影像图层的对比度。public int getBrightness()
public void setBrightness(int value)
value
- 影像图层的亮度值。@Deprecated public boolean isTransparent()
@Deprecated public void setTransparent(boolean value)
value
- 一个布尔值指定是否使影像图层背景透明。public Color getTransparentColor()
public void setTransparentColor(Color value)
value
- 背景透明色。public int[] getDisplayBandIndexes()
public void setDisplayBandIndexes(int[] bandIndexes)
bandIndexes
- 当前影像图层显示的波段索引。public ColorSpaceType getDisplayColorSpace()
public void setDisplayColorSpace(ColorSpaceType colorSpace)
colorSpaceType
- 影像图层的色彩显示模式。@Deprecated public ImageDisplayMode getDisplayMode()
已经不需要枚举ImageDisplayMode
来控制显示,调用LayerSettingImage.setDisplayBandIndexes(int[] bandIndexes)
和LayerSettingImage.setImageStretchOption(ImageStretchOption imageStretchOption)
则可实现相同的控制。
@Deprecated public void setDisplayMode(ImageDisplayMode displayMode)
已经不需要枚举ImageDisplayMode
来控制显示,调用LayerSettingImage.setDisplayBandIndexes(int[] bandIndexes)
和LayerSettingImage.setImageStretchOption(ImageStretchOption imageStretchOption)
则可实现相同的控制。
ImageDisplayMode
- 影像显示模式,多波段支持两种显示模式,单波段只支持拉伸显示模式。public String[] getAllSubLayers()
public String[] getVisibleSubLayers()
public void setVisibleSubLayers(String[] subLayers)
value
- WMS 子图层。public LayerSettingType getType()
getType
在类中 LayerSetting
IllegalStateException
- 当前对象已被释放public int getTransparentColorTolerance()
public void setTransparentColorTolerance(int value)
value
- 背景透明色容限,容限值范围为(0~255)。public ImageStretchOption getImageStretchOption()
如果存在颜色表,且颜色表的数量不为0,则会使用颜色表显示影像,此时拉伸方式均不起作用,如果没有颜色表或者数量为0,则支持拉伸显示。
public void setImageStretchOption(ImageStretchOption imageStretchOption)
注意:如果影像数据集是16位Image,影像拉伸类型为无拉伸时,以默认的16位颜色值显示;而当影像拉伸类型为标准差拉伸或最值拉伸时,将16位Image拉伸成256色灰度图像显示。
如果存在颜色表,且颜色表的数量不为0,则会使用颜色表显示影像,此时拉伸方式均不起作用,如果没有颜色表或者数量为0,则支持拉伸显示。
imageStretchOption
- 影像拉伸参数。public ImageInterpolationMode getImageInterpolationMode()
public void setImageInterpolationMode(ImageInterpolationMode value)
value
- 指定的插值算法。@Deprecated public Color getSpecialValueColor()
@Deprecated public void setSpecialValueColor(Color value)
value
- 设定的特殊值的显示颜色。@Deprecated public double getSpecialValue()
@Deprecated public void setSpecialValue(double value)
value
- 影像中的特殊值。@Deprecated public boolean isSpecialValueTransparent()
@Deprecated public void setSpecialValueTransparent(boolean value)
value
- setSpecialValue()所设定的特殊值是否透明显示,true 表示透明显示;false表示不透明显示。public Color getBackgroundColor()
public void setBackgroundColor(Color value)
value
- setBackground()所指定的背景值的显示颜色。@Deprecated public double getBackgroundValue()
@Deprecated public void setBackgroundValue(double value)
value
- 影像中被视为背景的值。public boolean isBackgroundTransparent()
public void setBackgroundTransparent(boolean value)
value
- setBackgroundValue()所指定的背景值是否透明显示,true 表示透明显示;false表示不透明显示。public boolean isImageBackgroundReplace()
public void setImageBackgroundReplace(boolean value)
value
- setBackgroundValue()所指定的背景值是否使用setBackgroundColor()所指定的背景颜色进行显示;true表示进行替代显示,false表示不进行替代显示。@Deprecated public boolean isImageSpecialValueReplace()
@Deprecated public void setImageSpecialValueReplace(boolean value)
value
- setSpecialValue()所设定的特殊值是否使用setSpecialValue()所指定的颜色显示;true表示进行替代显示,false表示不进行替代显示。public ColorDictionary getColorDictionary()
IllegalStateException
- 当前对象已被释放public void setColorDictionary(ColorDictionary colorDictionary)
colorDictionary
- 颜色表IllegalArgumentException
- 参数不正确IllegalStateException
- 当前对象已被释放public boolean isTransparentColorEnabled()
IllegalStateException
- 当前对象已被释放public void setTransparentColorEnabled(boolean value)
value
- 是否生效IllegalStateException
- 当前对象已被释放public void setElevationData(ElevationData elevationData)
elevationData
- 遥感 RPC 高程信息。public ElevationData getElevationData()
public double[] getNoDataValues()
public void setNoDataValues(double[] rgbaArray)
rgbaArray
- 无值数组。数组的个数应该与设置的显示波段个数保持一致IllegalArgumentException
- 输入的无值数组为null时抛出的异常IllegalStateException
- 如果对象已经跟Layer关联,但Layer被释放就会抛出的异常public Color getNoDataValueColor()
public void setNoDataValueColor(Color value)
value
- 无值显示的颜色public boolean isNoDataValueTransparent()
public void setNoDataValueTransparent(boolean value)
value
- true 表示透明显示;false表示不透明显示。public double[] getBackgroundValues()
public void setBackgroundValues(double[] values)
values
- 背景值数组。数组的个数应该与设置的显示波段个数保持一致IllegalArgumentException
- 输入的无值数组为null时抛出的异常IllegalStateException
- 如果对象已经跟Layer关联,但Layer被释放就会抛出的异常public boolean isNoDataValueReplace()
public void setNoDataValueReplace(boolean value)
value
- 如果是true,表示进行替代显示,如果是false,表示不进行替代显示。Copyright © 2021–2024 SuperMap. All rights reserved.