类 Theme
- java.lang.Object
-
- com.supermap.data.InternalHandle
-
- com.supermap.data.InternalHandleDisposable
-
- com.supermap.mapping.Theme
-
- 所有已实现的接口:
- IDisposable
- 直接已知子类:
- ThemeCustom, ThemeDotDensity, ThemeGraduatedSymbol, ThemeGraph, ThemeGridRange, ThemeGridUnique, ThemeLabel, ThemeRange, ThemeUnique
public abstract class Theme extends com.supermap.data.InternalHandleDisposable
专题图类,该类是所有专题图的基类。所有专题图类,如单值专题图,标签专题图,分段专题图等都继承自该类。
-
-
方法概要
所有方法 实例方法 抽象方法 具体方法 限定符和类型 方法和说明 boolean
fromXML(String xml)
从 XML 字符串中导入专题图信息。Map<String,String>
getMemoryData()
返回内存专题图数据。int
getThemeWeight()
获取专题图层绘制权重值ThemeType
getType()
返回专题图的类型。void
setMemoryData(Map<String,String> map)
设置内存专题图数据。void
setThemeWeight(int value)
设置专题图层绘制的权重值abstract String
toString()
输出专题图格式化字符串。String
toXML()
导出专题图信息为 XML 字符串。-
从接口继承的方法 com.supermap.data.IDisposable
dispose
-
-
-
-
方法详细资料
-
getMemoryData
public Map<String,String> getMemoryData()
返回内存专题图数据。用内存数据制作专题图的方式与表达式制作专题图的方式互斥,前者优先级较高。
第一个参数代表专题值,即数据集中用来做专题图的字段或表达式的值; 第二个参数代表外部值。在制作专题图时,会用外部值代替专题值来制作相应的专题图。
- 返回:
- 内存专题图数据。
-
setMemoryData
public void setMemoryData(Map<String,String> map)
设置内存专题图数据。 用内存数据制作专题图的方式与表达式制作专题图的方式互斥,前者优先级较高。所设置的内存数据是一个 Map 对象,该 Map 对象的键值为用来制作专题的表达式对应的值,映射值根据专题图的种类而有所区别。其效果都相当于使用映射值代替专题值来制作相应的专题图。
对于单值专题图,映射值为单值专题图子项的单值,即用映射值的单值专题图子项的风格代替键值对应的单值子项的风格,没有通过该对象赋值的单值子项的风格采用单值专题图的默认风格,通过setDefaultStyle()方法可设置默认子项的风格。
对于分段专题图,映射值为分段专题图的表达式对应的值,即用映射值所在的分段子项的风格设置键值字段值对应的对象,没有通过该对象赋值的对象的保持其所在分段子项的风格不变。
对于标签专题图,映射值为任意字符串,没有通过该对象赋值的标签在地图中不显示。
注意:
由于Map对象的键不能重复,专题图的表达式的值不能相同。
该接口对统计专题图无效。
- 参数:
map
- 内存专题图数据。- 示范代码:
- 以下代码示例了使用内存数据制作标签专题图。
public void MemoryDataThemeLabel() { Workspace workspace = new Workspace(); DatasourceConnectionInfo datasourceConnectInfo = new DatasourceConnectionInfo("../SampleData/World/World.udb", "world", ""); Datasource datasource = workspace.getDatasources().open(datasourceConnectInfo); DatasetVector dataset = (DatasetVector)datasource.getDatasets().get("world"); ThemeLabel themeLabel = new ThemeLabel(); // 使用全球国家名作为标签专题图的标签表达式 themeLabel.setLabelExpression("Name"); java.util.Map memoryData = new HashMap(); // 设置数据,仅修改“北京”、“渥太华”和“莫斯科”三个国家的名称 memoryData.put("北京", "北京1"); memoryData.put("渥太华", "渥太华1"); memoryData.put("莫斯科", "莫斯科1"); // 设置标签专题图的内存数据 themeLabel.setMemoryData(memoryData); //设置标签文本风格 TextStyle style = new TextStyle(); style.setForeColor(Color.WHITE); style.setOutline(true); style.setWeight(15); style.setFontHeight(7); themeLabel.setUniformStyle(style); //添加到地图中 m_mapControl.getMap().getLayers().add(m_datasetVector, themeLabel, true); m_mapControl.getMap().refresh(); //释放占用的资源 m_mapControl.dispose(); workspace.dispose(); }
-
fromXML
public boolean fromXML(String xml)
从 XML 字符串中导入专题图信息。在 SuperMap 中,各种专题图的风格的设置都可以导出成 XML 格式的字符串,此 XML 格式的字符串中记录了关于这种专题图的所有设置,如对于标签专题图的 XML 格式字符串会记录专题图类型,可见比例尺,标签风格的设置,是否流动显示,是否自动避让等等对该标签专题图的所有风格的设置以及用来制作标签专题图的字段或表达式。这种 XML 格式字符串可以用来导入,对专题图进行设置。
- 参数:
xml
- 包含专题图信息的 XML 字符串。- 返回:
- 一个布尔值,导入成功返回 true,否则返回 false。
-
toXML
public String toXML()
导出专题图信息为 XML 字符串。在 SuperMap 中,各种专题图的风格的设置都可以导出成 XML 格式的字符串,此 XML 格式的字符串中记录了关于这种专题图的所有设置,如对于标签专题图的 XML 格式字符串会记录专题图类型,可见比例尺,标签风格的设置,是否流动显示,是否自动避让等等对该标签专题图的所有风格的设置以及用来制作标签专题图的字段或表达式。这种 XML 格式字符串可以用来导入,对专题图进行设置。
- 返回:
- 包含专题图信息的 XML 字符串。
-
setThemeWeight
public void setThemeWeight(int value)
设置专题图层绘制的权重值- 参数:
value
- 权重值 (0~10)- 抛出:
IllegalStateException
- 当前对象已被释放
-
getThemeWeight
public int getThemeWeight()
获取专题图层绘制权重值- 返回:
- 权重值
- 抛出:
IllegalStateException
- 当前对象已被释放
-
toString
public abstract String toString()
输出专题图格式化字符串。格式化字符串提供专题图的相关设置信息,与 XML 字符串不同的是,格式化字符串不可导入显示专题图,只用于提供专题图的相关信息。- 对于栅格分段专题图,其格式为{Caption=”china”, Start=10 End=20, Visible=true?false, Style={linestyle=,markerstyle=,fillstyle=} };
- 对于栅格单值专题图,其格式为{Caption=”china”, Unique =20, Visible=true?false, Style={linestyle=,markerstyle=,fillstyle=} };
- 对于标签专题图,其格式为{Caption=”China”, Start=10 End=20, Visible=true, Style={name=,width=,height=,color=()} };
- 对于分段专题图,其格式为{Caption=”china”, Start=10 End=20, Visible=true?false, Style={linestyle=,markerstyle=,fillstyle=};
- 对于单值专题图,其格式为{Caption=”china”, Unique =20, Visible=true?false, Style={linestyle=,markerstyle=,fillstyle=} }。
-
-
Copyright © 2021–2024 SuperMap. All rights reserved.