com.supermap.realspace
类 Theme3DRange

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

public class Theme3DRange
extends Theme3D

三维分段专题图类。

制作三维分段专题图,如果首尾区间没有设置风格,且没有设置默认风格,那么无论是采用 addToTail()还是 addToHead() 方法,首尾区间默认采用用户所添加的第一个分段的风格,比如:总共分5段,addToTail() 方法依次添加 [0,1)、[1,2)、[2,4)三段,那么首区间(负无穷,0),尾区间[4,正无穷),采用[0,1)的风格。

示例:
以下代码示范了如何制作三维分段专题图,并显示在三维场景中。
 public void TestThemeRange3D(DatasetVector targetDataset, Scene sceneObject) {
        // 进行三维场景的设置
        sceneObject.getAtmosphere().setVisible(true);
 
        // 生成三维分段专题图并显示在三维场景中
        Theme3DRange theme3DRange = Theme3DRange.makeDefault(targetDataset, "SmID",
                        RangeMode3D.EQUALINTERVAL, 8, ColorGradientType.TERRAIN);
        Layer3DDataset layer3DDatasetRange = sceneObject.getLayers().add(
                        targetDataset, theme3DRange, true);
        layer3DDatasetRange.updateData();
        sceneObject.refresh();
 }
 

构造方法摘要
Theme3DRange()
          构造一个新的 Theme3DRange 对象。
Theme3DRange(Theme3DRange theme3DRange)
          根据给定的 Theme3DRange 对象构造一个与其完全相同的新对象。
 
方法摘要
 boolean addToHead(Theme3DRangeItem item)
          把一个三维分段专题图子项添加到分段列表的开头。
 boolean addToTail(Theme3DRangeItem item)
          把一个三维分段专题图子项添加到分段列表的尾部。
 void clear()
          删除分段专题图的所有分段子项。
 void dispose()
          释放对象所占用的资源。
 Theme3DRangeItem get(int index)
          返回指定序号的三维分段专题图中三维分段专题图子项。
 int getCount()
          返回三维分段专题图中分段的个数。
 java.lang.String getRangeExpression()
          返回三维分段字段表达式。
 RangeMode3D getRangeMode()
          返回当前的三维分段模式。
 int indexOf(double value)
          返回分段专题图中指定分段字段值在当前分段序列中的序号。
static Theme3DRange makeDefault(DatasetVector dataset, java.lang.String rangeExpression, RangeMode3D rangeMode3D, double rangeParameter)
          根据给定的矢量数据集、分段字段表达式、分段模式和相应的分段参数生成默认的分段专题图。
static Theme3DRange makeDefault(DatasetVector dataset, java.lang.String rangeExpression, RangeMode3D rangeMode3D, double rangeParameter, ColorGradientType colorGradientType)
          根据给定的矢量数据集、分段字段表达式、分段模式、相应的分段参数和颜色渐变模式生成默认的分段专题图。
static Theme3DRange makeDefault(DatasetVector dataset, java.lang.String rangeExpression, RangeMode3D rangeMode3D, double rangeParameter, ColorGradientType colorGradientType, JoinItems joinItems)
          根据给定的矢量数据集、分段字段表达式、分段模式、相应的分段参数、颜色渐变填充模式和外部连接表项生成默认的分段专题图。
 boolean merge(int index, int count, GeoStyle3D style, java.lang.String caption)
          合并一个从指定序号起始的给定个数的分段专题图子项,并赋给合并后分段专题图子项显示风格和名称。
 void reverseStyle()
          对分段专题图中分段的风格进行反序显示。
 void setRangeExpression(java.lang.String value)
          设置三维分段字段表达式。
 boolean split(int index, double splitValue, GeoStyle3D style1, java.lang.String caption1, GeoStyle3D style2, java.lang.String caption2)
          根据给定的拆分分段值将一个指定序号的三维分段专题图子项拆分成两个具有各自风格和名称的三维分段专题图子项。
 java.lang.String toString()
          返回一个表示此三维分段专题图类对象的格式化字符串。
 
从类 com.supermap.realspace.Theme3D 继承的方法
fromXML, getMemoryData, getType, setMemoryData, toXML
 
从类 java.lang.Object 继承的方法
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

构造方法详细信息

Theme3DRange

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


Theme3DRange

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

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

get

public Theme3DRangeItem get(int index)
返回指定序号的三维分段专题图中三维分段专题图子项。有关三维分段专题图子项详细信息,请参见 Theme3DRangeItem 类。

参数:
index - 指定的三维分段专题图序号。
返回:
指定序号的三维分段专题图中三维分段专题图子项。
另请参见:
Theme3DRangeItem

getCount

public int getCount()
返回三维分段专题图中分段的个数。

返回:
三维分段专题图中分段的个数。
默认值:
默认值为 0。

getRangeExpression

public java.lang.String getRangeExpression()
返回三维分段字段表达式。

通过对比某要素三维分段字段表达式的值与(按照一定的分段模式确定的)各分段范围的分段值,来确定该要素所在的范围段,从而对落在不同分段内的要素设置为不同的风格。

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

setRangeExpression

public void setRangeExpression(java.lang.String value)
设置三维分段字段表达式。

通过对比某要素三维分段字段表达式的值与(按照一定的分段模式确定的)各分段范围的分段值,来确定该要素所在的范围段,从而对落在不同分段内的要素设置为不同的风格。

参数:
value - 指定三维分段字段表达式。

addToHead

public boolean addToHead(Theme3DRangeItem item)
把一个三维分段专题图子项添加到分段列表的开头。

参数:
item - 需要添加的三维分段专题图子项。
返回:
如果添加成功返回 true,否则返回 false。
示例:
请参见 Theme3DRangeItem 类的示例。

addToTail

public boolean addToTail(Theme3DRangeItem item)
把一个三维分段专题图子项添加到分段列表的尾部。

参数:
item - 需要添加的三维分段专题图子项。
返回:
如果添加成功返回 true,否则返回 false。

split

public boolean split(int index,
                     double splitValue,
                     GeoStyle3D style1,
                     java.lang.String caption1,
                     GeoStyle3D style2,
                     java.lang.String caption2)
根据给定的拆分分段值将一个指定序号的三维分段专题图子项拆分成两个具有各自风格和名称的三维分段专题图子项。注:splitValue 必须在拆分的范围之内。即大于三维分段专题图子项的起始值(Start)并且小于三维分段专题图子项的终止值(End),如果不满足上述条件,则抛出异常。

参数:
index - 指定的分段专题图子项的序号。
splitValue - 指定的拆分分段值。
style1 - 被拆分的两个分段专题图子项中的一个分段专题图子项的名称。
caption1 - 被拆分的两个分段专题图子项中的一个分段专题图子项的名称。
style2 - 被拆分的两个分段专题图子项中的另一个分段专题图子项的风格。
caption2 - 被拆分的两个分段专题图子项中的另一个分段专题图子项的名称。
返回:
如果拆分成功返回 true,否则返回 false。

merge

public boolean merge(int index,
                     int count,
                     GeoStyle3D style,
                     java.lang.String caption)
合并一个从指定序号起始的给定个数的分段专题图子项,并赋给合并后分段专题图子项显示风格和名称。执行该方法后,被合并的对象将被释放,不再可用。

参数:
index - 指定的分段专题图子项的序号,并以此序号为起始。
count - 要合并的分段专题图子项个数,即从指定的序号开始计算。
style - 合并后的分段专题图子项的风格。
caption - 合并后的分段专题图子项名称。
返回:
如果合并成功返回 true,否则返回 false。

makeDefault

public static Theme3DRange makeDefault(DatasetVector dataset,
                                       java.lang.String rangeExpression,
                                       RangeMode3D rangeMode3D,
                                       double rangeParameter)
根据给定的矢量数据集、分段字段表达式、分段模式和相应的分段参数生成默认的分段专题图。

参数:
dataset - 矢量数据集。
rangeExpression - 分段字段表达式。
rangeMode3D - 分段模式。包括等距离分段法,平方根分段法,标准差分段法,对数分段法,等计数分段法,以及自定义距离法。
rangeParameter - 分段参数。当分段模式为等距离分段法,平方根分段,对数分段法,等计数分段法其中一种模式时,该参数为分段个数;当分段模式为标准差分段法的时候,该参数不起作用;当分段模式为自定义距离时,该参数表示自定义距离。
返回:
根据参数构造得到一个新的 Theme3DRange 的对象实例。

makeDefault

public static Theme3DRange makeDefault(DatasetVector dataset,
                                       java.lang.String rangeExpression,
                                       RangeMode3D rangeMode3D,
                                       double rangeParameter,
                                       ColorGradientType colorGradientType)
根据给定的矢量数据集、分段字段表达式、分段模式、相应的分段参数和颜色渐变模式生成默认的分段专题图。

参数:
dataset - 矢量数据集。
rangeExpression - 分段字段表达式。
rangeMode3D - 分段模式。包括等距离分段法,平方根分段法,标准差分段法,对数分段法,等计数分段法,以及自定义距离法。
rangeParameter - 分段参数。当分段模式为等距离分段法,平方根分段,对数分段法,等计数分段法其中一种时,该参数为分段个数;当分段模式为标准差分段法的时候,该参数不起作用;当分段模式为自定义距离时,该参数表示自定义距离。
colorGradientType - 颜色渐变模式。
返回:
根据参数构造得到一个新的 Theme3DRange 的对象实例。

makeDefault

public static Theme3DRange makeDefault(DatasetVector dataset,
                                       java.lang.String rangeExpression,
                                       RangeMode3D rangeMode3D,
                                       double rangeParameter,
                                       ColorGradientType colorGradientType,
                                       JoinItems joinItems)
根据给定的矢量数据集、分段字段表达式、分段模式、相应的分段参数、颜色渐变填充模式和外部连接表项生成默认的分段专题图。

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

参数:
dataset - 矢量数据集。
rangeExpression - 分段字段表达式。
rangeMode3D - 分段模式。包括等距离分段法,平方根分段法,标准差分段法,对数分段法,等计数分段法,以及自定义距离法。
rangeParameter - 分段参数。当分段模式为等距离分段法,平方根分段,对数分段法,等计数分段法其中一种时,该参数为分段个数;当分段模式为标准差分段法的时候,该参数不起作用;当分段模式为自定义距离时,该参数表示自定义距离。
colorGradientType - 颜色渐变模式。
joinItems - 外部表连接项。
返回:
根据参数构造得到一个新的 Theme3DRange 的对象实例。

indexOf

public int indexOf(double value)
返回分段专题图中指定分段字段值在当前分段序列中的序号。

参数:
value - 给定的分段字段值。
返回:
分段字段值在分段序列中的序号。如果该值不存在,就返回-1。

reverseStyle

public void reverseStyle()
对分段专题图中分段的风格进行反序显示。比如,专题图有三个分段,分别为 item1,item2,item3,调用反序显示后,item3 的风格与 item1 会调换,item2 的显示风格不变。


clear

public void clear()
删除分段专题图的所有分段子项。执行该方法后,所有的分段专题图子项都被释放,不再可用。


dispose

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


getRangeMode

public RangeMode3D getRangeMode()
返回当前的三维分段模式。

返回:
当前的三维分段模式。

toString

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

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