com.supermap.realspace

类 Theme3DUnique

  • 所有已实现的接口:
    IDisposable


    public class Theme3DUnique
    extends Theme3D
    三维单值专题图类。

    三维单值专题图类,继承自 Theme3D 类。三维单值专题图将字段或表达式的值相同的要素采用相同的风格来显示,从而用来区分不同的类别。单值专题图着重表示现象质的差别,一般不表示数量的特征。尤其是有交叉或重叠现象时,不推荐使用三维单值专题图,例如:民族分布区等。

    注意:如果通过连接(Join)或关联(Link)的方式与一个外部表建立了联系,当专题图的专题变量用到外部表的字段时,在显示专题图时,需要调用 Layer3DDataset.setDisplayFilter() 方法,否则专题图将出图失败。

    示范代码:
    以下代码示范了如何制作三维单值专题图,并显示在三维场景中。
     public void testTheme3DUnique(DatasetVector targetDataset, Scene sceneObject) {
            // 进行三维场景的设置
            sceneObject.setWorkspace(workspace);
            sceneObject.getAtmosphere().setVisible(true);
     
            // 生成三维单值专题图并显示在三维场景中
            Theme3DUnique theme3DUnique = Theme3DUnique.makeDefault(targetDataset,
                            "SmID", ColorGradientType.TERRAIN);
            Layer3DDataset layer3DDatasetUnique = sceneObject.getLayers().add(
                            targetDataset, theme3DUnique, true);
            layer3DDatasetUnique.updateData();
            sceneObject.refresh();
     
     }
     
    • 构造器详细资料

      • Theme3DUnique

        public Theme3DUnique()
        构造一个新的 Theme3DUnique 对象。
      • Theme3DUnique

        public Theme3DUnique(Theme3DUnique themeUnique3D)
        根据给定的 Theme3DUnique 对象构造一个与其完全相同的新对象。
        参数:
        themeUnique3D - 给定的 Theme3DUnique 对象。
    • 方法详细资料

      • get

        public Theme3DUniqueItem get(int index)
        返回指定序号的三维单值专题图子项。
        参数:
        index - 指定的三维单值专题图子项的序号。
        返回:
        指定序号的三维单值专题图子项。
      • getCount

        public int getCount()
        返回三维单值专题图子项个数。
        返回:
        三维单值专题图子项个数。
        默认值:
        默认值为 0。
      • getUniqueExpression

        public String getUniqueExpression()
        返回三维单值专题图字段表达式。三维单值专题图字段表达式是用于制作三维单值专题图的字段或字段表达式。该字段可以为要素的某一属性(如地质图中的年代或成份),其值的数据类型可以为数值型或字符型。
        返回:
        三维单值专题图字段表达式。
        默认值:
        默认值为一个空的字符串。
      • setUniqueExpression

        public void setUniqueExpression(String value)
        设置三维单值专题图字段表达式。三维单值专题图字段表达式是用于制作三维单值专题图的字段或字段表达式。该字段可以为要素的某一属性(如地质图中的年代或成份),其值的数据类型可以为数值型或字符型。
        参数:
        value - 指定三维单值专题图字段表达式。
      • getDefaultStyle

        public GeoStyle3D getDefaultStyle()
        返回三维单值专题图的默认风格,对于那些未在三维单值专题图子项之列的对象使用该风格显示。如未设置,则使用图层默认风格显示。
        返回:
        三维单值专题图的默认风格。
        默认值:
        默认值为GeoStyle3D(FillForeColor =java.awt.Color[r=255,g=255,b=255],LineColor =java.awt.Color[r=255,g=255,b=0],LineWidth = 1.0,MarkerIconFile =,MarkerIconScale = 1.0,MarkerColor =java.awt.Color[r=255,g=255,b=0],MarkerSize = 4.0,Fill3DMode =LINE_AND_FILL,BottomAltitude = 0.0,ExtendedHeight = 0.0,TilingU =1.0,TilingV = 1.0,TopTextureFile = ,AltitudeMode =CLAMP_TO_GROUND})
      • setDefaultStyle

        public void setDefaultStyle(GeoStyle3D style)
        设置三维单值专题图的默认风格,对于那些未在三维单值专题图子项之列的对象使用该风格显示。如未设置,则使用图层默认风格显示。
        参数:
        style - 指定三维单值专题图的默认风格。
      • add

        public int add(Theme3DUniqueItem item)
        添加一个三维单值专题图子项到三维单值专题图子项列表中。
        参数:
        item - 待添加的三维单值专题图子项。
        返回:
        如果添加成功返回被添加子项在序列中的序号,否则返回-1。
        示范代码:
        参见 Theme3DUniqueItem 类的示例。
      • insert

        public boolean insert(int index,
                              Theme3DUniqueItem item)
        将给定的三维单值专题图子项插入到指定序号的位置。
        参数:
        index - 指定的三维单值专题图子项序列的序号。
        item - 待插入的单值专题图子项。
        返回:
        如果插入成功返回 true,否则返回 false。
      • remove

        public boolean remove(int index)
        删除一个指定序号的三维单值专题图子项。
        参数:
        index - 指定的待删除的三维单值专题图子项序列的序号。
        返回:
        如果删除成功,返回 true;否则返回 false。
      • clear

        public void clear()
        删除所有三维单值专题图子项。执行该方法后,所有的三维单值专题图子项都被释放,不再可用。
      • makeDefault

        public static Theme3DUnique makeDefault(DatasetVector dataset,
                                                String uniqueExpression)
        根据给定的矢量数据集和三维单值专题图字段表达式生成默认的三维单值专题图。
        参数:
        dataset - 给定的矢量数据集。
        uniqueExpression - 三维单值专题图字段表达式。
        返回:
        根据参数构造得到一个新的三维单值专题图类型的对象实例。
      • makeDefault

        public static Theme3DUnique makeDefault(DatasetVector dataset,
                                                String uniqueExpression,
                                                ColorGradientType colorGradientType)
        根据给定的矢量数据集、单值专题图字段表达式和颜色渐变模式生成默认的单值专题图。
        参数:
        dataset - 给定的矢量数据集。
        uniqueExpression - 三维单值专题图字段表达式。
        colorGradientType - 颜色渐变模式。
        返回:
        根据参数构造得到一个新的三维单值专题图类型的对象实例。
      • makeDefault

        public static Theme3DUnique makeDefault(DatasetVector dataset,
                                                String uniqueExpression,
                                                ColorGradientType colorGradientType,
                                                JoinItems joinItems)
        根据给定的矢量数据集、单值专题图字段表达式、颜色渐变模式和外部表连接项生成默认的三维单值专题图。

        注意:通过连接外部表的方式制作专题图时,对于 UDB 数据源,连接类型不支持内连接,即 JoinType 类不支持 INNERJOIN

        参数:
        dataset - 给定的矢量数据集。
        uniqueExpression - 三维单值专题图字段表达式。
        colorGradientType - 颜色渐变模式。
        joinItems - 外部表连接项。
        返回:
        根据参数构造得到一个新的三维单值专题图类型的对象实例。
      • makeDefault

        public static Theme3DUnique makeDefault(DatasetVector dataset,
                                                String colorField,
                                                Colors colors)
        根据指定的颜色,面数据集和颜色字段生成默认的四色三维单值专题图。

        四色三维单值专题图是指在一幅地图上,只用四种颜色就能使具有公共边的面对象着上不同的颜色。

        注意:在面数据集复杂度低的情形下可以保证是四色,在复杂度高的情形下着色结果可能是五色。

        参数:
        dataset - 指定的面数据集。
        colorField - 着色字段名。着色字段为数值型字段,存储的数值代表不同的颜色,生成专题图时根据该字段的值对地图进行着色。注意:着色字段名不可与已存在的字段重名。
        colors - 用户传入的用来制作专题图的颜色。系统对传入颜色的数目不做规定,比如,用户只传入了一种颜色,则在生成专题图时,系统会自动补齐出图所需的颜色。
        返回:
        根据参数构造得到一个新的三维单值专题图类型的对象实例。
      • indexOf

        public int indexOf(String unique)
        返回三维单值专题图中指定子项单值在当前序列中的序号。
        参数:
        unique - 给定的三维单值专题图子项单值。
        返回:
        专题图子项在序列中的序号值。如果该值不存在,就返回-1。
      • reverseStyle

        public void reverseStyle()
        对三维单值专题图中子项的风格进行反序显示。
      • fromXML

        public boolean fromXML(String xml)
        从类复制的说明: Theme3D
        从 XML 字符串中导入三维专题图信息。

        在 SuperMap 中,各种三维专题图的风格的设置都可以导出成 XML 格式的字符串,此 XML 格式的字符串中记录了关于这种三维专题图的所有设置,如对于三维标签专题图的 XML 格式字符串会记录三维专题图的类型,标签的风格,是否流动显示,是否自动避让、用来制作标签专题图的字段或表达式等等。这种 XML 格式的字符串可以用来导入,对三维专题图进行设置。

        覆盖:
        fromXML 在类中 Theme3D
        参数:
        xml - 包含三维专题图信息的 XML 字符串。
        返回:
        导入成功返回 true;否则返回 false。
      • toString

        public String toString()
        返回一个表示此三维单值专题图类对象的格式化字符串。 return 表示此三维单值专题图类对象的格式化字符串。
        指定者:
        toString 在类中 Theme3D
        返回:
        三维专题图的格式化字符串。
      • dispose

        public void dispose()
        释放该对象所占用的资源。当调用该方法之后,此对象不再可用。
      • isDefaultModellingStyleEnable

        public boolean isDefaultModellingStyleEnable()
      • setDefaultModellingStyleEnable

        public void setDefaultModellingStyleEnable(boolean value)

Copyright © 2021–2024 SuperMap. All rights reserved.