com.supermap.data

类 DatasetVolumeInfo

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


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

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

    1. 需要指定体数据的剖切面数,剖切面数可以设置为 0,创建之后可以再向体数据中添加剖切面;
    2. 所有剖切面被设置为相同的像素格式和编码方式,创建体数据成功后,可以根据需求,再为每个剖切面设置不同的像素格式和其编码类型;
    3. SDE、ORACLESPATIAL、MONGODB、BEYONDB、SRDB引擎类型目前不支持体数据集。
    示范代码:
     public void datasetVolumeInfoTest(){
            // 假设打开一个工作空间 workspace 对象,工作空间中存在一个数据源 datasource 对象
            // 创建一个体数据集信息对象,对其进行必要的设置
            DatasetVolumeInfo datasetVolumeInfo = new DatasetVolumeInfo();
            datasetVolumeInfo.setName("体数据集信息");
            datasetVolumeInfo.setBlockSizeOption(BlockSizeOption.BS_128);
            datasetVolumeInfo.setHeight(200);
            datasetVolumeInfo.setWidth(200);
            datasetVolumeInfo.setSliceCount(0);
            datasetVolumeInfo.setEncodeType(EncodeType.NONE);
    
            // 通过体数据集信息创建体数据集
            DatasetVolume datasetVolume = datasource.getDatasets().create(
                    datasetVolumeInfo);
            if (datasetVolume != null) {
                System.out.println(datasetVolume.getName() + "创建成功!");
            }
    
            // 释放资源
            datasetVolumeInfo.dispose();
            datasetVolume.close();
        }
     
    • 构造器详细资料

      • DatasetVolumeInfo

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

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

        public DatasetVolumeInfo(String name,
                                 int width,
                                 int height,
                                 PixelFormat pixelFormat,
                                 EncodeType encodeType)
        根据给定的参数来构造一个 DatasetVolumeInfo 的新对象。
        参数:
        name - 指定的体数据集的名称。
        width - 指定的体数据集的宽度。单位为像素。
        height - 指定的体数据集的高度。单位为像素。
        pixelFormat - 指定的体数据集的像素格式。
        encodeType - 指定的体数据集的编码方式。
      • DatasetVolumeInfo

        public DatasetVolumeInfo(String name,
                                 int width,
                                 int height,
                                 PixelFormat pixelFormat,
                                 EncodeType encodeType,
                                 BlockSizeOption option)
        根据给定的参数来构造一个 DatasetVolumeInfo 的新对象。
        参数:
        name - 指定的体数据集的名称。
        width - 指定的体数据集的宽度。单位为像素。
        height - 指定的体数据集的高度。单位为像素。
        pixelFormat - 指定的体数据集的像素格式。
        encodeType - 指定的体数据集的编码方式。
        option - 指定的体数据集的像素分块类型。
      • DatasetVolumeInfo

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

      • getName

        public String getName()
        返回体数据集的名称。
        返回:
        体数据集的名称。
      • setName

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

        public Rectangle2D getBounds()
        返回体数据集的地理范围。
        返回:
        体数据集的地理范围。
      • setBounds

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

        public int getWidth()
        返回体数据集的体数据的宽度。单位为像素。
        返回:
        体数据集的体数据的宽度。
      • setWidth

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

        public int getHeight()
        返回体数据集的体数据的高度。单位为像素。
        返回:
        体数据集的体数据的高度。
      • setHeight

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

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

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

        返回:
        体数据存储的像素格式。
        默认值:
        默认值为 RGB 类型。
      • setPixelFormat

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

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

        参数:
        value - 体数据存储的像素格式。
      • getBlockSizeOption

        public BlockSizeOption getBlockSizeOption()
        返回体数据的像素分块。
        返回:
        体数据的像素分块。
        默认值:
        默认值为 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 类型。

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

        返回:
        体数据集数据存储时的编码方式。
      • setEncodeType

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

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

        参数:
        encodeType - 体数据集数据存储时的编码方式。
      • getSliceCount

        public int getSliceCount()
        返回体数据集的剖切面个数。
        返回:
        体数据集的剖切面个数。
        默认值:
        默认值为 1。
      • setSliceCount

        public void setSliceCount(int value)
        设置体数据集的剖切面个数。

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

        参数:
        value - 体数据集的剖切面个数。
      • isMultiSlice

        public boolean isMultiSlice()
        返回体数据集是否是多剖切面。
        返回:
        true是多剖切面,否则不是多剖切面。
      • toString

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

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

Copyright © 2021–2024 SuperMap. All rights reserved.