ArcObjects SDK開發 008 從mxd地圖文件說起

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章