Presentation is loading. Please wait.

Presentation is loading. Please wait.

MapXtreme2004 培训 James.Liu. M a p X t r e m e 2 0 0 4 内容  MapXtreme2004 概览  地图及图层管理  数据管理  数据查询  几何对象  专题图.

Similar presentations


Presentation on theme: "MapXtreme2004 培训 James.Liu. M a p X t r e m e 2 0 0 4 内容  MapXtreme2004 概览  地图及图层管理  数据管理  数据查询  几何对象  专题图."— Presentation transcript:

1 MapXtreme2004 培训 James.Liu

2 M a p X t r e m e 2 0 0 4 内容  MapXtreme2004 概览  地图及图层管理  数据管理  数据查询  几何对象  专题图

3 M a p X t r e m e 2 0 0 4 专题图  目标 - 专题图命名空间 - 专题图类型 - 如何创建专题图 - 图例

4 M a p X t r e m e 2 0 0 4 专题地图  范围专题  独立值专题图  饼图  直方图  等级符号图  点密度图  范围标注专题图  独立值标注专题图

5 M a p X t r e m e 2 0 0 4 等级符号图

6 M a p X t r e m e 2 0 0 4 饼图

7 M a p X t r e m e 2 0 0 4 直方图

8 M a p X t r e m e 2 0 0 4 范围图

9 M a p X t r e m e 2 0 0 4 范围标注专题图

10 M a p X t r e m e 2 0 0 4 独立值专题图

11 M a p X t r e m e 2 0 0 4 独立值标注专题图

12 M a p X t r e m e 2 0 0 4 点密度图

13 M a p X t r e m e 2 0 0 4 专题 有两种类型的主题 - 修饰符(样式覆盖)主题 – Modifier Theme - 对象主题 – Object Theme

14 M a p X t r e m e 2 0 0 4 修饰符专题和点密度专题对象模型

15 M a p X t r e m e 2 0 0 4 对象主题的对象模型

16 M a p X t r e m e 2 0 0 4 范围专题图 FeatureLayer featureLayer = mapControl1.Map.Layers["World"] as FeatureLayer; MapInfo.Mapping.Thematics.RangedTheme rangedTheme = new MapInfo.Mapping.Thematics.RangedTheme(featureLa yer, "TrainingRev", "TrainingRevenue", 5,MapInfo.Mapping.Thematics.DistributionMethod.Eq ualCountPerRange); featureLayer.Modifiers.Append(rangedTheme);

17 M a p X t r e m e 2 0 0 4 独立值专题图 FeatureLayer featureLayer = mapControl1.Map.Layers["Office"] as FeatureLayer; IndividualValueTheme indValueTheme = new IndividualValueTheme(featureLayer, "Region", "OfficeRegion"); featureLayer.Modifiers.Append(indValueTheme);

18 M a p X t r e m e 2 0 0 4 等级符号专题 FeatureLayer featureLayer = mapControl1.Map.Layers["WorldCap"] as FeatureLayer; GraduatedSymbolTheme gradSymbolTheme = new GraduatedSymbolTheme(featureLayer.Table, "cap_pop"); gradSymbolTheme.DataValueAtSize = 1000000; ObjectThemeLayer objThemeLayer = new ObjectThemeLayer("CapitalPopulation", null, gradSymbolTheme); mapControl1.Map.Layers.Add(objThemeLayer);

19 M a p X t r e m e 2 0 0 4 饼专题图 using MapInfo.Mapping; using MapInfo.Mapping.Thematics; map.Load(new MapTableLoader("world.tab")); FeatureLayer lyr = map.Layers["world"] as FeatureLayer; PieTheme pieTheme = new PieTheme(map, lyr.Table, "Pop_Native", "Pop_Asian","Pop_Other"); // 创建新图层 ObjectThemeLayer thmLayer = new ObjectThemeLayer("Ethnic Diversity", null, pieTheme);

20 M a p X t r e m e 2 0 0 4 饼专题图(续) map.Layers.Add(thmLayer); // 修改专题图并重建,也可以在专题创建前设定 pieTheme.DataValueAtSize /= 2; pieTheme.GraduateSizeBy=GraduateSizeBy.Constant; thmLayer.RebuildTheme();

21 M a p X t r e m e 2 0 0 4 直方图专题 using MapInfo.Mapping; using MapInfo.Mapping.Thematics; map.Load(new MapTableLoader("world.tab")); FeatureLayer lyr = map.Layers["world"] as FeatureLayer; BarTheme barTheme = new BarTheme(map, lyr.Table, "Pop_Native","Pop_Male","Pop_Female"); ObjectThemeLayer thmLayer = new ObjectThemeLayer("Pop Male / Female", null,barTheme); map.Layers.Add(barTheme); barTheme.Stacked = true; barTheme.GraduateSizeBy = GraduateSizeBy.Constant; thmLayer.RebuildTheme();

22 M a p X t r e m e 2 0 0 4 范围标注地图 LabelLayer ll = map1.Layers.item(5); LabelSource labelSource = ll.sources(0); // 基于标注图层的 labelsource 创建 RangedLabelTheme rangedLabelTheme = new RangedLabelTheme(labelSource.Table, columnName, themeAlias, 5,DistributionMethod.EqualCountPerRange); // 将标注样式修改增加到标注图层 LabelModifier labelModifier = rangedLabelTheme as LabelModifier; labelSource.Modifiers.Insert(0, labelModifier);

23 M a p X t r e m e 2 0 0 4 独立值标注专题图 // 创建新的独立值标注专题 IndividualValueLabelTheme theme = new IndividualValueLabelTheme(labelSource.Table, columnName,themeAlias); // 为标注增加标注修改样式 LabelModifier labelModifier = theme as LabelModifier; labelSource.Modifiers.Insert(0, labelModifier);

24 M a p X t r e m e 2 0 0 4 点密度专题图 using MapInfo.Mapping; using MapInfo.Mapping.Thematics; // 加载表 map.Load(new MapTableLoader("World.tab")); // 在图层上加入样式修改作为点密度专题图 DotDensityTheme thm = new DotDensityTheme(lyr, "Pop_1994", "World Pop", System.Drawing.Color.Red, DotDensitySize.Large); FeatureLayer lyr = map.Layers["World"] as FeatureLayer; lyr.Modifiers.Append(thm);

25 M a p X t r e m e 2 0 0 4 图例对象模型

26 M a p X t r e m e 2 0 0 4 示例 – 创建专题图例 using MapInfo.Data; using MapInfo.Mapping; using Mapinfo.Mapping.Thematics; Map map = mapControl1.Map; Table table = MapInfo.Engine.Session.Current.Catalog.OpenTable("world.tab "); FeatureLayer layer = new FeatureLayer(table); map.Layers.Add(layer); BarTheme theme = new BarTheme(map,layer.Table,"Pop_0_14","Pop_15_64","Pop_65 Plus"); ObjectThemeLayer themeLayer = new ObjectThemeLayer ("World Pop", null, theme); map.Layers.Add(themeLayer);

27 M a p X t r e m e 2 0 0 4 示例 – 创建专题图例(续) // 创建图例 legend = map.Legends.CreateLegend(new Size(5, 5)); legend.Border = true; ThemeLegendFrame frame = LegendFrameFactory.CreateThemeLegendFrame("Are a", "Area", theme); legend.Frames.Append(frame); frame.Title = "Area (sq. mi.)"; map.Adornments.Append(legend); // 设置起始坐标 System.Drawing.Point pt = new System.Drawing.Point(0, 0); pt.X = mapControl1.Size.Width - legend.Size.Width; pt.Y = mapControl1.Size.Height - legend.Size.Height; legend.Location = pt;}

28 M a p X t r e m e 2 0 0 4 示例 – 创建图形图例 using MapInfo.Mapping; using MapInfo.Mapping.Thematics; // 创建图例 System.Drawing.Size size = new System.Drawing.Size(400, 400); legendFactory = session.LegendFactory; legend = legendFactory.CreateLegend(map, size); frameFactory = legend.LegendFrameFactory; // 为图例家图框 frame = frameFactory.CreateCartographicLegendFrame(lyr, "State", "State", RowTextSourceType.Expression); legend.Frames.Append(frame);

29 M a p X t r e m e 2 0 0 4 问题?


Download ppt "MapXtreme2004 培训 James.Liu. M a p X t r e m e 2 0 0 4 内容  MapXtreme2004 概览  地图及图层管理  数据管理  数据查询  几何对象  专题图."

Similar presentations


Ads by Google