com.supermap.data

类 DatasetImageInfo

  • java.lang.Object
    • com.supermap.data.InternalHandle
      • com.supermap.data.InternalHandleDisposable
        • com.supermap.data.DatasetImageInfo
  • 所有已实现的接口:
    IDisposable


    public class DatasetImageInfo
    extends com.supermap.data.InternalHandleDisposable
    影像数据集信息类,该类用于设置影像数据集的创建信息,包括名称、宽度、高度、波段数和存储分块大小等。

    通过该类设置影像数据集的创建信息时,需要注意:

    1. 需要指定影像的波段数,波段数可以设置为 0,创建之后可以再向影像中添加波段;
    2. 所有波段被设置为相同的像素格式和编码方式,创建影像成功后,可以根据需求,再为每个波段设置不同的像素格式和其编码类型。
    示范代码:
     public void datasetImageInfoTest(){
            // 假设打开一个工作空间 workspace 对象,工作空间中存在一个数据源 datasource 对象
            // 创建一个影像数据集信息对象,设置相关信息。
            DatasetImageInfo datasetImageInfo = new DatasetImageInfo();
            datasetImageInfo.setName("image");
            datasetImageInfo.setBlockSizeOption(BlockSizeOption.BS_128);
            datasetImageInfo.setHeight(200);
            datasetImageInfo.setWidth(200);
            datasetImageInfo.setEncodeType(EncodeType.NONE);
    
            // 通过影像数据集信息创建影像数据集
            DatasetImage datasetImage = datasource.getDatasets().create(datasetImageInfo);
            if (datasetImage != null) {
                System.out.println(datasetImage.getName() + "创建成功!");
            }
    
            // 释放资源
            datasetImageInfo.dispose();
            datasetImage.close();
        }
     
    • 构造器详细资料

      • DatasetImageInfo

        public DatasetImageInfo()
        构造一个新的 DatasetImageInfo 对象。
      • DatasetImageInfo

        public DatasetImageInfo(DatasetImageInfo datasetImageInfo)
        根据给定的 DatasetImageInfo 对象构造一个与其完全相同的新对象。
        参数:
        datasetImageInfo - 指定的 DatasetImageInfo 对象。
      • DatasetImageInfo

        public DatasetImageInfo(String name,
                                int width,
                                int height,
                                PixelFormat pixelFormat,
                                EncodeType encodeType,
                                BlockSizeOption option,
                                int bandCount)
        根据给定的参数来构造一个 DatasetImageInfo 的新对象。
        参数:
        name - 指定的影像数据集的名称。
        width - 指定的影像数据集的宽度。单位为像素。
        height - 指定的影像数据集的高度。单位为像素。
        pixelFormat - 指定的影像数据集的像素格式。
        encodeType - 指定的影像数据集的编码方式。
        option - 指定的影像数据集的像素分块类型。
        bandCount - 指定的影像数据集的波段数。
        从以下版本开始:
        SuperMap iObjects Java 7.0.0
      • DatasetImageInfo

        public DatasetImageInfo(String name,
                                DatasetImage templateDataset)
        根据指定的参数来构造一个 DatasetImageInfo 的新对象。
        参数:
        name - 指定的名称。
        templateDataset - 指定的模板数据集。
    • 方法详细资料

      • getName

        public String getName()
        返回影像数据集的名称。
        返回:
        影像数据集的名称。
        默认值:
        默认值为 "UntitledDatasetImage"。
      • setName

        public void setName(String value)
        设置影像数据集的名称。
        参数:
        value - 影像数据集的名称。
      • getBandCount

        public int getBandCount()
        返回影像数据集的波段个数。
        返回:
        影像数据集的波段个数。
        从以下版本开始:
        SuperMap iObjects Java 7.0.0
        默认值:
        默认值为 1。
      • setBandCount

        public void setBandCount(int value)
        设置影像数据集的波段个数。

        创建影像数据集时,波段数可以设置为 0,此时,像素格式(setPixelFormat)和编码格式(setEncodeType)的设置是无效的,因为这些信息是针对波段而言,因此波段为 0 时无法保存。此影像数据集的像素格式和编码格式,将以向其中添加的第一个波段的相关信息为准。

        参数:
        value - 影像数据集的波段个数。
        从以下版本开始:
        SuperMap iObjects Java 7.0.0
      • getBounds

        public Rectangle2D getBounds()
        返回影像数据集的地理范围。
        返回:
        影像数据集的地理范围。
        默认值:
        影像数据集的地理范围即矩形的范围,默认值为(0,0,255,255)。 分别为矩形的左边界 X 坐标值、下边界 Y 坐标值、右边界 X 坐标值和上边界 Y 坐标值。
      • setBounds

        public void setBounds(Rectangle2D value)
        设置影像数据集的地理范围。
        参数:
        value - 影像数据集的地理范围。
      • getWidth

        public int getWidth()
        返回影像数据集的影像数据的宽度。单位为像素。
        返回:
        影像数据集的影像数据的宽度。
        默认值:
        默认值为 256 像素。
      • setWidth

        public void setWidth(int value)
        设置影像数据集的影像数据的宽度。单位为像素。
        参数:
        value - 影像数据集的影像数据的宽度。
      • getHeight

        public int getHeight()
        返回影像数据集的影像数据的高度。单位为像素。
        返回:
        影像数据集的影像数据的高度。
        默认值:
        默认值为 256 像素。
      • setHeight

        public void setHeight(int value)
        设置影像数据集的影像数据的高度。单位为像素。
        参数:
        value - 影像数据集的影像数据的高度。
      • getPixelFormat

        public PixelFormat getPixelFormat()
        返回影像数据存储的像素格式。每个象素采用不同的字节进行表示,单位是比特(bit)。详细信息请参考 PixelFormat 枚举类。

        注意:影像数据集不支持 DOUBLESINGLEBIT64 类型的像素格式。

        返回:
        影像数据存储的像素格式。
        另请参阅:
        PixelFormat
        默认值:
        默认值为 RGB 类型。
      • setPixelFormat

        public void setPixelFormat(PixelFormat value)
        设置影像数据存储的像素格式。每个象素采用不同的字节进行表示,单位是比特(bit)。详细信息请参考 PixelFormat 枚举类。

        注意:影像数据集不支持 DOUBLESINGLEBIT64 类型的像素格式。

        参数:
        value - 影像数据存储的像素格式。
        另请参阅:
        PixelFormat
      • getBlockSizeOption

        public BlockSizeOption getBlockSizeOption()
        返回影像数据的像素分块。以正方形方式进行分块存储,如下图所示按照4*4像素进行分块,将影像数据分为3行*3列的矩阵。其中在进行分块过程中,如果影像数据不足以进行完整地分块,那么采用空格补充完整进行存储。

        返回:
        影像数据的像素分块。
        默认值:
        默认值为 BlockSizeOption.BS_256
      • setBlockSizeOption

        public void setBlockSizeOption(BlockSizeOption option)
        设置影像数据的像素分块。
        参数:
        option - 影像数据的像素分块。
      • getEncodeType

        public EncodeType getEncodeType()
        返回影像数据集数据存储时的编码方式。对数据集采用压缩编码方式,可以减少数据存储所占用的空间,降低数据传输时的网络负载和服务器的负载。矢量数据集支持的编码方式有Byte,Int16,Int24,Int32,SGL,LZW,DCT,也可以指定为不使用编码方式。光栅数据支持的编码方式有DCT,SGL,LZW 或不使用编码方式。具体请参见 EncodeType 类型。

        注意:对于某些编码方式,系统有可能会将其改变为更适合该数据集存储时的编码方式。

        返回:
        影像数据集数据存储时的编码方式。
        另请参阅:
        EncodeType
        默认值:
        默认值为 DCT 类型。
      • setEncodeType

        public void setEncodeType(EncodeType encodeType)
        设置影像数据集数据存储时的编码方式。对数据集采用压缩编码方式,可以减少数据存储所占用的空间,降低数据传输时的网络负载和服务器的负载。矢量数据集支持的编码方式有Byte,Int16,Int24,Int32,SGL,LZW,DCT,也可以指定为不使用编码方式。光栅数据支持的编码方式有DCT,SGL,LZW 或不使用编码方式。具体请参见 EncodeType 类型。

        注意:对于某些编码方式,系统有可能会将其改变为更适合该数据集存储时的编码方式。

        参数:
        value - 影像数据集数据存储时的编码方式。
      • dispose

        public void dispose()
        释放该对象所占用的资源。当调用该方法之后,此对象不再可用。
      • toString

        public String toString()
        返回一个表示此影像数据集信息类的格式化字符串。返回的格式化的字符串为 {Name=””,Bounds={},Width=,Height=,PixelFormat=,BlockSize=,EncodeType=,ColorTable={}}。
        覆盖:
        toString 在类中 Object
        返回:
        一个表示此影像数据集信息类的格式化字符串。

Copyright © 2021–2024 SuperMap. All rights reserved.