分段专题图类。

按照提供的分段方法对字段的属性值进行分段,并根据每个属性值所在的分段范围赋予相应对象的显示风格。

命名空间:  SuperMap.Mapping
程序集:  SuperMap.Mapping (in SuperMap.Mapping)
版本: dll

语法

C#
public class ThemeRange : Theme, IDisposable

备注

注意:

1.如果通过连接(Join)或关联(Link)的方式与一个外部表建立了联系,当专题图的专题变量用到外部表的字段时,在显示专题图时,需要设置 DisplayFilter 属性,否则专题图将不能显示外部表的要素。

2.制作分段专题图,如果首尾区间没有设置风格,且没有设置默认风格,那么无论是采用addToTail还是addToHead方法,首尾区间默认采用用户所添加的第一个分段的风格,比如:总共分5段,addToTail方法依次添加 [0,1)、[1,2)、[2,4)三段,那么首区间(负无穷,0),尾区间[4,正无穷),采用[0,1)的风格。

示例

以下代码示范了如何通过新建一个分段专题图的实例,设置其属性来实现范围专题图的制作。 假设已经有MapControl1对象。假设打开了一个工作空间workspace对象,工作空间中存在名为 World 的数据源。
CopyC#
public void MakeThemeRangeMap()
{

    //制作分段专题图 
    ThemeRange themeRangeMap = new ThemeRange();
    themeRangeMap.RangeExpression = "Pop_1994";
    //人口大于十二亿的分段专题图子项的设置
    ThemeRangeItem themeRangeItem1 = new ThemeRangeItem();
    themeRangeItem1.Caption = "小于一百万";
    themeRangeItem1.End = 1000000;
    themeRangeItem1.Start = 0;
    themeRangeItem1.IsVisible = true;
    GeoStyle geostyle1 = new GeoStyle();
    geostyle1.FillForeColor = Color.FromArgb(94, 53, 77);
    geostyle1.FillOpaqueRate = 60;
    geostyle1.LineWidth = 0.1;
    themeRangeItem1.Style = geostyle1;

    //人口大于一亿的分段专题图子项的设置
    ThemeRangeItem themeRangeItem2 = new ThemeRangeItem();
    themeRangeItem2.Caption = "大于一百万";
    themeRangeItem2.End = 10000000;
    themeRangeItem2.Start = 1000000;
    themeRangeItem2.IsVisible = true;
    GeoStyle geostyle2 = new GeoStyle();
    geostyle2.FillForeColor = Color.FromArgb(164, 97, 136);
    geostyle2.FillOpaqueRate = 60;
    geostyle2.LineWidth = 0.1;
    themeRangeItem2.Style = geostyle2;

    //人口大于一千万的分段专题图子项的设置
    ThemeRangeItem themeRangeItem3 = new ThemeRangeItem();
    themeRangeItem3.Caption = "大于一千万";
    themeRangeItem3.End = 100000000;
    themeRangeItem3.Start = 10000000;
    themeRangeItem3.IsVisible = true;
    GeoStyle geostyle3 = new GeoStyle();
    geostyle3.FillForeColor = Color.FromArgb(183, 128, 151);
    geostyle3.FillOpaqueRate = 60;
    geostyle3.LineWidth = 0.1;
    themeRangeItem3.Style = geostyle3;

    //人口大于一百万的分段专题图子项的设置
    ThemeRangeItem themeRangeItem4 = new ThemeRangeItem();
    themeRangeItem4.Caption = "大于一亿";
    themeRangeItem4.End = 1200000000;
    themeRangeItem4.Start = 100000000;
    themeRangeItem4.IsVisible = true;
    GeoStyle geostyle4 = new GeoStyle();
    geostyle4.FillForeColor = Color.FromArgb(205, 167, 183);
    geostyle4.FillOpaqueRate = 60;
    geostyle4.LineWidth = 0.1;
    themeRangeItem4.Style = geostyle4;

    //人口小于一百万的分段专题图子项的设置
    ThemeRangeItem themeRangeItem5 = new ThemeRangeItem();
    themeRangeItem5.Caption = "大于十二亿";
    themeRangeItem5.End = Double.MaxValue;
    themeRangeItem5.Start = 120000000;
    themeRangeItem5.IsVisible = true;
    GeoStyle geostyle5 = new GeoStyle();
    geostyle5.FillForeColor = Color.FromArgb(209, 182, 210);
    geostyle5.FillOpaqueRate = 60;
    geostyle5.LineWidth = 0.1;
    themeRangeItem5.Style = geostyle5;

    //添加专题图子项到分段专题图对象中
    themeRangeMap.AddToHead(themeRangeItem1);
    themeRangeMap.AddToTail(themeRangeItem2);
    themeRangeMap.AddToTail(themeRangeItem3);
    themeRangeMap.AddToTail(themeRangeItem4);
    themeRangeMap.AddToTail(themeRangeItem5);
    //显示
    mapControl1.Map.Workspace = workspace;
    Layer layerTheme = mapControl1.Map.Layers.Add(targetDataset, themeRangeMap, true);
    mapControl1.Map.Refresh();

}

继承层次

System..::.Object
  SuperMap.Mapping..::.Theme
    SuperMap.Mapping..::.ThemeRange

版本信息

SuperMap iObjects .NET


请参见