ArcObjects SDK开发 008 从mxd地图文件说起

IT技术2年前 (2022)发布 IT大王
0

1、Mxd文件介绍

ArcGIS的地图文件为.mxd扩展名。Mxd文件的是有版本的,和ArcGIS的版本对应。可以在ArcMap中的File-Save A Copy,保存一个地图拷贝的时候选择Mxd文件的版本,支持的版本如下图所示。

image1.png

因为我是用ArcMap 10.8截的图,所以这还需要再加一个ArcMap 10.8 Document。一个地图文件包含一个布局对象,一个多或者地图对象以及其他一些附属信息。地图文件不直接存储例如.shp、.tif等实际数据,只是存储一些图层信息以及图层对这些数据的引用。

高版本的ArcMap可以打开同版本和低版本的地图文件。

2、使用ArcMap打开mxd文件

下图是ArcMap自带的一个典型的mxd文件打开的效果。如下图所示。

image2.png

当前模式为布局模式,即激活的是PageLayout,一共包含了三个地图,其中激活的地图为第一个Conterminous United States。

切换到数据模式,ArcMap显示的是当前激活的地图,如下图所示。

image3.png

从ArcMap展示上,我们可以看出,一个地图文件,包含了一个布局对象,即PageLayout。包含了多个地图对象,即Map。每个Map都可以作为一个元素在PageLayout上显示,并可以设置自己的显示比例尺,不必统一。针对每个地图,可以添加其关联的比例尺,图例、指北针、网格等智能元素。也可以在布局视图上添加点、线、面以及文字等元素。

ArcMap中,布局和数据视图,同一时刻只能激活一个。而且当数据视图被激活的时候,显示的地图为布局视图中的活动地图。

每个Map都包含了多个图层, 可以为这些图层设置渲染、标注等信息,但并不存储数据本身。我们可以在Map上添加点、线、面以及文字等非数据元素。

3、使用ArcObject SDK打开mxd文件

在ArcObjects SDK中,我们一般使用IMapDocument接口打开mxd文件。在帮助中,查看到的IMapDocument的结构如下图所示。

image4.png

有几个比较重要的属性。

ActiveView,当布局视图激活的时候,该属性返回的是IPageLayout,当数据视图激活的时候,返回的是布局视图下活动的地图,即IMap。

MapCount表示当前地图文件有几个地图,通过Map[Index]可以获取指定的地图对象。

PageLayout即地图文件包含的布局对象,返回类型为IPageLayout。

IMap和IPageLayout的实现类都继承了IActiveView,即实际开发的时候,IMap和IPageLayout接口类型的变量都可以转换成IActiveView接口。

IMapDocument、IActiveView、IMap和IPageLayout接口之间的关系可与用下图表示。

image5.gif

© 版权声明
好牛新坐标 广告
版权声明:
1、IT大王遵守相关法律法规,由于本站资源全部来源于网络程序/投稿,故资源量太大无法一一准确核实资源侵权的真实性;
2、出于传递信息之目的,故IT大王可能会误刊发损害或影响您的合法权益,请您积极与我们联系处理(所有内容不代表本站观点与立场);
3、因时间、精力有限,我们无法一一核实每一条消息的真实性,但我们会在发布之前尽最大努力来核实这些信息;
4、无论出于何种目的要求本站删除内容,您均需要提供根据国家版权局发布的示范格式
《要求删除或断开链接侵权网络内容的通知》:https://itdw.cn/ziliao/sfgs.pdf,
国家知识产权局《要求删除或断开链接侵权网络内容的通知》填写说明: http://www.ncac.gov.cn/chinacopyright/contents/12227/342400.shtml
未按照国家知识产权局格式通知一律不予处理;请按照此通知格式填写发至本站的邮箱 wl6@163.com

相关文章