com.supermap.mapping

类 LayerSettingImage



  • public class LayerSettingImage
    extends LayerSetting

    LayerSettingImage, 影像图层设置类。

    该类主要用于设置影像图层的显示风格,获取和设置影像图层的透明背景色、透明色的容限和是否允许透明等特性。 影像数据只对应普通图层,其风格设置实例可以通过Layer.getAdditionalSetting()来获得; 也可以新创建一个对象, 通过Layer.setAdditionalSetting(LayerSetting)方法来设置。 在修改图层显示效果后,需要调用Map.refresh()方法来刷新地图。

    • 构造器详细资料

      • LayerSettingImage

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

        public LayerSettingImage(LayerSettingImage layerSettingImage)
        构造函数, 根据指定的LayerSettingImage对象,构造一个新的实例,新实例时传入对象的一个拷贝。
        参数:
        layerSettingImage - 指定的LayerSettingImage对象
    • 方法详细资料

      • isTransparent

        public boolean isTransparent()
        当前影像图层背景色是否透明显示 当其值为true时,setTransparentColor(Color)指定的颜色透明。 默认不透明, 即返回false。
        返回:
        返回loolean值, 表示影像图层背景是否透明
      • setTransparent

        public void setTransparent(boolean transparentEnable)
        设置影像图层背景色是否透明显示
        参数:
        transparentEnable - boolean类型, 表示影像图层背景色是否透明。 当其值为true时,setTransparentColor(Color)指定的颜色透明。
      • getTransparentColor

        public Color getTransparentColor()
        获取当前指定的透明背景色
        返回:
        Color类型, 返回当指定的透明背景色。 如果是新创建的对象,则返回null
      • setTransparentColor

        public void setTransparentColor(Color color)
        设置影像图层中需要透明显示的背景色

        除了设需要透明显示的颜色外,还需要通过setTransparent(boolean)来允许透明显示该颜色

        参数:
        color - Color类型, 需要透明显示的背景色
      • getTransparentColorTolerance

        public int getTransparentColorTolerance()
        获取当前透明背景色的容限值

        透明容限值范围为[0,255],当该值为0时, 仅指定的颜色可以透明显示;当该值为255时, 所有颜色都将透明显示。 默认值为0。

        返回:
        int类型,返回当前透明背景色的容限值
      • setTransparentColorTolerance

        public void setTransparentColorTolerance(int value)
        设置透明背景色的容限

        透明容限值范围为[0,255],当该值为0时, 仅指定的颜色可以透明显示;当该值为255时, 所有颜色都将透明显示。

        当且仅当isTransparent()的值为true时, 该设置才有效。

        参数:
        value - int类型, 需要设置的透明背景色容限值。 如果value<0,则实际设置为0; 如果value>255,则实际设置为255;
      • getAllSubLayers

        public java.lang.String[] getAllSubLayers()
        获取所有图层的集合,返回字符串数组。
        返回:
        图层名称集合。
      • getVisibleSubLayers

        public java.lang.String[] getVisibleSubLayers()
        获取当前可见图层的集合,返回字符串数组。
        返回:
        图层名称集合
      • setVisibleSubLayers

        public void setVisibleSubLayers(java.lang.String[] subLayers)
        设置当前可见图层的集合。
        参数:
        subLayers - 图层名称集合。
      • setMapLayersID

        public void setMapLayersID(java.lang.String layersID)
        设置地图指定图层集合(针对Rest服务)。
        参数:
        layersID - 指定图层集合的ID.
      • getMapLayersID

        public java.lang.String getMapLayersID()
        获取地图指定图层集合(针对Rest服务).
        返回:
        地图指定图层集合。
      • getDisplayBandIndexes

        public int[] getDisplayBandIndexes()
        获取当前影像图层的波段索引
        返回:
        返回当前影像图层显示的波段索引
      • setDisplayBandIndexes

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

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

        public void setDisplayMode(ImageDisplayMode displayMode)
        设置影像显示模式
        参数:
        displayMode - 影像显示模式,多波段支持两种显示模式,单波段只支持拉伸显示模式
      • getDisplayColorSpace

        public ColorSpaceType getDisplayColorSpace()
        获取影像图层的色彩显示模式
        返回:
        影像图层的色彩显示模式,默认为RGB
      • setDisplayColorSpace

        public void setDisplayColorSpace(ColorSpaceType colorSpace)
        设置影像图层的色彩显示模式。它会根据影像图层当前的色彩格式和显示的波段将该影像图层以该色彩模式进行显示。 目前只支持RGB/RGBA两种
        参数:
        colorSpace - 影像图层的色彩显示模式
      • getImageStretchOption

        public ImageStretchOption getImageStretchOption()
        获取影像拉伸参数 如果存在颜色表,且颜色表的数量不为0,则会使用颜色表显示影像,此时拉伸方式均不起作用, 如果没有颜色表或者数量为0,则支持拉伸显示。
        返回:
        ImageStretchOption 影像拉伸参数
      • setImageStretchOption

        public void setImageStretchOption(ImageStretchOption imageStretchOption)
        设置图层多波段Image的拉伸方式
        参数:
        imageStretchOption - 拉伸参数
      • add

        public void add(Datasource datasource,
                        java.lang.String strSLDFilePath)
        通过SLD文件,向图层集合中添加图层
        参数:
        datasource - 数据所在的数据源
        strSLDFilePath - SLD文件路径
      • setCacheMaxSize

        public void setCacheMaxSize(int nMaxSize)
        设置图层的最大缓存数
        参数:
        nMaxSize - 最大缓存数
      • getCacheMaxSize

        public int getCacheMaxSize()
        获取图层的最大缓存数
        返回:
        最大缓存数
      • getSpecialValueColor

        public Color getSpecialValueColor()
        获取特殊颜色
        返回:
      • setSpecialValueColor

        public void setSpecialValueColor(Color value)
        设置特殊颜色
        参数:
        value -
      • getSpecialValue

        public double getSpecialValue()
        获取特殊值
        返回:
      • setSpecialValue

        public void setSpecialValue(double value)
        设置特殊值
        参数:
        value -
      • isSpecialValueTransparent

        public boolean isSpecialValueTransparent()
        特殊值是否透明
        返回:
      • setSpecialValueTransparent

        public void setSpecialValueTransparent(boolean value)
        设置特殊值是否透明
        参数:
        value -
      • isImageBKColorReplace

        public boolean isImageBKColorReplace()
        背景色是否允许颜色替换
        返回:
      • setImageBKColorReplace

        public void setImageBKColorReplace(boolean value)
        背景色是否替换
        参数:
        value -
      • isImageSpecialValueReplace

        public boolean isImageSpecialValueReplace()
        是否允许特殊值替换
        返回:
      • setImageSpecialValueReplace

        public void setImageSpecialValueReplace(boolean value)
        设置特殊值颜色是否替换
        参数:
        value -