类 Theme3DGraph
- java.lang.Object
-
- com.supermap.data.InternalHandle
-
- com.supermap.data.InternalHandleDisposable
-
- com.supermap.realspace.Theme3D
-
- com.supermap.realspace.Theme3DGraph
-
- 所有已实现的接口:
- IDisposable
public class Theme3DGraph extends Theme3D
三维统计专题图类。三维标签专题图用图形的形式在三维图层上直接显示属性表中的数据,其实质就是对图层的图形统计表现。目前三维统计专题图仅支持柱状效果。在 三维统计专题图中,你可以为所有的标签都设置统一的显示风格来显示。
- 示范代码:
- 以下代码示范了如何制作三维标签专题图,并显示在三维场景中。
public void TestThemeLabel3D(DatasetVector targetDataset,String labelExpression, Scene sceneObject) { // 进行三维地图场景的设置 sceneObject.getAtmosphere().setVisible(true); // 生成三维标签专题图并显示在三维场景中 Theme3DLabel theme3DLabel = new Theme3DLabel(); theme3DLabel.setLabelExpression(labelExpression); TextStyle textStyle = new TextStyle(); textStyle.setForeColor(Color.PINK); textStyle.setFontScale(0.8); textStyle.setOpaqueRate(70); themeLabel3D.setUniformStyle(textStyle); Layer3DDataset layer3DDatasetLabel = sceneObject.getLayers().add(targetDataset, themeLabel3D, true); layer3DDatasetLabel.updateData(); sceneObject.refresh(); }
-
-
构造器概要
构造器 构造器和说明 Theme3DGraph()
构造一个新的 Theme3DGraph 对象。Theme3DGraph(Theme3DGraph theme3DGraph)
根据给定的 Theme3DGraph 对象构造一个与其完全相同的新对象。
-
方法概要
所有方法 实例方法 具体方法 限定符和类型 方法和说明 int
add(Theme3DGraphItem item)
添加统计专题图的子项到专题图子项列表中。void
calculateExtremum(Dataset dataset)
void
clear()
删除统计专题图中的所有子项。void
dispose()
释放该对象所占用的资源。boolean
exchangeItem(int index1, int index2)
将指定序号的两个子项进行位置交换。boolean
fromXML(String xml)
从 XML 字符串中导入三维专题图信息。double
getBarWidth()
返回柱状图中每一个柱的宽度。int
getCount()
返回三维统计专题图子项的个数。GraduatedMode3D
getGraduatedMode3D()
返回专题图分级模式。Theme3DGraphTextFormat
getGraph3DTextFormat()
返回统计专题图文本显示格式,如百分数、真实数值、标题、标题+百分数、标题+真实数值。TextStyle
getGraph3DTextStyle()
返回统计图上的文字标注风格。Theme3DGraphType
getGraph3DType()
返回三维统计专题图的统计图类型。Theme3DGraphItem
getItem(int index)
返回指定序号的三维统计专题图子项。double
getMaxGraphSize()
返回统计专题图中统计符号显示的最大值。int[]
getMemoryKeys()
返回以内存数组方式制作专题图时的键数组。double
getMinGraphSize()
返回统计专题图中统计符号显示的最小值。double
getStartAngle()
返回饼状统计图的起始角度,默认以饼的圆心右侧水平方向为起始线,逆时针方向为正方向。int
indexOf(String graphExpression)
返回统计专题图中指定统计字段表达式的对象在当前统计图子项序列中的序号。boolean
insert(int index, Theme3DGraphItem item)
将给定的统计专题图子项插入到指定序号的位置。boolean
isGraph3DTextDisplayed()
返回是否显示统计图上的文本标注。boolean
remove(int index)
在统计专题图子项序列中删除指定序号的统计专题图子项。void
setBarWidth(double value)
设置柱状图中每一个柱的宽度。void
setGraduatedMode3D(GraduatedMode3D value)
设置专题图分级模式。void
setGraph3DTextDisplayed(boolean value)
设置是否显示统计图上的文本标注。void
setGraph3DTextFormat(Theme3DGraphTextFormat theme3DGraphTextFormat)
设置统计专题图文本显示格式,如百分数、真实数值、标题、标题+百分数、标题+真实数值。void
setGraph3DTextStyle(TextStyle textStyle)
设置统计图上的文字标注风格。void
setGraph3DType(Theme3DGraphType theme3DGraphType)
设置三维统计专题图的统计图类型。void
setItem(int index, Theme3DGraphItem item)
用指定的三维统计专题图子项替代指定序号上的三维统计专题图子项。void
setMaxGraphSize(double value)
设置统计专题图中统计符号显示的最大值。void
setMemoryKeys(int[] values)
设置以内存数组方式制作专题图时的键数组。void
setMinGraphSize(double value)
设置统计专题图中统计符号显示的最小值。void
setStartAngle(double value)
设置饼状统计图的起始角度,默认以水平方向为正向。String
toString()
返回一个表示此三维统计专题图类对象的格式化字符串。-
从类继承的方法 com.supermap.realspace.Theme3D
getMemoryData, getType, setMemoryData, toXML
-
-
-
-
构造器详细资料
-
Theme3DGraph
public Theme3DGraph()
构造一个新的 Theme3DGraph 对象。
-
Theme3DGraph
public Theme3DGraph(Theme3DGraph theme3DGraph)
根据给定的 Theme3DGraph 对象构造一个与其完全相同的新对象。- 参数:
theme3DGraph
- 给定的 Theme3DGraph 对象。
-
-
方法详细资料
-
getItem
public Theme3DGraphItem getItem(int index)
返回指定序号的三维统计专题图子项。- 参数:
index
- 指定的序号。- 返回:
- 指定序号的三维统计专题图子项。
-
setItem
public void setItem(int index, Theme3DGraphItem item)
用指定的三维统计专题图子项替代指定序号上的三维统计专题图子项。- 参数:
index
- 指定的序号。item
- 指定的三维统计专题图子项。
-
getCount
public int getCount()
返回三维统计专题图子项的个数。- 返回:
- 三维统计专题图子项的个数。
- 默认值:
- 默认值为 0。
-
getGraph3DType
public Theme3DGraphType getGraph3DType()
返回三维统计专题图的统计图类型。根据实际的数据和用途的不同,可以选择不同类型的统计图。支持3种类型的统计图类型: 其中包括柱状图
BAR
、饼图PIE
、堆叠柱状图STACK_BAR
。详细信息请参见
Theme3DGraphType
。- 返回:
- 统计专题图的统计图类型。
- 默认值:
- 默认值为
Theme3DGraphType.BAR
。
-
setGraph3DType
public void setGraph3DType(Theme3DGraphType theme3DGraphType)
设置三维统计专题图的统计图类型。根据实际的数据和用途的不同,可以选择不同类型的统计图。SuperMap iObjects Java 8C 支持3种类型的统计图类型。 其中包括柱状图
BAR
、饼图PIE
、堆叠柱状图STACK_BAR
。详细信息请参见
Theme3DGraphType
。- 参数:
theme3DGraphType
- 统计专题图的统计图类型。
-
getBarWidth
public double getBarWidth()
返回柱状图中每一个柱的宽度。单位为米。注意:只有选择的统计图类型为三维柱状图
Theme3DGraphType.BAR
、三维堆叠柱状图Theme3DGraphType.STACK_BAR
时,此项才可设置。- 返回:
- 柱状图中每一个柱的宽度。单位为米。
- 默认值:
- 默认值为 0,单位为米。
-
setBarWidth
public void setBarWidth(double value)
设置柱状图中每一个柱的宽度。单位为米。注意:只有选择的统计图类型为三维柱状图
Theme3DGraphType.BAR
、三维堆叠柱状图Theme3DGraphType.STACK_BAR
时,此项才可设置。- 参数:
value
- 柱状图中每一个柱的宽度。单位为米。
-
getStartAngle
public double getStartAngle()
返回饼状统计图的起始角度,默认以饼的圆心右侧水平方向为起始线,逆时针方向为正方向。单位为度,精确到 0.1 度。注意:只有选择的统计图类型为三维饼状图
Theme3DGraphType.BAR
时,此项才可设置。- 返回:
- 饼状统计图的起始角度。单位为度。
- 默认值:
- 默认值为 0,单位为度。
-
setStartAngle
public void setStartAngle(double value)
设置饼状统计图的起始角度,默认以水平方向为正向。单位为度,精确到 0.1 度。注意:只有选择的统计图类型为三维饼状图
Theme3DGraphType.BAR
时,此项才可设置。- 参数:
value
- 饼状统计图的起始角度。单位为度。
-
getGraph3DTextStyle
public TextStyle getGraph3DTextStyle()
返回统计图上的文字标注风格。- 返回:
- 统计图上的文字标注风格。
- 默认值:
- 默认值为 {Alignment=MiddleCenter,BackColor=Color [A=255, R=0, G=0, B=0],BackOpaque=False,Bold=False,FontHeight=4,FontWidth=0,ForeColor=Color [A=255, R=0, G=0, B=255],IsSizeFixed=True,Italic=False,Outline=False,Rotation=0,Shadow=False,Strikeout=False,Underline=False,Weight=0}
-
setGraph3DTextStyle
public void setGraph3DTextStyle(TextStyle textStyle)
设置统计图上的文字标注风格。- 参数:
textStyle
- 统计图上的文字标注风格。
-
getGraph3DTextFormat
public Theme3DGraphTextFormat getGraph3DTextFormat()
返回统计专题图文本显示格式,如百分数、真实数值、标题、标题+百分数、标题+真实数值。有关统计专题图文本显示格式详细信息,请参考Theme3DGraphTextFormat
。- 返回:
- 统计专题图文本显示格式。
- 默认值:
- 默认值为
Theme3DGraphTextFormat.PERCENT
。
-
setGraph3DTextFormat
public void setGraph3DTextFormat(Theme3DGraphTextFormat theme3DGraphTextFormat)
设置统计专题图文本显示格式,如百分数、真实数值、标题、标题+百分数、标题+真实数值。有关统计专题图文本显示格式详细信息,请参考Theme3DGraphTextFormat
。- 参数:
theme3DGraphTextFormat
- 统计专题图文本显示格式。
-
isGraph3DTextDisplayed
public boolean isGraph3DTextDisplayed()
返回是否显示统计图上的文本标注。- 返回:
- 一个布尔值指定是否显示统计图上的文本标注。
- 默认值:
- 默认值为 false。
-
setGraph3DTextDisplayed
public void setGraph3DTextDisplayed(boolean value)
设置是否显示统计图上的文本标注。- 参数:
value
- 一个布尔值指定是否显示统计图上的文本标注。
-
getMinGraphSize
public double getMinGraphSize()
返回统计专题图中统计符号显示的最小值。统计图中统计符号的显示大小均在最大、最小值之间逐渐变化。统计图的最大、最小值是与统计对象的多少和图层大小相关系的一个值。
- 返回:
- 统计专题图中统计符号显示的最小值。
- 默认值:
- 默认值为 0。
-
setMinGraphSize
public void setMinGraphSize(double value)
设置统计专题图中统计符号显示的最小值。统计图中统计符号的显示大小均在最大、最小值之间逐渐变化。统计图的最大、最小值是与统计对象的多少和图层大小相关系的一个值。
- 参数:
value
- 统计专题图中统计符号显示的最小值。
-
getMaxGraphSize
public double getMaxGraphSize()
返回统计专题图中统计符号显示的最大值。统计图中统计符号的显示大小均在最大、最小值之间逐渐变化。统计图的最大、最小值是与统计对象的多少和图层大小相关系的一个值。
- 返回:
- 统计专题图中统计符号显示的最大值。
- 默认值:
- 默认值为 0。
-
setMaxGraphSize
public void setMaxGraphSize(double value)
设置统计专题图中统计符号显示的最大值。统计图中统计符号的显示大小均在最大、最小值之间逐渐变化。统计图的最大、最小值是与统计对象的多少和图层大小相关系的一个值。
- 参数:
value
- 统计专题图中统计符号显示的最大值。
-
getGraduatedMode3D
public GraduatedMode3D getGraduatedMode3D()
返回专题图分级模式。其中包括常量分级、对数分级和平方根分级。详情请参考GraduatedMode3D
。- 返回:
- 专题图分级模式。
- 默认值:
- 默认值为
GraduatedMode3D.CONSTANT
。
-
setGraduatedMode3D
public void setGraduatedMode3D(GraduatedMode3D value)
设置专题图分级模式。其中包括常量分级、对数分级和平方根分级。详情请参考GraduatedMode3D
。- 参数:
value
- 专题图分级模式。
-
clear
public void clear()
删除统计专题图中的所有子项。
-
add
public int add(Theme3DGraphItem item)
添加统计专题图的子项到专题图子项列表中。- 参数:
item
- 被添加的统计专题图子项。- 返回:
- 如果添加成功返回被添加子项在子项序列中的序号,否则返回 -1。
-
insert
public boolean insert(int index, Theme3DGraphItem item)
将给定的统计专题图子项插入到指定序号的位置。- 参数:
index
- 指定的统计专题图子项序列的序号。item
- 将被插入的统计专题图子项。- 返回:
- 一个布尔值,如果插入成功返回值为 true,否则为 false。
-
exchangeItem
public boolean exchangeItem(int index1, int index2)
将指定序号的两个子项进行位置交换。- 参数:
index1
- 指定交换的第一个子项的序号。index2
- 指定交换的第二个子项的序号。- 返回:
- 一个布尔值,如果两个子项交换成功,返回 true; 否则返回 false。
-
indexOf
public int indexOf(String graphExpression)
返回统计专题图中指定统计字段表达式的对象在当前统计图子项序列中的序号。- 参数:
graphExpression
- 指定的统计字段表达式。- 返回:
- 统计专题图子项在序列中的序号。
-
remove
public boolean remove(int index)
在统计专题图子项序列中删除指定序号的统计专题图子项。- 参数:
index
- 指定的将被删除子项的序号。- 返回:
- 如果删除成功,返回 true;否则返回 false。
-
getMemoryKeys
public int[] getMemoryKeys()
返回以内存数组方式制作专题图时的键数组。键数组内的数值代表 SmID 值。键数组中数值的个数必须要与值数组(通过
Theme3DGraphItem.setMemoryDoubleValues()
方法进行设置)的数值个数一致。值数组中的值将代替原来的专题值来制作统计专题图。比如:利用面积字段和周长字段(即有两个 item)作为专题变量制作统计专题图。
键数组设置为(1,3,8,9)
专题变量为“面积”的值数组设置为(5.2,6.1,3.4,8.5)
专题变量为“周长”的值数组设置为(10.2,12.44,6.4,16.1)
则制作完成后会有四个统计图,分别为 SmID 值为1,3,8,9的记录所对应的统计图,每个统计图有两项,分别代表面积和周长。
需要注意的是,此时 SmID 值为1的记录,其对应的面积字段的值用值数组的 “5.2” 代替,周长字段的值用值数组的 “10.2” 代替;SmID 值为 3 的记录,其对应的面积字段的值用值数组的 “6.1” 代替,周长字段的值用值数组的 “12.44” 代替,以此类推。
- 返回:
- 以内存数组方式制作专题图时的键数组。
-
setMemoryKeys
public void setMemoryKeys(int[] values)
设置以内存数组方式制作专题图时的键数组。键数组内的数值代表 SmID 值,它与
Theme3DGraphItem
类中设置值数组的方法(即Theme3DGraphItem.setMemoryDoubleValues()
方法)要关联起来应用。键数组中数值的个数必须要与值数组的数值个数一致。值数组中的值将代替原来的专题值来制作统计专题图。比如:利用面积字段和周长字段(即有两个 item)作为专题变量制作统计专题图。
键数组设置为(1,3,8,9)
专题变量为“面积”的值数组设置为(5.2,6.1,3.4,8.5)
专题变量为“周长”的值数组设置为(10.2,12.44,6.4,16.1)
则制作完成后会有四个统计图,分别为 SmID 值为1,3,8,9的记录所对应的统计图,每个统计图有两项,分别代表面积和周长。
需要注意的是,此时 SmID 值为1的记录,其对应的面积字段的值用值数组的 “5.2” 代替,周长字段的值用值数组的 “10.2” 代替;SmID 值为 3 的记录,其对应的面积字段的值用值数组的“6.1”代替,周长字段的值用值数组的 “12.44” 代替,以此类推。
- 参数:
values
- 以内存数组方式制作专题图时的键数组。
-
toString
public String toString()
返回一个表示此三维统计专题图类对象的格式化字符串。
-
dispose
public void dispose()
释放该对象所占用的资源。当调用该方法之后,此对象不再可用。
-
calculateExtremum
public void calculateExtremum(Dataset dataset)
-
-
Copyright © 2021–2024 SuperMap. All rights reserved.