ArcGIS-Engine开发.docx

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[专家讲座] ArcGIS Engine基础开发教程(3)——学习地图和地图布局 2012-08-26 20:56:40| 分类: HYPERLINK /blog/ \l m=0t=1c=fks_084065093094085066083082080095085094089064093087083069087 \o 默认分类 默认分类 | 标签: |字号大中小 订阅 ESRI BBS GIS大讲堂首发,转载请注明出处 本章是ArcGIS Engine基础开发教程的第三章,主要给大家大致讲解了,地图和地图布局的相关对象。这些对象非常重要,如果这些基本对象都不熟悉就开始搞ArcGIS Engine开发是不科学的也走不远的。 3地图和地图布局 3.1地图 3.1.1Map对象 Map对象是ArcGIS Engine的主要对象,本章将给大家介绍地图组成结构,如何创建地图,如何对组成地图的对象进行操作,在介绍这些内容时尽量结合ArcMap学习效果会更好。 在Map对象上能显示的图形有两类一类是地理数据,一类是元素。地理数据包括矢量类型的要素数据,栅格数据,Tin等表面数据等,这些数据都保存在Geodatabase或数据文件如shapefile中,它们是用于GIS分析制图的源数据; 而元素是另一种可以显示在Map上的对象,它分为两部分一类是图形元素,一类是框架元素,图形元素可以显示出来,而框架元素充当了“容器”的角色。在ArcMap中可以使用“Draw”工具在Map上直接绘制一个矩形,圆形,文本等对象,在布局视图上也可以给地图添加指北针,图例,比例尺等图形对象,这些都是图形元素。 在ArcMap中Map对象是由MXDocument对象的MapFrame对象管理,MapFrame是一个框架元素。 Map对象有双重身份,一方面是数据的管理容器,可以加载地理数据和图形元素,扮演了数据管理器的角色,另一方面它又可以让用户看到这些数据即扮演了数据显示器的角色,当加载数据到Map对象的时候,Map对象是数据的管理者;当改变视图范围,刷新地图的时候它是数据的显示者。 Map对象主要实现的接口由IMap, IGraphicContainer, IActiveView, IMapBookmarks等接口。 IMap接口主要用于管理Map对象中的Layer对象,要素选择集对象,MapSourround对象,空间参考等对象。 Map对象可以显示图形元素(Graphics Element),Map对象通过IGraphicsContainer接口来管理这些元素对象,包括图形元素和框架元素。IGraphicsContainer返回的是Map对象中处于活动状态的Graphics layer引用指针,它可以是一个Basicgraphicslayer,也可以是CompositeGraphicsLayer中的一个图层,或者是一个FDOGraphicsLayer注记图层。 以下代码片段演示如何添加一个Element到Map上: /// summary ///添加临时元素到地图窗口上 ////summary ///param name=pMapCtrl地图控件/param ///param name=pEle单个元素/param ///param name=pEleColl元素集合/param public static void AddTempElement(AxMapControl pMapCtrl, IElement pEle, IElementCollection pEleColl) { try { IMap pMap = pMapCtrl.Map; IGraphicsContainer pGCs = pMap as IGraphicsContainer; if (pEle != null) pGCs.AddElement(pEle, 0); if (pEleColl != null) if (pEleColl.Count 0) pGCs.AddElements(pEleColl, 0); IActiveView pAV = (IActiveView)pMap; //需要刷新才能即时显示 pAV.PartialRefresh(esriViewDrawPhase.esriViewGraphics, null, pAV.Extent); } catch (Exception Err) { MessageBox.Show(Err.Message, 提示, MessageBoxButtons.OK, MessageBoxIcon.Information); } } IActiveView接口定义了Map对象的数据显示功能。使用该接口可以改变视图的范围,刷

文档评论(0)

wx171113 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档