3.1 地图

3.1.1 Map 对象

  Map对象:在Map对象上能显示的图形有两类,一类是 地理数据,一类是 元素。
  地理数据包括 矢量类型的要素数据、栅格数据、Tin等表面数据等;这些数据都保存在Geodatabase或数据文件如shapefile中,它们是用于GIS分析制图的源数据。
  元素,是一种可以显示在Map上的对象,它分为:图形元素框架元素。图形元素可以显示出来;而框架元素充当了“容器”的角色。  

  在Map上所画的 圆形、矩形、在布局视图上添加的 指北针、图例、比例尺等图形对象,都是图形元素;在ArcMap中Map对象是由MXDocument对象的MapFrame对象管理,MapFrame是一个框架元素

  Map对象有双重身份:一方面是数据的管理容器,可以加载地理数据和图形元素,扮演了数据管理器的角色;另一方面,它又可以让用户看到这些数据,即扮演了数据显示器的角色。当加载数据到Map对象的时候,Map对象是数据的管理者;当改变视图范围,刷新地图的时候他是数据的显示者。

  Map对象主要实现的接口有:IMap,IGraphicContainer,IActiveVIew,IMapBookmark等接口。
  IMap接口主要用于管理Map对象中的Layer对象,要素选择集对象,MapSourround对象,空间参考等对象。
  Map对象可以显示图形元素(Graphics Element),Map对象通过IGRaphicsContainer接口来管理这些元素对象,包括图形元素和框架元素。
  IGRaphicsContainer 返回的是Map对象中处于活动状态的GRaphics Layer引用指针,它可以是一个Basicgraphicslayer,也可以是CompositeGraphicsLayer中的一个图层;或者是一个FDOGraphicsLayer注记图层。
  以下代码片段压实如何添加一个Element到Map上

 1         /// <summary>
 2         /// 添加临时元素到地图窗口上
 3         /// </summary>
 4         /// <param name="pMapCtrl">地图控件</param>
 5         /// <param name="pEle">单个元素</param>
 6         /// <param name="pEleColl">元素集合</param>
 7         public void AddTempElement(AxMapControl pMapCtrl, IElement pEle, IElementCollection pEleColl)
 8         {
 9             try
10             {
11                 IMap pMap = pMapCtrl.Map;
12                 IGraphicsContainer pGCs = pMap as IGraphicsContainer;
13 
14                 if (pEle != null)
15                 {
16                     pGCs.AddElement(pEle, 0);
17                 }
18                 if (pEleColl != null)
19                 {
20                     if (pEleColl.Count > 0)
21                     {
22                         pGCs.AddElements(pEleColl, 0);
23                     }
24                 }
25                 IActiveView pAV = (IActiveView)pMap;
26                 // 需要刷新才能即时显示
27                 pAV.PartialRefresh(esriViewDrawPhase.esriViewGraphics, null, pAV.Extent);//PartialRefresh 局部刷新
28             }
29             catch (Exception)
30             {
31                 throw;
32             }
33         }
View Code

相关文章:

  • 2022-12-23
  • 2021-06-20
  • 2022-12-23
  • 2021-06-16
  • 2021-12-14
  • 2022-02-28
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-04
  • 2022-12-23
  • 2021-10-24
相关资源
相似解决方案