com.supermap.realspace
类 Theme3DUnique

java.lang.Object
  继承者 com.supermap.realspace.Theme3D
      继承者 com.supermap.realspace.Theme3DUnique

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()
          构造一个新的 Theme3DUnique 对象。
Theme3DUnique(Theme3DUnique theme3DUnique)
          根据给定的 Theme3DUnique 对象构造一个与其完全相同的新对象。
 
方法摘要
 int add(Theme3DUniqueItem item)
          添加一个三维单值专题图子项到三维单值专题图子项列表中。
 void clear()
          删除所有三维单值专题图子项。
 void dispose()
          释放该对象所占用的资源。
 Theme3DUniqueItem get(int index)
          返回指定序号的三维单值专题图子项。
 int getCount()
          返回三维单值专题图子项个数。
 GeoStyle3D getDefaultStyle()
          返回三维单值专题图的默认风格,对于那些未在三维单值专题图子项之列的对象使用该风格显示。
 java.lang.String getUniqueExpression()
          返回三维单值专题图字段表达式。
 int indexOf(java.lang.String unique)
          返回三维单值专题图中指定子项单值在当前序列中的序号。
 boolean insert(int index, Theme3DUniqueItem item)
          将给定的三维单值专题图子项插入到指定序号的位置。
static Theme3DUnique makeDefault(DatasetVector dataset, java.lang.String uniqueExpression)
          根据给定的矢量数据集和三维单值专题图字段表达式生成默认的三维单值专题图。
static Theme3DUnique makeDefault(DatasetVector dataset, java.lang.String uniqueExpression, ColorGradientType colorGradientType)
          根据给定的矢量数据集、单值专题图字段表达式和颜色渐变模式生成默认的单值专题图。
static Theme3DUnique makeDefault(DatasetVector dataset, java.lang.String uniqueExpression, ColorGradientType colorGradientType, JoinItems joinItems)
          根据给定的矢量数据集、单值专题图字段表达式、颜色渐变模式和外部表连接项生成默认的三维单值专题图。
static Theme3DUnique makeDefault(DatasetVector dataset, java.lang.String colorField, Colors colors)
          根据指定的颜色,面数据集和颜色字段生成默认的四色三维单值专题图。
 boolean remove(int index)
          删除一个指定序号的三维单值专题图子项。
 void reverseStyle()
          对三维单值专题图中子项的风格进行反序显示。
 void setDefaultStyle(GeoStyle3D style)
          设置三维单值专题图的默认风格,对于那些未在三维单值专题图子项之列的对象使用该风格显示。
 void setUniqueExpression(java.lang.String value)
          设置三维单值专题图字段表达式。
 java.lang.String toString()
          返回一个表示此三维单值专题图类对象的格式化字符串。
 
从类 com.supermap.realspace.Theme3D 继承的方法
fromXML, getMemoryData, getType, setMemoryData, toXML
 
从类 java.lang.Object 继承的方法
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

构造方法详细信息

Theme3DUnique

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


Theme3DUnique

public Theme3DUnique(Theme3DUnique theme3DUnique)
根据给定的 Theme3DUnique 对象构造一个与其完全相同的新对象。

参数:
theme3DUnique - 给定的 Theme3DUnique 对象。
方法详细信息

get

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

参数:
index - 指定的三维单值专题图子项的序号。
返回:
指定序号的三维单值专题图子项。

getCount

public int getCount()
返回三维单值专题图子项个数。

返回:
三维单值专题图子项个数。
默认值:
默认值为 0。

getUniqueExpression

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

返回:
三维单值专题图字段表达式。
默认值:
默认值为一个空的字符串。

setUniqueExpression

public void setUniqueExpression(java.lang.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,
                                        java.lang.String uniqueExpression)
根据给定的矢量数据集和三维单值专题图字段表达式生成默认的三维单值专题图。

参数:
dataset - 给定的矢量数据集。
uniqueExpression - 三维单值专题图字段表达式。
返回:
根据参数构造得到一个新的三维单值专题图类型的对象实例。

makeDefault

public static Theme3DUnique makeDefault(DatasetVector dataset,
                                        java.lang.String uniqueExpression,
                                        ColorGradientType colorGradientType)
根据给定的矢量数据集、单值专题图字段表达式和颜色渐变模式生成默认的单值专题图。

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

makeDefault

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

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

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

makeDefault

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

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

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

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

indexOf

public int indexOf(java.lang.String unique)
返回三维单值专题图中指定子项单值在当前序列中的序号。

参数:
unique - 给定的三维单值专题图子项单值。
返回:
专题图子项在序列中的序号值。如果该值不存在,就返回-1。

reverseStyle

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


toString

public java.lang.String toString()
返回一个表示此三维单值专题图类对象的格式化字符串。 return 表示此三维单值专题图类对象的格式化字符串。

指定者:
Theme3D 中的 toString
返回:
三维专题图的格式化字符串。

dispose

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