因为我是用ArcMap 10.8截的图,所以这还需要再加一个ArcMap 10.8 Document。一个地图文件包含一个布局对象,一个多或者地图对象以及其他一些附属信息。地图文件不直接存储例如.shp、.tif等实际数据,只是存储一些图层信息以及图层对这些数据的引用。
当前模式为布局模式,即激活的是PageLayout,一共包含了三个地图,其中激活的地图为第一个Conterminous United States。
从ArcMap展示上,我们可以看出,一个地图文件,包含了一个布局对象,即PageLayout。包含了多个地图对象,即Map。每个Map都可以作为一个元素在PageLayout上显示,并可以设置自己的显示比例尺,不必统一。针对每个地图,可以添加其关联的比例尺,图例、指北针、网格等智能元素。也可以在布局视图上添加点、线、面以及文字等元素。
ArcMap中,布局和数据视图,同一时刻只能激活一个。而且当数据视图被激活的时候,显示的地图为布局视图中的活动地图。
每个Map都包含了多个图层, 可以为这些图层设置渲染、标注等信息,但并不存储数据本身。我们可以在Map上添加点、线、面以及文字等非数据元素。
ActiveView,当布局视图激活的时候,该属性返回的是IPageLayout,当数据视图激活的时候,返回的是布局视图下活动的地图,即IMap。
MapCount表示当前地图文件有几个地图,通过Map[Index]可以获取指定的地图对象。
PageLayout即地图文件包含的布局对象,返回类型为IPageLayout。
IMap和IPageLayout的实现类都继承了IActiveView,即实际开发的时候,IMap和IPageLayout接口类型的变量都可以转换成IActiveView接口。
IMapDocument、IActiveView、IMap和IPageLayout接口之间的关系可与用下图表示。