单值专题图类。
将字段或表达式的值相同的要素采用相同的风格来显示,从而用来区分不同的类别。
程序集: SuperMap.Mapping (in SuperMap.Mapping)
版本: dll
语法
C# |
---|
public class ThemeUnique : Theme, IDisposable |
备注
在表示土地的面数据中表示土地利用类型的字段中有草地,林地,居民地,耕地等值,使用单值专题图进行渲染时,每种类型的土地利用类型被赋予一种颜色或填充风格,从而可以看出每种类型的土地利用的分布区域和范围。可用于地质图、地貌图、植被图、土地利用图、政治行政区划图、自然区划图、经济区划图等。
单值专题图着重表示现象质的差别,一般不表示数量的特征。尤其是有交叉或重叠现象时,此类型不推荐使用,例如:民族分布区等。
示例
以下代码示例了如何创建单值专题图,假定打开的图层是世界地图,已存在m_mapControl地图控件对象。假设打开了一个工作空间workspace对象,得到 ProvinceCapital_P 点矢量数据集datasetVector。
CopyC#
private void ThemeUniqueExample(DatasetVector datasetVector) { //构造单值专题图并进行单值子项的风格设置 ThemeUnique theme = ThemeUnique.makeDefault(datasetVector, "SmID"); for (int i = 0; i < theme.getCount(); i++) { ThemeUniqueItem item = theme.getItem(i); item.getStyle().setMarkerSymbolID(0); item.getStyle().setMarkerSize(new Size2D(4, 4)); item.getStyle().geoStyle.LineColor=new Color(255,255,100 + i); } //将得到的专题图添加到地图 mapControl1.Map.Workspace=workspace; Layer layer = m_mapControl.Map.Layers.Add(datasetVector, true); Layer layerTheme = m_mapControl.Map.Layers.Add(datasetVector, theme, true); m_mapControl.Map.Refresh(); //出图成JPG文件 m_mapControl.Map.ImageSize = new Size(512, 512); String outFile = @"c:\temp\themeUnique.jpg"; m_mapControl.Map.OutputMapToJPG(outFile); }