ArcGIS10的帮助文档相比之前的版本有了不小的变化,尤其是在制图这一块,不难发现新增了两个很突出的章节:creating a map book和automating map workflows,看起来新的版本在出图这块确实是做了不少工作。
对于制图人员,制作地图集是一项复杂耗时的工作,在之前的版本中,我们只能够利用模版(Template)来保持地图集风格一致,而每幅地图的内容都需要自己来手动的调整。对于分幅这样的常见问题确实还是不够灵活。在新的ArcGIS10版本中就此提供了一套快速制作分幅地图,以及打印或者输出成pdf的自动化方法,这就是我们将要讨论到的数据驱动页面(Data driven pages)。
数据驱动页面顾名思义就是现有的数据来确定地图集中每一幅地图的范围,这个数据即所谓的索引数据,它可以是规则的格网,也可以是不规则的多边形要素(会按照要素外包矩形的范围来出图,例如想要制作全国每个省的土地利用地图),确定了这样的格网,那么将来地图集中每一幅地图的出图范围也就确定了。下面我们需要做的就是开启数据驱动页面的功能。
该功能可以在Data Driven Pages工具条上开启,也可是在File菜单的Page and Print Setup选项中设置。勾上enable data driven pages选项,另外指定索引数据图层和用来分幅的字段就可以了(如果想利用规则格网作为索引数据,可以使用ArcToolbox中的Grid Index Features工具来生成规则的格网)。
OK,就这么简单,做了这样的定制之后,我们在版面视图(Pagelayout)下就可以看到我们的成果了,通过Data Driven Pages工具条上的指示箭头,可以浏览分幅后的任意一副地图。然后我们就可以打印或者输出了,在export map这里,我们发现输出pdf的地方多了一个pages的选项,可以指定地图集中的全部或者部分输出,设置完毕点击ok,就可以打开pdf看到我们的劳动成果了,确实方便了许多。
如果工作到了这里结束,ms还不能完全体现数据驱动页面的强大之处,经常会与其配合使用的定位地图(locator map)和动态文本(dynamic text)会使得制作地图集的工作更加便利。所谓的定位地图就是在图集中希望看到当前的地图位于整个区域的哪一部分,也就是哪个索引格网中。它的操作也是很方便的,新添加一个数据框,把索引数据添加进来(当然也可以添加一些背景底图),再把索引数据拷贝为一个图层,修改符号化的效果为中空有边框的形式(为了能够突出显示),然后在该图层的属性对话框中definition query选项卡中可以看到激活的page definition按钮,开启enable功能,指定与分幅相同的字段即可。再次浏览地图集中的每一幅地图的时候,所在的索引格网就会突出显示。
动态文本也是放置在版面视图中,作为说明性的一些文字。与自定义的文本不同,所谓的动态文本即能够读取当前地图文档的一些信息,以及当前日期、坐标系统等,也可以显示当前地图位于地图集中的第几页,索引号,上下左右图幅的索引号等。打开动态文本的属性我们看到,它都是<dyn type="page" property="PageNam_N"/> 这样的形式,修改property就可以动态显示某个字段的值。