com.supermap.data
类 DatasetImageInfo

java.lang.Object
  继承者 com.supermap.data.DatasetImageInfo

public class DatasetImageInfo
extends java.lang.Object

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

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

  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()
          构造一个新的 DatasetImageInfo 对象。
DatasetImageInfo(DatasetImageInfo datasetImageInfo)
          根据给定的 DatasetImageInfo 对象构造一个与其完全相同的新对象。
DatasetImageInfo(java.lang.String name, DatasetImage templateDataset)
          根据指定的参数来构造一个 DatasetImageInfo 的新对象。
DatasetImageInfo(java.lang.String name, int width, int height, PixelFormat pixelFormat, EncodeType encodeType, BlockSizeOption blockSizeOption, int bandCount)
          根据给定的参数来构造一个 DatasetImageInfo 的新对象。
 
方法摘要
 void dispose()
          释放该对象所占用的资源。
 int getBandCount()
          返回影像数据集的波段个数。
 BlockSizeOption getBlockSizeOption()
          返回影像数据的像素分块。
 Rectangle2D getBounds()
          返回影像数据集的地理范围。
 EncodeType getEncodeType()
          返回影像数据集数据存储时的编码方式。
 int getHeight()
          返回影像数据集的影像数据的高度。
 java.lang.String getName()
          返回影像数据集的名称。
 PixelFormat getPixelFormat()
          返回影像数据存储的像素格式。
 int getWidth()
          返回影像数据集的影像数据的宽度。
 void setBandCount(int value)
          设置影像数据集的波段个数。
 void setBlockSizeOption(BlockSizeOption option)
          设置影像数据的像素分块。
 void setBounds(Rectangle2D value)
          设置影像数据集的地理范围。
 void setEncodeType(EncodeType value)
          设置影像数据集数据存储时的编码方式。
 void setHeight(int value)
          设置影像数据集的影像数据的高度。
 void setName(java.lang.String value)
          设置影像数据集的名称。
 void setPixelFormat(PixelFormat value)
          设置影像数据存储的像素格式。
 void setWidth(int value)
          设置影像数据集的影像数据的宽度。
 java.lang.String toString()
          返回一个表示此影像数据集信息类的格式化字符串。
 
从类 java.lang.Object 继承的方法
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

构造方法详细信息

DatasetImageInfo

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


DatasetImageInfo

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

参数:
datasetImageInfo - 指定的 DatasetImageInfo 对象。

DatasetImageInfo

public DatasetImageInfo(java.lang.String name,
                        DatasetImage templateDataset)
根据指定的参数来构造一个 DatasetImageInfo 的新对象。

参数:
name - 指定的名称。
templateDataset - 指定的模板数据集。

DatasetImageInfo

public DatasetImageInfo(java.lang.String name,
                        int width,
                        int height,
                        PixelFormat pixelFormat,
                        EncodeType encodeType,
                        BlockSizeOption blockSizeOption,
                        int bandCount)
根据给定的参数来构造一个 DatasetImageInfo 的新对象。

参数:
name - 指定的影像数据集的名称。
width - 指定的影像数据集的宽度。单位为像素。
height - 指定的影像数据集的高度。单位为像素。
pixelFormat - 指定的影像数据集的像素格式。
encodeType - 指定的影像数据集的编码方式。
blockSizeOption - 指定的影像数据集的像素分块类型。
bandCount - 指定的影像数据集的波段数。
从以下版本开始:
SuperMap iObjects Java 7.0.0
方法详细信息

getName

public java.lang.String getName()
返回影像数据集的名称。

返回:
影像数据集的名称。
默认值:
默认值为 "UntitledDatasetImage"。

setName

public void setName(java.lang.String value)
设置影像数据集的名称。

参数:
value - 影像数据集的名称。

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

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

参数:
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

dispose

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


toString

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

覆盖:
java.lang.Object 中的 toString
返回:
一个表示此影像数据集信息类的格式化字符串。