com.supermap.data

类 SymbolGroups



  • public class SymbolGroups
    extends Object
    符号库分组集合类。

    该类的对象是符号库分组对象的集合,即 SymbolGroup 类对象的集合,用于管理符号库分组中的子分组,包括在分组中创建及移除子分组等操作。

    如下图所示,结合 SuperMap Object Java 的接口,利用图示帮助理解符号库的组织结构,该结构适用于点状符号库、线型符号库和填充符号库。

    符号库的组织结构类似于Windows资源管理器的组织结构,磁盘的根目录下可以存在零个或多个文件夹以及零个或多个文件,每个文件夹中又可以有零个或多个子文件夹以及零个或多个文件,以此类推层层嵌套;符号库的根组就相当于这个磁盘的根目录,文件夹可以看做符号库的子分组,文件就好比各种符号,一个符号库只能存在一个根组,根组中可以有零个或多个子分组以及零个或多个符号,每个子分组下还可以有零个或多个子分组以及零个或多个符号,以此类推。

    如下图所示,红色虚线框所示是符号库的根组,根组也是分组,对应 SymbolGroup 类对象,根组是符号库的最高分组层次,根组中可以包含零个或多个子分组以及零个或多个符号,子分组也是分组,同样对应 SymbolGroup 类对象,其中所有子分组又构成一个子分组集合,对应 SymbolGroups 类对象,根组中至多有一个分组集合,即SymbolGroups 类对象,SymbolGroups 类对象是 SymbolGroup 类对象的集合,用来管理根组中的各子分组,通过 SymbolGroups 类对象来完成根组中子分组的创建与移除。当子分组(例如下图绿色框所示)中还包含有零个或多个子分组以及零个或多个符号,那么这些子分组和符号又构成了的一个分组(下图蓝色虚线框所示), 而这个绿色框标识的子分组称为蓝色虚线框所示的这个分组的父分组,并且,蓝色虚线框中的所有子分组构成了一个子分组集合,对应一个 SymbolGroups 类对象,同样该蓝色虚线框所示的分组中也至多有一个子分组集合,通过这个子分组集合对象来完成该蓝色虚线框所示的分组中的子分组的创建与移除。以此类推,下图中的黄色框所示的子分组对应一个 SymbolGroup 类对象,粉色虚线框内的子分组又构成一个分组对象(此分组对象中包含零个符号和三个子分组),即对应一个 SymbolGroup 类对象,因此,黄色框所示的分组是粉色虚线框所示分组的父分组,同样粉色虚线框所示分组中也包含了一个子分组集合。总之,符号库呈现一种树形组织结构。

    注:所谓的分组和子分组是符号库的逻辑组织形式,都是使用户可以将类别相同的符号放在一个组中,从而方便管理和使用。

    综上所述,一个符号库(SymbolLibrary)包含有唯一的一个根组(SymbolGroup 类对象),每个 SymbolGroup 类对象至多包含有一个 SymbolGroups 类对象,但却可以包含有零个或多个 Symbol 类对象,其中 SymbolGroups 类对象是 SymbolGroup 类对象的集合,以此实现符号库的树形管理结构。

    • 方法详细资料

      • get

        public SymbolGroup get(int index)
        返回该分组集合中指定索引处的子分组(即 SymbolGroup 类对象)。有关分组集合的具体组织结构,请参见 SymbolGroups 类的描述。
        参数:
        index - 指定的索引。
        返回:
        该分组集合中指定索引处的子分组。
      • get

        public SymbolGroup get(String name)
        根据给定的名称,返回分组集合中相对应的子分组(即 SymbolGroup 类对象)。有关分组集合的具体组织结构,请参见 SymbolGroups 类的描述。
        参数:
        name - 给定的名称。
        返回:
        该分组集合中指定名称的子分组。
      • getCount

        public int getCount()
        返回该分组集合中的子分组的个数。有关分组集合的具体组织结构,请参见 SymbolGroups 类的描述。
        返回:
        该分组集合中的子分组的个数。
        另请参阅:
        SymbolGroup
        示范代码:
        请参见 SymbolGroup 类的示例。
      • indexOf

        public int indexOf(String name)
        返回指定名称的子分组对象(即 SymbolGroup 类对象)在该分组集合中的索引值。
        参数:
        name - 指定的子分组名称,即类对象的名称。
        返回:
        指定名称的子分组对象在该分组集合中的索引值。
      • create

        public SymbolGroup create(String name)
        在该分组集合中创建子分组(即 SymbolGroup 类对象)。
        参数:
        name - 新的子分组的名称,如果名称已存,则抛出异常。
        返回:
        新创建的子分组对象。
        另请参阅:
        SymbolGroup
        示范代码:
        请参见 SymbolGroup 类的示例。
      • contains

        public boolean contains(String name)
        测试指定的名称在分组集合中是否已经存在。
        参数:
        name - 要进行测试的名称。
        返回:
        如果包含返回 true,否则返回 false。
        另请参阅:
        SymbolGroup
        示范代码:
        请参见 SymbolGroup 类的示例。
      • remove

        public boolean remove(String name)
        移除该分组集合中指定名称的子分组对象。这里的移除只是修改分组的情况,也就是改变逻辑组织结构,而不会删除该分组下的子分组和符号对象。

        首先,详细介绍一下符号库的逻辑管理结构,然后,通过图示方式帮助理解移除分组集合(即 SymbolGroups 类对象)中的子分组(即 SymbolGroup 类对象)情况。

        如下图所示,结合 SuperMap Object Java 的接口,利用图示帮助理解符号库的组织结构,该结构适用于点状符号库、线型符号库和填充符号库。

        符号库的组织结构类似于Windows资源管理器的组织结构,磁盘的根目录下可以存在零个或多个文件夹以及零个或多个文件,每个文件夹中又可以有零个或多个子文件夹以及零个或多个文件,以此类推层层嵌套;符号库的根组就相当于这个磁盘的根目录,文件夹可以看做符号库的子分组,文件就好比各种符号,一个符号库只能存在一个根组,根组中可以有零个或多个子分组以及零个或多个符号,每个子分组下还可以有零个或多个子分组以及零个或多个符号,以此类推。

        如下图所示,红色虚线框所示是符号库的根组,根组也是分组,对应 SymbolGroup 类对象,根组是符号库的最高分组层次,根组中可以包含零个或多个子分组以及零个或多个符号,子分组也是分组,同样对应 SymbolGroup 类对象,其中所有子分组又构成一个子分组集合,对应 SymbolGroups 类对象,根组中至多有一个分组集合,即SymbolGroups 类对象,SymbolGroups 类对象是 SymbolGroup 类对象的集合,用来管理根组中的各子分组,通过 SymbolGroups 类对象来完成根组中子分组的创建与移除。当子分组(例如下图绿色框所示)中还包含有零个或多个子分组以及零个或多个符号,那么这些子分组和符号又构成了的一个分组(下图蓝色虚线框所示), 而这个绿色框标识的子分组称为蓝色虚线框所示的这个分组的父分组,并且,蓝色虚线框中的所有子分组构成了一个子分组集合,对应一个 SymbolGroups 类对象,同样该蓝色虚线框所示的分组中也至多有一个子分组集合,通过这个子分组集合对象来完成该蓝色虚线框所示的分组中的子分组的创建与移除。以此类推,下图中的黄色框所示的子分组对应一个 SymbolGroup 类对象,粉色虚线框内的子分组又构成一个分组对象(此分组对象中包含零个符号和三个子分组),即对应一个 SymbolGroup 类对象,因此,黄色框所示的分组是粉色虚线框所示分组的父分组,同样粉色虚线框所示分组中也包含了一个子分组集合。总之,符号库呈现一种树形组织结构。

        注:所谓的分组和子分组是符号库的逻辑组织形式,都是使用户可以将类别相同的符号放在一个组中,从而方便管理和使用。

        综上所述,一个符号库(SymbolLibrary)包含有唯一的一个根组(SymbolGroup 类对象),每个 SymbolGroup 类对象至多包含有一个 SymbolGroups 类对象,但却可以包含有零个或多个 Symbol 类对象,其中 SymbolGroups 类对象是 SymbolGroup 类对象的集合,以此实现符号库的树形管理结构。

        例如,要移除图一中绿色方框所示的子分组,则移除后不会删除该分组下包含的所有的子分组和符号对象,只是改变了逻辑管理结构,被移除的子分组内包含的子分组和符号对象会移到被移除子分组的父分组(图一图二中黄色框所示为被移除子分组的父分组)下,因此,当移除操作成功后,被移除子分组的父分组逻辑结果会发生变化,但是被删除子分组下的子分组各自的逻辑结构并不改变,也就是图一中粉色虚线框内的子分组及子分组下的结构不变。移除成功后,原来的组织结构变成图二所示的样子,对比图一中蓝色虚线框与图二中粉色虚线框内的变化,即为本例中成功移除子分组后的变化。

        参数:
        name - 要进移除的分组名称。
        返回:
        移除成功返回 true,失败返回 false。
        另请参阅:
        SymbolGroup
        示范代码:
        请参见 SymbolGroup 类的示例。

Copyright © 2021–2024 SuperMap. All rights reserved.