根据给定的矢量数据集、分段字段表达式、分段模式、相应的分段参数、颜色渐变填充模式和外部连接表项生成默认的标签专题图。
命名空间:
SuperMap.Mapping程序集: SuperMap.Mapping (in SuperMap.Mapping)
版本: dll
语法
C# |
---|
public static ThemeLabel MakeDefault( DatasetVector dataset, string rangeExpression, RangeMode rangeMode, double rangeParameter, ColorGradientType colorGradientType, JoinItems joinItems ) |
参数
- dataset
- Type: SuperMap.Data..::.DatasetVector
矢量数据集。
- rangeExpression
- Type: System..::.String
分段字段表达式。
- rangeMode
- Type: SuperMap.Mapping..::.RangeMode
分段模式。包括等距离分段法,平方根分段法,标准差分段法,对数分段法,等计数分段法,以及自定义距离法
- rangeParameter
- Type: System..::.Double
分段参数。当分段模式为等距离分段法,平方根分段法其中一种模式时,该参数为分段值;
当分段模式为标准差分段法的时候,该参数不起作用;
当分段模式为自定义距离时,该参数表示自定义距离。
- colorGradientType
- Type: SuperMap.Data..::.ColorGradientType
颜色渐变模式。
- joinItems
- Type: SuperMap.Data..::.JoinItems
外部表连接项。
返回值
根据参数构造得到一个新的ThemeLabel的对象实例。备注
注意:通过连接外部表的方式制作专题图时,对于UDB数据源,连接类型不支持内连接,即JoinType类不支持INNERJOIN。
示例
以下代码示范了如何根据给定的矢量数据集、分段字段表达式、分段模式、相应的分段参数、颜色渐变填充模式和外部连接表项生成默认的标签专题图。
假设打开了一个工作空间workspace对象。
CopyC#
public void MakeThemeLabelMap3(DatasetVector datasetVector, DatasetVector relatedTableDataset) { //设置外部连接表,利用Capital数据集中的首都字段来标注World世界版图数据集中各个国家的首都 //假设Capital和World数据集中都有Country字段,将利用这个字段建立两个表的连接 //Set the exterior table. //Suppose that Country field both exists in Capital dataset and World dataset, and by which set the join of the two tables. JoinItems joinItems = new JoinItems(); JoinItem joinItem = new JoinItem(); joinItem.ForeignTable = relatedTableDataset.TableName; joinItem.JoinFilter = String.Format("{0}.Country={1}.Country", targetDataset.TableName, relatedTableDataset.TableName); joinItems.Add(joinItem); //制作标签专题图 //Make the label map. ThemeLabel themeLabelMap = ThemeLabel.MakeDefault(targetDataset, relatedTableDataset.TableName + ".SmID", RangeMode.EqualInterval, 5, ColorGradientType.Rainbow, joinItems); themeLabelMap.LabelExpression = relatedTableDataset.TableName + ".Capital"; mapControl1.Map.Workspace = workspace; mapControl1.Map.Layers.Add(targetDataset, true); mapControl1.Map.Layers.Add(targetDataset, themeLabelMap, true); mapControl1.Map.Refresh(); }