public class Datasets extends Object
数据集集合类。
提供对数据集的管理功能,如创建、删除、重命名等操作。一个数据源中所有的数据集对象都由一个数据集集合对象来管理。
数据集集合可以包含一种或多种类型的数据集,可以是矢量数据集,栅格数据集或影像数据集。 目前版本支持的数据集类型有:纯属性数据集(tabular dataset),点数据集(point dataset),线数据集(line dataset),面数据集(region dataset),文本数据集(text dataset),CAD数据集(CAD dataset),网络数据集(network dataset),影像数据集(image dataset)和栅格数据集(grid dataset)。
数据集对象所属的数据源的 isReadOnly()
返回值为 true 时,则不允许创建和删除数据集。
public int getCount()
public Dataset get(String name)
name
- 指定的数据集的名称。public Dataset get(int index)
index
- 指定数据集的序号。DatasetGrid.buildPyramid()
的示例。public Datasource getDatasource()
public DatasetVector createAndAppendWithSmid(String name, Recordset recordset)
name
- 数据集名称。recordset
- 记录集数据。public DatasetVector create(DatasetVectorInfo datasetInfo)
datasetInfo
- 矢量数据集信息。public DatasetVector create(DatasetVectorInfo datasetInfo, PrjCoordSys prj)
datasetInfo
- 矢量数据集信息。prj
- 投影public DatasetGrid create(DatasetGridInfo datasetInfo)
datasetInfo
- 栅格数据集信息。public DatasetVolume create(DatasetVolumeInfo datasetInfo)
datasetInfo
- 体数据集信息。public DatasetImage create(DatasetImageInfo datasetInfo)
SuperMap iObjects Java 支持创建多波段影像数据集,通过 DatasetImageInfo.setBandCount
方法可以设置波段数目。
如果是创建8位非灰度影像数据集,编码方式会从 DCT 自动调整为 LZW。
datasetInfo
- 影像数据集信息。public void createAndUpdate() { // 前提条件:已打开一个工作空间 workspace 对象,工作空间中存在一个数据源 datasource 对象,数据源中包含影像数据集"image"。 DatasetImage datasetImage1 = (DatasetImage) datasource.getDatasets().get("image"); // 以"image"数据集为模板创建新的数据集"newimage" DatasetImageInfo datasetImageInfo = new DatasetImageInfo("newimage", datasetImage1 ); DatasetImage datasetImage= datasets.create(datasetImageInfo); // 用"image"数据集更新"newimage"数据集 datasetImage.update(datasetImage1); }
public DatasetTopology create(DatasetTopologyInfo datasetInfo)
注意:UDB 引擎类型的数据源不支持拓扑数据集的创建。
datasetInfo
- 拓扑数据集信息。DatasetImage.create(DatasetImageInfo)
方法的示例。public DatasetVector create(DatasetRelationshipInfo datasetInfo)
datasetInfo
- 关系类数据集信息。public DatasetGridCollection createGridCollection(String name, PixelFormat pixFormat)
name
- 给定的名称。pixFormat
- 指定的像素格式。DatasetGridCollection 类的示例。
public DatasetGridCollection createGridCollection(DatasetGridCollectionInfo info)
info
- 指定的栅格数据集集合信息。public DatasetImageCollection createImageCollection(String name)
创建影像数据集集合类型的数据集不用指定集合的像素格式,默认统一采用 PixelFormat.RGB
的像素格式。
name
- 给定的名称。DatasetImageCollection 类的示例。
public DatasetImageCollection createImageCollection(DatasetImageCollectionInfo info)
info
- 指定的影像数据集集合信息。public Dataset createFromTemplate(String name, Dataset templateDataset)
在同一个数据源文件中,数据集名称必须唯一。通过 isAvailableDatasetName()
方法来判断数据集名称是否合法。
注意:通过模板数据集创建数据集,是将模板数据集的结构进行复制,并不复制模板数据集的内容。
模板数据集可以是下列三种数据集当中的一种:name
- 待创建的数据集名称,不能与数据源中已有数据集重名。templateDataset
- 作为模板的数据集。public boolean delete(String name)
name
- 指定的数据集的名称。public boolean delete(int index)
index
- 指定的数据集的序号。public void deleteAll()
public boolean isAvailableDatasetName(String name)
数据集的名称限制:数据集名称的长度限制为30个字符(也就是可以为30个英文字母或者15个汉字),组成数据集名称的字符可以为字母、汉字、数字和下划线,数据集名称不可以用数字和下划线开头,数据集名称不可以和数据库的保留关键字冲突。
name
- 待检查的数据集名称。Datasource.copyDataset()
的示例。public boolean isAvailableDatasetName(String name, DatasetType datasetType)
数据集的名称限制:数据集名称的长度限制为udb引擎模型22个字符,网络25个字符,组成数据集名称的字符可以为字母、汉字、数字和下划线,数据集名称不可以用数字和下划线开头,数据集名称不可以和数据库的保留关键字冲突。
name
- 待检查的数据集名称。datasetType
- 待检查的数据集类型。public String getAvailableDatasetName(String name)
数据集的名称限制:数据集名称的长度限制为30个字符(也就是可以为30个英文字母或者15个汉字),组成数据集名称的字符可以为字母、汉字、数字和下划线,数据集名称不可以用数字和下划线开头,数据集名称不可以和数据库的保留关键字冲突。
name
- 数据集名称。public String getAvailableDatasetName(String name, DatasetType datasetType)
数据集的名称限制:数据集名称的长度限制为udb引擎模型22个字符,网络25个字符,组成数据集名称的字符可以为字母、汉字、数字和下划线,数据集名称不可以用数字和下划线开头,数据集名称不可以和数据库的保留关键字冲突。
name
- 数据集名称。datasetType
- 数据集类型。public boolean rename(String oldName, String newName)
oldName
- 数据集的原始名称。newName
- 数据集的新名称。public boolean contains(String name)
name
- 数据集名称。@Deprecated public int indexOf(String name)
name
- 数据集名称public void addRenamingListener(DatasetRenamingListener l)
DatasetRenamingEvent
)的监听器。l
- 一个用于接收数据集重命名事件的监听器。public void removeRenamingListener(DatasetRenamingListener l)
DatasetRenamingEvent
)的监听器。l
- 一个用于接收数据集重命名事件的监听器。public void addRenamedListener(DatasetRenamedListener l)
DatasetRenamedEvent
)的监听器。l
- 一个用于接收数据集重命名结束事件的监听器。public void removeRenamedListener(DatasetRenamedListener l)
DatasetRenamedEvent
)的监听器。l
- 一个用于接收数据集重命名结束事件的监听器。public void addDeletingListener(DatasetDeletingListener l)
DatasetDeletingEvent
)的监听器。l
- 一个用于接收删除数据集事件的监听器。public void removeDeletingListener(DatasetDeletingListener l)
DatasetDeletingEvent
)的监听器。l
- 一个用于接收删除数据集事件的监听器。public void addDeletedListener(DatasetDeletedListener l)
DatasetDeletedEvent
)的监听器。l
- 一个用于接收删除数据集结束事件的监听器。public void removeDeletedListener(DatasetDeletedListener l)
DatasetDeletedEvent
)的监听器。l
- 一个用于接收删除数据集结束事件的监听器。public void addUnDeletedListener(DatasetUnDeletedListener l)
DatasetUnDeletedEvent
)的监听器。l
- 一个用于接收取消删除数据集事件的监听器。public void removeUnDeletedListener(DatasetUnDeletedListener l)
DatasetUnDeletedEvent
)的监听器。l
- 一个用于接收取消删除数据集事件的监听器。public void addDeleteFailedListener(DatasetDeleteFailedListener l)
DatasetDeleteFailedEvent
)的监听器。l
- 一个用于接收删除数据集失败事件的监听器。public void removeDeleteFailedListener(DatasetDeleteFailedListener l)
DatasetDeleteFailedEvent
)的监听器。l
- 一个用于接收删除数据集失败事件的监听器。public void addDeletingAllListener(DatasetDeletingAllListener l)
DatasetDeletingAllEvent
)的监听器。l
- 一个用于接收删除所有数据集事件的监听器。public void removeDeletingAllListener(DatasetDeletingAllListener l)
DatasetDeletingAllEvent
)的监听器。l
- 一个用于接收删除所有数据集事件的监听器。public void addUnDeletedAllListener(DatasetUnDeletedAllListener l)
DatasetUnDeletedEvent
)的监听器。l
- 一个用于接收取消删除所有数据集事件的监听器。public void removeUnDeletedAllListener(DatasetUnDeletedAllListener l)
DatasetUnDeletedEvent
)的监听器。l
- 一个用于接收取消删除所有数据集事件的监听器。public void addDeletedAllListener(DatasetDeletedAllListener l)
DatasetDeletedAllEvent
)的监听器。l
- 一个用于接收删除所有数据集结束事件的监听器。public void removeDeletedAllListener(DatasetDeletedAllListener l)
DatasetDeletedAllEvent
)的监听器。l
- 一个用于接收删除所有数据集结束事件的监听器。public void addCreatedListener(DatasetCreatedListener l)
DatasetCreatedEvent
)的监听器。l
- 一个用于接收数据集创建结束事件的监听器。public void removeCreatedListener(DatasetCreatedListener l)
DatasetCreatedEvent
)的监听器。l
- 一个用于接收数据集创建结束事件的监听器。public void refresh()
public DatasetVector SetExpTable(String strName)
注意:
strName
- 指定的可作外挂表的用户表名。public String[] getDatasetNames()
public DatasetMosaic createDatasetMosaic(String name, PrjCoordSys prjCoordSys)
name
- 指定创建的镶嵌数据集的名称。prjCoordSys
- 指定镶嵌数据集的投影。public DatasetMosaic createDatasetMosaic(String name, PrjCoordSys prjCoordSys, String productName)
name
- 数据集名称。prjCoordSys
- 数据集投影。productName
- (卫星)产品名称。@Deprecated public DatasetMosaic createDatasetMosaic(String name, PrjCoordSys prjCoordSys, String satelliteType, String extraFieldFilePath)
name
- 数据集名称。prjCoordSys
- 数据集投影。satelliteType
- 卫星类型名称,允许为空。extraFieldFilePath
- 扩展字段文件路径,允许为空。@Deprecated public DatasetMosaic createDatasetMosaic4Satellite(String name, PrjCoordSys prjCoordSys, String satelliteType, Map<String,String> extendAttributes)
name
- 数据集名称。prjCoordSys
- 数据集投影。satelliteType
- 卫星类型名称,允许为空。extendAttributes
- 扩展属性词典。public void lock()
public void unlock()
Copyright © 2021–2024 SuperMap. All rights reserved.