类 DatasetGroup
- java.lang.Object
-
- com.supermap.data.InternalHandle
-
- com.supermap.data.DatasetGroup
-
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);
-
-
方法概要
-
-
-
方法详细资料
-
getParent
public DatasetGroup getParent()
返回当前数据集分组的父节点。- 返回:
- 当前数据集分组的父节点。
-
setParent
public boolean setParent(DatasetGroup parentGroup)
设置当前数据集分组的父分组对象,当前分组可作为任意分组的子分组。- 参数:
parentGroup
- 父分组对象,可设置为任意分组对象,包括根分组。- 返回:
- 设置成功返回 true,否则返回 false。
- 抛出:
IllegalStateException
- 当前数据集分组对象或设置的父分组对象已被释放。- 从以下版本开始:
- 11.2.0版本
-
refreshChildGroups
public void refreshChildGroups()
刷新当前分组下的子分组和当前分组下的数据集。
-
getChildGroups
public DatasetGroups getChildGroups()
返回当前数据集分组集合的子组集合。- 返回:
- 当前数据集分组集合的子组集合。
-
getName
public String getName()
返回当前数据集分组的名称。- 返回:
- 当前数据集分组的名称。
-
setName
@Deprecated public void setName(String newName)
已过时。 替换为DatasetGroup.rename(String)
方法。设置当前数据集分组的名称。- 参数:
newName
- 当前数据集分组的名称。
-
rename
public boolean rename(String newName)
数据集分组重命名。数据集分组名称唯一(不区分大小写,例如“WORLD”和“world”同名),命名规则同数据集命名规则。
- 参数:
newName
- 新的数据集分组名称。- 返回:
- 重命名成功返回 true,否则返回 false。
- 抛出:
IllegalStateException
- 当前数据集分组对象已被释放。IllegalArgumentException
- 新的分组名称已存在。- 从以下版本开始:
- 11.2.0版本
-
get
public Dataset get(int index)
返回当前数据集分组中指定索引位置处的数据集对象。- 参数:
index
- 指定要查找的数据集对象的索引。- 返回:
- 指定索引处地数据集对象。
-
get
public Dataset get(String datasetName)
获取当前数据集分组下(包括子分组下)指定名称的数据集对象。- 参数:
datasetName
- 指定的数据集名。- 返回:
- 数据集对象。
- 抛出:
IllegalStateException
- 当前数据集分组对象已被释放。- 从以下版本开始:
- 11.2.0版本
-
getDatasetNames
public String[] getDatasetNames()
获取当前数据集分组下(包括子分组下)的所有数据集名称。- 返回:
- 数据集名称数组
- 抛出:
IllegalStateException
- 当前数据集分组对象已被释放。- 从以下版本开始:
- 11.2.0版本
-
getID
public int getID()
获取当前数据集分组的ID。- 返回:
- 当前数据集分组的ID。
- 抛出:
IllegalStateException
- 当前数据集分组对象已被释放。- 从以下版本开始:
- 11.2.0版本
-
getDatasource
public Datasource getDatasource()
返回当前数据集分组的数据源。- 返回:
- 当前数据集分组的数据源。
-
getCount
public int getCount()
返回当前数据集分组包含的数据集对象总数。- 返回:
- 当前数据集分组包含的数据集对象总数。
-
add
@Deprecated public int add(Dataset dataset)
已过时。 数据集分组下对数据集的新建DatasetGroup.createDataset(DatasetVectorInfo)
、复制DatasetGroup.copyDatasetGroup(DatasetGroup, String)
、移动DatasetGroup.moveDataset(DatasetGroup, String)
等方法均已包含添加数据集到分组的功能。向当前数据集分组中添加指定的数据集。- 参数:
dataset
- 指定的数据集。- 返回:
- 新添加的数据集在当前数据集分组中的索引。
-
remove
@Deprecated public boolean remove(String datasetName)
已过时。从当前数据集分组中移除指定的数据集。- 参数:
datasetName
- 待移除的数据集名称。- 返回:
- 移除成功返回true,否则返回false。
-
indexOf
public int indexOf(String datasetName)
返回当前数据集分组中指定名称的数据集索引。- 参数:
datasetName
- 指定的数据集的名称。- 返回:
- 指定的数据集在当前数据集分组中的索引值。
-
indexOf
public int indexOf(Dataset dataset)
概述:查找数据集对象的索引。没找到返回-1,找到大于等于0。
- 参数:
dataset
- 被查找的数据集对象。- 返回:
- 返回数据集对应索引位置。
- 抛出:
IllegalStateException
- 当前数据集分组对象被释放。
-
createDataset
public DatasetVector createDataset(DatasetVectorInfo datasetInfo)
在当前数据集分组下创建一个矢量数据集。目前支持的矢量数据集类型包括:二三维点/线/面数据集、文本数据集、复合数据集。
- 参数:
datasetInfo
- 矢量数据集信息。- 返回:
- 矢量数据集对象。
- 抛出:
IllegalStateException
- 当前数据集分组对象或数据源对象已被释放。- 从以下版本开始:
- 11.2.0版本
-
createDataset
public DatasetGrid createDataset(DatasetGridInfo datasetInfo)
在当前数据集分组下创建一个栅格数据集。- 参数:
datasetInfo
- 栅格数据集信息。- 返回:
- 栅格数据集对象。
- 抛出:
IllegalStateException
- 当前数据集分组对象或数据源对象已被释放。- 从以下版本开始:
- 11.2.0版本
-
createDataset
public DatasetImage createDataset(DatasetImageInfo datasetInfo)
在当前数据集分组下创建一个影像数据集。- 参数:
datasetInfo
- 影像数据集信息。- 返回:
- 影像数据集对象。
- 抛出:
IllegalStateException
- 当前数据集分组对象或数据源对象已被释放。- 从以下版本开始:
- 11.2.0版本
-
createDataset
public DatasetVector createDataset(DatasetRelationshipInfo datasetInfo)
在当前数据集分组下创建一个关系型数据集。- 参数:
datasetInfo
- 关系型数据集信息。- 返回:
- 关系型数据集对象。
- 抛出:
IllegalStateException
- 当前数据集分组对象或数据源对象已被释放。- 从以下版本开始:
- 11.2.0版本
-
createDataset
public DatasetTopology createDataset(DatasetTopologyInfo datasetInfo)
在当前数据集分组下创建一个拓扑数据集。- 参数:
datasetInfo
- 拓扑数据集信息。- 返回:
- 拓扑数据集对象。
- 抛出:
IllegalStateException
- 当前数据集分组对象或数据源对象已被释放。- 从以下版本开始:
- 11.2.0版本
-
createDataset
public DatasetVolume createDataset(DatasetVolumeInfo datasetInfo)
在当前数据集分组下创建一个体数据集。- 参数:
datasetInfo
- 体数据集信息。- 返回:
- 体数据集对象。
- 抛出:
IllegalStateException
- 当前数据集分组对象或数据源对象已被释放。- 从以下版本开始:
- 11.2.0版本
-
createDatasetMosaic
public DatasetMosaic createDatasetMosaic(String name, PrjCoordSys prjCoordSys)
在当前数据集分组下创建一个镶嵌数据集。- 参数:
name
- 镶嵌数据集的名称。prjCoordSys
- 镶嵌数据集的投影坐标系- 返回:
- 镶嵌数据集对象。
- 抛出:
IllegalStateException
- 当前数据集分组对象或数据源对象已被释放。- 从以下版本开始:
- 11.2.0版本
-
deleteDataset
public boolean deleteDataset(String datasetName)
删除当前数据集分组下(包括子分组下)指定名称的数据集。- 参数:
datasetName
- 指定的数据集名称。- 返回:
- 删除数据集成功返回 true,否则返回 false。
- 抛出:
IllegalStateException
- 当前数据集分组对象或数据源对象已被释放。- 从以下版本开始:
- 11.2.0版本
-
moveDataset
public boolean moveDataset(DatasetGroup desGroup, String dtName)
将当前数据集分组下指定名称的数据集,移动到其它目标数据集分组下。这里的目标分组可以为任意分组。- 参数:
desGroup
- 移动到的目标数据集分组。dtName
- 指定的数据集名称。- 返回:
- 移动数据集成功返回 true,否则返回 false。
- 抛出:
IllegalStateException
- 当前数据集分组对象、数据源对象或目标数据集分组对象已被释放。IllegalStateException
- 待移动的数据集对象已被释放。- 从以下版本开始:
- 11.2.0版本
-
getAvailableGroupName
public String getAvailableGroupName(String name)
根据输入的名称,获取一个可用的数据集分组名称。可用的数据集分组名称规则:(1)符合命名规则,同数据集命名规则;(2)当前数据源下数据集分组名称唯一,当存在重名时,默认在名称后补充序列号,例如“datasetgroup_1”、“datasetgroup_2”。
- 参数:
name
- 输入的数据集分组名称。- 返回:
- 一个可用的数据集分组名称。
- 抛出:
IllegalStateException
- 当前数据集分组对象、数据源对象已被释放。- 从以下版本开始:
- 11.2.0版本
-
isAvailableGroupName
public boolean isAvailableGroupName(String name)
根据输入的名称,判断是否为可用的数据集分组名称。可用的数据集分组名称规则:(1)符合命名规则,同数据集命名规则;(2)当前数据源下数据集分组名称唯一,当存在重名时,默认在名称后补充序列号,例如“datasetgroup_1”、“datasetgroup_2”。
- 参数:
name
- 输入的数据集分组名称。- 返回:
- 判断为可用的数据集分组名称,返回 true,否则返回 false。
- 抛出:
IllegalStateException
- 当前数据集分组对象、数据源对象已被释放。- 从以下版本开始:
- 11.2.0版本
-
add
public void add(String datasetName)
一般用于其它功能,如导入有分组的数据后触发当前分组的监听事件。- 参数:
datasetName
- 数据集名称。
-
addRenamedListener
public void addRenamedListener(DatasetGroupRenamedListener l)
添加一个用于接收数据集分组重命名结束事件(DatasetGroupRenamedEvent
)的监听器。- 参数:
l
- 一个用于接收数据集分组重命名结束事件的监听器。
-
removeRenamedListener
public void removeRenamedListener(DatasetGroupRenamedListener l)
移除一个用于接收数据集分组重命名结束事件(DatasetGroupRenamedEvent
)的监听器。- 参数:
l
- 一个用于接收数据集分组重命名结束事件的监听器。
-
addRenamingListener
public void addRenamingListener(DatasetGroupRenamingListener l)
添加一个用于接收数据集分组重命名事件(DatasetGroupRenamingEvent
)的监听器。- 参数:
l
- 一个用于接收数据集分组重命名事件的监听器。
-
removeRenamingListener
public void removeRenamingListener(DatasetGroupRenamingListener l)
移除一个用于接收数据集分组重命名事件(DatasetGroupRenamingEvent
)的监听器。- 参数:
l
- 一个用于接收数据集分组重命名事件的监听器。
-
addAddedListener
public void addAddedListener(DatasetGroupItemAddedListener l)
添加一个用于接收向数据集分组中添加数据集结束事件(DatasetGroupItemAddedEvent
)的监听器。- 参数:
l
- 一个用于接收向数据集分组中添加数据集结束事件的监听器。
-
removeAddedListener
public void removeAddedListener(DatasetGroupItemAddedListener l)
移除一个用于接收向数据集分组中添加数据集结束事件(DatasetGroupItemAddedEvent
)的监听器。- 参数:
l
- 一个用于接收向数据集分组中添加数据集结束事件的监听器。
-
addRemovingListener
public void addRemovingListener(DatasetGroupItemRemovingListener l)
添加一个用于接收删除数据集分组中数据集事件(DatasetGroupItemRemovingEvent
)的监听器。- 参数:
l
- 一个用于接收删除数据集分组中数据集事件的监听器。
-
removeRemovingListener
public void removeRemovingListener(DatasetGroupItemRemovingListener l)
移除一个用于接收删除数据集分组中数据集事件(DatasetGroupItemRemovingEvent
)的监听器。- 参数:
l
- 一个用于接收删除数据集分组中数据集事件的监听器。
-
addRemovedListener
public void addRemovedListener(DatasetGroupItemRemovedListener l)
添加一个用于接收删除数据集分组中数据集结束事件(DatasetGroupItemRemovedEvent
)的监听器。- 参数:
l
- 一个用于接收删除数据集分组中数据集结束事件的监听器。
-
removeRemovedListener
public void removeRemovedListener(DatasetGroupItemRemovedListener l)
移除一个用于接收删除数据集分组中数据集结束事件(DatasetGroupItemRemovedEvent
)的监听器。- 参数:
l
- 一个用于接收删除数据集分组中数据集结束事件的监听器。
-
addChangedListener
public void addChangedListener(DatasetGroupItemChangedListener l)
添加一个用于接收数据集改变到其它分组事件(DatasetGroupChangedEvent
)的监听器。- 参数:
l
- 一个用于接收改变数据集到其它分组事件的监听器。
-
removeChangedListener
public void removeChangedListener(DatasetGroupItemChangedListener l)
移除一个用于接收数据集改变到其它分组事件(DatasetGroupChangedEvent
)的监听器。- 参数:
l
- 一个用于接数据集改变到其它分组事件的监听器。
-
addSteppedListener
public void addSteppedListener(SteppedListener l)
添加一个用于接收进度条事件(SteppedEvent
)的监听器。- 参数:
l
- 用于接收进度条事件的监听器。
-
removeSteppedListener
public void removeSteppedListener(SteppedListener l)
添加一个用于移除进度条事件(SteppedEvent
)的监听器。- 参数:
l
- 用于移除进度条事件的监听器。
-
getExtInfo
public String getExtInfo()
获取数据集分组的描述信息。- 返回:
- 数据集分组的描述信息
- 抛出:
IllegalStateException
- 分组对应的数据源对象、当前分组对象已被释放。
-
copyDatasetGroup
public DatasetGroup copyDatasetGroup(DatasetGroup desGroup, String targetGroupName)
复制数据集分组。将复制数据集分组及分组下的所有子分组和数据集。支持在当前数据源内的复制,和跨数据源的复制。
当前数据源下数据集分组名称和数据集名称需唯一,复制时存在重名时,默认在名称后补充序列号,例如“datasetgroup_1”、“datasetgroup_2”、“dataset_1”、“dataset_2。
- 参数:
desGroup
- 目标数据源的目标分组对象,复制后的新分组对象将作为此目标分组对象的子分组。targetGroupName
- 复制后新分组对象的分组名称。- 返回:
- 复制后的新分组对象。
- 抛出:
IllegalStateException
- 被复制的分组对象、目标分组对象或新分组对象已被释放。IllegalStateException
- 目标数据源为只读。IllegalArgumentException
- 新分组的名称为null或为空。IllegalArgumentException
- 设置的新分组名称已存在。- 从以下版本开始:
- 11.2.0版本
-
copyDatasetGroup
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
- 设置的新分组名称已存在。- 从以下版本开始:
- 11.2.0版本
-
setExtInfo
public void setExtInfo(String value)
设置数据集分组的描述信息。- 参数:
value
- 数据集分组的描述信息。- 抛出:
IllegalStateException
- 分组对应的数据源对象、当前分组对象已被释放。
-
dispose
public void dispose()
释放该对象所占用的资源。当调用该方法之后,此对象不再可用。
-
-
Copyright © 2021–2024 SuperMap. All rights reserved.