com.supermap.data

类 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()
        返回当前数据集分组的名称。
        返回:
        当前数据集分组的名称。
      • 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()
        返回当前数据集分组包含的数据集对象总数。
        返回:
        当前数据集分组包含的数据集对象总数。
      • 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 - 一个用于接收向数据集分组中添加数据集结束事件的监听器。
      • 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 - 用于移除进度条事件的监听器。
      • hashCode

        public int hashCode()
        覆盖:
        hashCode 在类中 Object
      • 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.