public class ThemeRange extends Theme
按照提供的分段方法对字段的属性值进行分段,并根据每个属性值所在的分段范围赋予相应对象的显示风格。
注意:
addToHead() 还是 addToTail() 方法,首尾区间默认采用用户所添加的第一个分段的风格,比如:总共分5段,addToTail 方法依次添加 [0,1)、[1,2)、[2,4)三段,那么首区间(负无穷,0),尾区间[4,正无穷),采用[0,1)的风格。
public void makeThemeRangeMap() {
// 制作分段专题图
ThemeRange themeRangeMap = new ThemeRange();
themeRangeMap.setRangeExpression("Pop_1994");
// 填充样式设置
GeoStyle geoStyle = new GeoStyle();
geoStyle.setLineColor(Color.WHITE);
geoStyle.setLineWidth(0.3);
// 人口小于一百万的分段专题图子项的设置
ThemeRangeItem themeRangeItem1 = new ThemeRangeItem();
themeRangeItem1.setCaption("小于一百万");
themeRangeItem1.setEnd(1000000);
themeRangeItem1.setStart(0);
themeRangeItem1.setVisible(true);
geoStyle.setFillForeColor(new Color(209, 182, 210));
themeRangeItem1.setStyle(geoStyle);
// 人口大于一百万的分段专题图子项的设置
ThemeRangeItem themeRangeItem2 = new ThemeRangeItem();
themeRangeItem2.setCaption("大于一百万");
themeRangeItem2.setEnd(10000000);
themeRangeItem2.setStart(1000000);
themeRangeItem2.setVisible(true);
geoStyle.setFillForeColor(new Color(205, 167, 183));
themeRangeItem2.setStyle(geoStyle);
// 人口大于一千万的分段专题图子项的设置
ThemeRangeItem themeRangeItem3 = new ThemeRangeItem();
themeRangeItem3.setCaption("大于一千万");
themeRangeItem3.setEnd(100000000);
themeRangeItem3.setStart(10000000);
themeRangeItem3.setVisible(true);
geoStyle.setFillForeColor(new Color(183, 128, 151));
themeRangeItem3.setStyle(geoStyle);
// 人口大于一亿的分段专题图子项的设置
ThemeRangeItem themeRangeItem4 = new ThemeRangeItem();
themeRangeItem4.setCaption("大于一亿");
themeRangeItem4.setEnd(120000000);
themeRangeItem4.setStart(100000000);
themeRangeItem4.setVisible(true);
geoStyle.setFillForeColor(new Color(164, 97, 136));
themeRangeItem4.setStyle(geoStyle);
// 人口大于十二亿的分段专题图子项的设置
ThemeRangeItem themeRangeItem5 = new ThemeRangeItem();
themeRangeItem5.setCaption("大于十二亿");
themeRangeItem5.setEnd(Double.MAX_VALUE);
themeRangeItem5.setStart(120000000);
themeRangeItem5.setVisible(true);
geoStyle.setFillForeColor(new Color(94, 53, 77));
themeRangeItem5.setStyle(geoStyle);
//添加专题图子项到分段专题图对象中
themeRangeMap.addToHead(themeRangeItem1);
themeRangeMap.addToTail(themeRangeItem2);
themeRangeMap.addToTail(themeRangeItem3);
themeRangeMap.addToTail(themeRangeItem4);
themeRangeMap.addToTail(themeRangeItem5);
//显示
MapControl mapControl = new MapControl();
mapControl.getMap().setWorkspace(workspace);
Layer layerTheme = mapControl.getMap().getLayers().add(targetDataset,themeRangeMap, true);
mapControl.getMap().refresh();
//释放占用的资源
mapControl.dispose();
workspace.dispose();
}
| 构造器和说明 |
|---|
ThemeRange()
默认构造函数,构造一个新的
ThemeRange 对象。 |
ThemeRange(ThemeRange themeRange)
拷贝构造函数,根据给定的
ThemeRange 对象构造一个与其完全相同的新对象。 |
| 限定符和类型 | 方法和说明 |
|---|---|
boolean |
addToHead(ThemeRangeItem item)
把一个分段专题图子项添加到分段列表的开头。
|
boolean |
addToHead(ThemeRangeItem item,
boolean normalize)
把一个分段专题图子项添加到分段列表的开头。
|
boolean |
addToTail(ThemeRangeItem item)
把一个分段专题图子项添加到分段列表的尾部。
|
boolean |
addToTail(ThemeRangeItem item,
boolean normalize)
把一个分段专题图子项添加到分段列表的尾部。
|
void |
clear()
删除分段专题图的所有分段子项。
|
void |
dispose()
释放对象所占用的资源。
|
int |
getCount()
返回分段专题图中分段的个数。
|
double |
getCustomInterval()
获取自定义段长。
|
ThemeRangeItem |
getItem(int index)
返回指定序号的分段专题图中分段专题图子项。
|
java.lang.String |
getOffsetX()
返回X偏移量。
|
java.lang.String |
getOffsetY()
返回Y偏移量。
|
double |
getPrecision()
获取范围分段专题图的舍入精度。
|
java.lang.String |
getRangeExpression()
返回分段字段表达式。
|
RangeMode |
getRangeMode()
返回当前的分段模式。
|
int |
indexOf(double value)
返回分段专题图中指定分段字段值在当前分段序列中的序号。
|
boolean |
isOffsetFixed()
返回是否固定偏移量。
|
static ThemeRange |
makeDefault(DatasetVector dataset,
java.lang.String rangeExpression,
RangeMode rangeMode,
double rangeParameter)
根据给定的矢量数据集、分段字段表达式、分段模式和相应的分段参数生成默认的分段专题图。
|
static ThemeRange |
makeDefault(DatasetVector dataset,
java.lang.String rangeExpression,
RangeMode rangeMode,
double rangeParameter,
ColorGradientType colorGradientType)
根据给定的矢量数据集、分段字段表达式、分段模式、相应的分段参数和颜色渐变模式生成默认的分段专题图。
|
static ThemeRange |
makeDefault(DatasetVector dataset,
java.lang.String rangeExpression,
RangeMode rangeMode,
double rangeParameter,
ColorGradientType colorGradientType,
JoinItems joinItems)
根据给定的矢量数据集、分段字段表达式、分段模式、相应的分段参数、颜色渐变填充模式和外部连接表项生成默认的分段专题图。
|
static ThemeRange |
makeDefault(DatasetVector dataset,
java.lang.String rangeExpression,
RangeMode rangeMode,
double rangeParameter,
ColorGradientType colorGradientType,
JoinItems joinItems,
double precision)
根据给定的矢量数据集、分段字段表达式、分段模式、相应的分段参数、颜色渐变填充模式、外部连接表项和舍入精度,生成默认的分段专题图。
|
boolean |
merge(int index,
int count,
GeoStyle style,
java.lang.String caption)
合并一个从指定序号起始的给定个数的分段专题图子项,并赋给合并后分段专题图子项显示风格和名称。
|
void |
reverseStyle()
对分段专题图中分段的风格进行反序显示。
|
void |
setOffsetFixed(boolean value)
设置是否固定偏移量。
|
void |
setOffsetX(java.lang.String value)
设置X偏移量。
|
void |
setOffsetY(java.lang.String value)
设置Y偏移量。
|
void |
setPrecision(double value)
设置范围分段专题图的舍入精度。
|
void |
setRangeExpression(java.lang.String value)
设置分段字段表达式。
|
boolean |
split(int index,
double splitValue,
GeoStyle style1,
java.lang.String caption1,
GeoStyle style2,
java.lang.String caption2)
根据给定的拆分分段值将一个指定序号的分段专题图子项拆分成两个具有各自风格和名称的分段专题图子项。
|
java.lang.String |
toString()
输出分段专题图格式化字符串。
|
fromXML, getMemoryData, getType, setMemoryData, toXMLpublic ThemeRange()
ThemeRange 对象。public ThemeRange(ThemeRange themeRange)
ThemeRange 对象构造一个与其完全相同的新对象。themeRange - 给定的分段专题图对象。public ThemeRangeItem getItem(int index)
ThemeRangeItem 类。index - 指定的分段专题图序号。ThemeRangeItempublic int getCount()
public java.lang.String getRangeExpression()
通过对比某要素分段字段表达式的值与(按照一定的分段模式确定的)各分段范围的分段值,来确定该要素所在的范围段,从而对落在不同分段内的要素设置为不同的风格。
public void setRangeExpression(java.lang.String value)
通过对比某要素分段字段表达式的值与(按照一定的分段模式确定的)各分段范围的分段值,来确定该要素所在的范围段,从而对落在不同分段内的要素设置为不同的风格。
value - 指定分段字段表达式。public boolean addToHead(ThemeRangeItem item)
item - 需要添加的分段专题图子项。public boolean addToTail(ThemeRangeItem item)
item - 需要添加的分段专题图子项。public boolean addToHead(ThemeRangeItem item, boolean normalize)
item - 需要添加的分段专题图子项。normalize - 表示是否规整化,normalize 为 true时, item 值不合法,则进行规整,normalize 为 fasle时, item 值不合法则抛异常。public boolean addToTail(ThemeRangeItem item, boolean normalize)
item - 需要添加的分段专题图子项。normalize - 表示是否规整化,normalize 为 true时, item 值不合法,则进行规整,normalize 为 fasle时, item 值不合法则抛异常。public boolean split(int index,
double splitValue,
GeoStyle style1,
java.lang.String caption1,
GeoStyle style2,
java.lang.String caption2)
index - 指定的分段专题图子项的序号。splitValue - 指定的拆分分段值。style1 - 被拆分的两个分段专题图子项中的一个分段专题图子项的风格。caption1 - 被拆分的两个分段专题图子项中的一个分段专题图子项的名称。style2 - 被拆分的两个分段专题图子项中的另一个分段专题图子项的风格。caption2 - 被拆分的两个分段专题图子项中的另一个分段专题图子项的名称。public boolean merge(int index,
int count,
GeoStyle style,
java.lang.String caption)
index - 指定的分段专题图子项的序号,并以此序号为起始。count - 要合并的分段专题图子项个数,即从指定的序号开始计算。style - 合并后的分段专题图子项的风格。caption - 合并后的分段专题图子项名称。public static ThemeRange makeDefault(DatasetVector dataset, java.lang.String rangeExpression, RangeMode rangeMode, double rangeParameter)
dataset - 矢量数据集。rangeExpression - 分段字段表达式。rangeMode - 分段模式。包括等距离分段法,平方根分段法,标准差分段法,对数分段法,等计数分段法,以及自定义距离法。rangeParameter - 分段参数。当分段模式为等距离分段法,平方根分段,对数分段法,等计数分段法其中一种模式时,该参数为分段个数;当分段模式为标准差分段法的时候,该参数不起作用;当分段模式为自定义距离时,该参数表示自定义距离。ThemeRange 的对象实例。public static ThemeRange makeDefault(DatasetVector dataset, java.lang.String rangeExpression, RangeMode rangeMode, double rangeParameter, ColorGradientType colorGradientType)
dataset - 矢量数据集。rangeExpression - 分段字段表达式。rangeMode - 分段模式。包括等距离分段法,平方根分段法,标准差分段法,对数分段法,等计数分段法,以及自定义距离法。rangeParameter - 分段参数。当分段模式为等距离分段法,平方根分段,对数分段法,等计数分段法其中一种时,该参数为分段个数;当分段模式为标准差分段法的时候,该参数不起作用;当分段模式为自定义距离时,该参数表示自定义距离。colorGradientType - 颜色渐变模式。ThemeRange 的对象实例。public static ThemeRange makeDefault(DatasetVector dataset, java.lang.String rangeExpression, RangeMode rangeMode, double rangeParameter, ColorGradientType colorGradientType, JoinItems joinItems)
dataset - 矢量数据集。rangeExpression - 分段字段表达式。rangeMode - 分段模式。包括等距离分段法,平方根分段法,标准差分段法,对数分段法,等计数分段法,以及自定义距离法。rangeParameter - 分段参数。当分段模式为等距离分段法,平方根分段,对数分段法,等计数分段法其中一种时,该参数为分段个数;当分段模式为标准差分段法的时候,该参数不起作用;当分段模式为自定义距离时,该参数表示自定义距离。colorGradientType - 颜色渐变模式。joinItems - 外部表连接项。ThemeRange 的对象实例。public static ThemeRange makeDefault(DatasetVector dataset, java.lang.String rangeExpression, RangeMode rangeMode, double rangeParameter, ColorGradientType colorGradientType, JoinItems joinItems, double precision)
dataset - 指定的矢量数据集。rangeExpression - 分段字段表达式。rangeMode - 分段模式。包括等距离分段法,平方根分段法,标准差分段法,对数分段法,等计数分段法,以及自定义距离法。请参见 RangeMode 类。rangeParameter - 分段参数。当分段模式为等距离分段法,平方根分段,对数分段法,等计数分段法其中一种时,该参数为分段个数;当分段模式为标准差分段法的时候,该参数不起作用;当分段模式为自定义距离时,该参数表示自定义距离。colorGradientType - 颜色渐变模式。joinItems - 外部表连接项。precision - 分段值的精度。如,计算得到的分段值为13.02145,而分段精度为0.001,则分段值取13.021。ThemeRange 的对象实例。public double getPrecision()
public void setPrecision(double value)
value - 舍入精度public int indexOf(double value)
value - 给定的分段字段值。public void reverseStyle()
public void clear()
public java.lang.String toString()
public void dispose()
public RangeMode getRangeMode()
public java.lang.String getOffsetX()
public void setOffsetX(java.lang.String value)
value - X偏移量public java.lang.String getOffsetY()
public void setOffsetY(java.lang.String value)
value - Y偏移量public boolean isOffsetFixed()
public void setOffsetFixed(boolean value)
value - 参数为True表示固定偏移量,否则表示不固定偏移量。public double getCustomInterval()