public class DatasetGroup
extends com.supermap.data.InternalHandle
数据集分组支持嵌套,分组下可再创建子分组。初始数据源默认有一个根分组(RootGroupID=0),根分组不具有实际意义,表示第0层(Level0)分组,是第1层(Level1)分组的父分组。
数据集分组不限制数据集的类型、坐标系、值域等,同一数据集分组下可包含矢量、栅格等任意类型的数据集,但一个数据集不允许存在于多个分组下。
该类适用的引擎类型EngineType
包括:UDBX、PostGIS、Yukon、PostgreSQL、Oracle、DM、MySQL。
以下代码示范如何创建、删除数据集分组。
//打开数据源 sm_datasource。
//获取数据源根分组。
DatasetGroup rootGroup = sm_datasource.getRootGroup();
String newGroupName = "del_createGroupTest";
//获取根分组下所有子分组集合,根据指定分组名称创建一个新分组。
DatasetGroup newGroup = rootGroup.getChildGroups().create(newGroupName);
//根据指定分组名称删除一个数据集分组。
rootGroup.getChildGroups().delete(newGroupName);
public DatasetGroup getParent()
public boolean setParent(DatasetGroup parentGroup)
parentGroup
- 父分组对象,可设置为任意分组对象,包括根分组。IllegalStateException
- 当前数据集分组对象或设置的父分组对象已被释放。public void refreshChildGroups()
public DatasetGroups getChildGroups()
public String getName()
@Deprecated public void setName(String newName)
DatasetGroup.rename(String)
方法。newName
- 当前数据集分组的名称。public boolean rename(String newName)
数据集分组名称唯一(不区分大小写,例如“WORLD”和“world”同名),命名规则同数据集命名规则。
newName
- 新的数据集分组名称。IllegalStateException
- 当前数据集分组对象已被释放。IllegalArgumentException
- 新的分组名称已存在。public Dataset get(int index)
index
- 指定要查找的数据集对象的索引。public Dataset get(String datasetName)
datasetName
- 指定的数据集名。IllegalStateException
- 当前数据集分组对象已被释放。public String[] getDatasetNames()
IllegalStateException
- 当前数据集分组对象已被释放。public int getID()
IllegalStateException
- 当前数据集分组对象已被释放。public Datasource getDatasource()
public int getCount()
@Deprecated public int add(Dataset dataset)
DatasetGroup.createDataset(DatasetVectorInfo)
、复制 DatasetGroup.copyDatasetGroup(DatasetGroup, String)
、移动 DatasetGroup.moveDataset(DatasetGroup, String)
等方法均已包含添加数据集到分组的功能。dataset
- 指定的数据集。@Deprecated public boolean remove(String datasetName)
datasetName
- 待移除的数据集名称。public int indexOf(String datasetName)
datasetName
- 指定的数据集的名称。public int indexOf(Dataset dataset)
没找到返回-1,找到大于等于0。
dataset
- 被查找的数据集对象。IllegalStateException
- 当前数据集分组对象被释放。public DatasetVector createDataset(DatasetVectorInfo datasetInfo)
目前支持的矢量数据集类型包括:二三维点/线/面数据集、文本数据集、复合数据集。
datasetInfo
- 矢量数据集信息。IllegalStateException
- 当前数据集分组对象或数据源对象已被释放。public DatasetGrid createDataset(DatasetGridInfo datasetInfo)
datasetInfo
- 栅格数据集信息。IllegalStateException
- 当前数据集分组对象或数据源对象已被释放。public DatasetImage createDataset(DatasetImageInfo datasetInfo)
datasetInfo
- 影像数据集信息。IllegalStateException
- 当前数据集分组对象或数据源对象已被释放。public DatasetVector createDataset(DatasetRelationshipInfo datasetInfo)
datasetInfo
- 关系型数据集信息。IllegalStateException
- 当前数据集分组对象或数据源对象已被释放。public DatasetTopology createDataset(DatasetTopologyInfo datasetInfo)
datasetInfo
- 拓扑数据集信息。IllegalStateException
- 当前数据集分组对象或数据源对象已被释放。public DatasetVolume createDataset(DatasetVolumeInfo datasetInfo)
datasetInfo
- 体数据集信息。IllegalStateException
- 当前数据集分组对象或数据源对象已被释放。public DatasetMosaic createDatasetMosaic(String name, PrjCoordSys prjCoordSys)
name
- 镶嵌数据集的名称。prjCoordSys
- 镶嵌数据集的投影坐标系IllegalStateException
- 当前数据集分组对象或数据源对象已被释放。public boolean deleteDataset(String datasetName)
datasetName
- 指定的数据集名称。IllegalStateException
- 当前数据集分组对象或数据源对象已被释放。public boolean moveDataset(DatasetGroup desGroup, String dtName)
desGroup
- 移动到的目标数据集分组。dtName
- 指定的数据集名称。IllegalStateException
- 当前数据集分组对象、数据源对象或目标数据集分组对象已被释放。IllegalStateException
- 待移动的数据集对象已被释放。public String getAvailableGroupName(String name)
可用的数据集分组名称规则:(1)符合命名规则,同数据集命名规则;(2)当前数据源下数据集分组名称唯一,当存在重名时,默认在名称后补充序列号,例如“datasetgroup_1”、“datasetgroup_2”。
name
- 输入的数据集分组名称。IllegalStateException
- 当前数据集分组对象、数据源对象已被释放。public boolean isAvailableGroupName(String name)
可用的数据集分组名称规则:(1)符合命名规则,同数据集命名规则;(2)当前数据源下数据集分组名称唯一,当存在重名时,默认在名称后补充序列号,例如“datasetgroup_1”、“datasetgroup_2”。
name
- 输入的数据集分组名称。IllegalStateException
- 当前数据集分组对象、数据源对象已被释放。public void add(String datasetName)
datasetName
- 数据集名称。public void addRenamedListener(DatasetGroupRenamedListener l)
DatasetGroupRenamedEvent
)的监听器。l
- 一个用于接收数据集分组重命名结束事件的监听器。public void removeRenamedListener(DatasetGroupRenamedListener l)
DatasetGroupRenamedEvent
)的监听器。l
- 一个用于接收数据集分组重命名结束事件的监听器。public void addRenamingListener(DatasetGroupRenamingListener l)
DatasetGroupRenamingEvent
)的监听器。l
- 一个用于接收数据集分组重命名事件的监听器。public void removeRenamingListener(DatasetGroupRenamingListener l)
DatasetGroupRenamingEvent
)的监听器。l
- 一个用于接收数据集分组重命名事件的监听器。public void addAddedListener(DatasetGroupItemAddedListener l)
DatasetGroupItemAddedEvent
)的监听器。l
- 一个用于接收向数据集分组中添加数据集结束事件的监听器。public void removeAddedListener(DatasetGroupItemAddedListener l)
DatasetGroupItemAddedEvent
)的监听器。l
- 一个用于接收向数据集分组中添加数据集结束事件的监听器。public void addRemovingListener(DatasetGroupItemRemovingListener l)
DatasetGroupItemRemovingEvent
)的监听器。l
- 一个用于接收删除数据集分组中数据集事件的监听器。public void removeRemovingListener(DatasetGroupItemRemovingListener l)
DatasetGroupItemRemovingEvent
)的监听器。l
- 一个用于接收删除数据集分组中数据集事件的监听器。public void addRemovedListener(DatasetGroupItemRemovedListener l)
DatasetGroupItemRemovedEvent
)的监听器。l
- 一个用于接收删除数据集分组中数据集结束事件的监听器。public void removeRemovedListener(DatasetGroupItemRemovedListener l)
DatasetGroupItemRemovedEvent
)的监听器。l
- 一个用于接收删除数据集分组中数据集结束事件的监听器。public void addChangedListener(DatasetGroupItemChangedListener l)
DatasetGroupChangedEvent
)的监听器。l
- 一个用于接收改变数据集到其它分组事件的监听器。public void removeChangedListener(DatasetGroupItemChangedListener l)
DatasetGroupChangedEvent
)的监听器。l
- 一个用于接数据集改变到其它分组事件的监听器。public void addSteppedListener(SteppedListener l)
SteppedEvent
)的监听器。l
- 用于接收进度条事件的监听器。public void removeSteppedListener(SteppedListener l)
SteppedEvent
)的监听器。l
- 用于移除进度条事件的监听器。public String getExtInfo()
IllegalStateException
- 分组对应的数据源对象、当前分组对象已被释放。public DatasetGroup copyDatasetGroup(DatasetGroup desGroup, String targetGroupName)
将复制数据集分组及分组下的所有子分组和数据集。支持在当前数据源内的复制,和跨数据源的复制。
当前数据源下数据集分组名称和数据集名称需唯一,复制时存在重名时,默认在名称后补充序列号,例如“datasetgroup_1”、“datasetgroup_2”、“dataset_1”、“dataset_2。
desGroup
- 目标数据源的目标分组对象,复制后的新分组对象将作为此目标分组对象的子分组。targetGroupName
- 复制后新分组对象的分组名称。IllegalStateException
- 被复制的分组对象、目标分组对象或新分组对象已被释放。IllegalStateException
- 目标数据源为只读。IllegalArgumentException
- 新分组的名称为null或为空。IllegalArgumentException
- 设置的新分组名称已存在。public DatasetGroup copyDatasetGroup(DatasetGroup desGroup, String targetGroupName, SteppedListener listener)
将复制数据集分组及分组下的所有子分组和数据集。支持在当前数据源内的复制,和跨数据源的复制。
当前数据源下数据集分组名称和数据集名称需唯一,复制时存在重名时,默认在名称后补充序列号,例如“datasetgroup_1”、“datasetgroup_2”、“dataset_1”、“dataset_2。
desGroup
- 目标数据源的目标分组对象,复制后的新分组对象将作为此目标分组对象的子分组。targetGroupName
- 复制后新分组对象的分组名称。listener
- 事件监听,用于获取复制操作的执行进度,和取消执行中的复制操作。IllegalStateException
- 数据源对象、被复制的分组对象、目标分组对象已被释放。IllegalStateException
- 目标数据源为只读。IllegalArgumentException
- 新分组的名称为null或为空。IllegalArgumentException
- 设置的新分组名称已存在。public void setExtInfo(String value)
value
- 数据集分组的描述信息。IllegalStateException
- 分组对应的数据源对象、当前分组对象已被释放。public void dispose()
Copyright © 2021–2024 SuperMap. All rights reserved.