首页 > 代码库 > 基于分幅生成地图册

基于分幅生成地图册

基于分幅生成地图册

by 李远祥

      在地图制作中,经常会出现基于分幅制作地图册的需求。虽然ArcGIS在10.0版本之后加入了基于数据驱动页面出图,也就是传统的地图册功能,通过简单的配置即可生成地图册。但如果只是简单粗暴的直接应用其配置,还是会导致一系列不如意的事情发生。因此,在打印出图之前必须要完成一些细致的配置。

      首先看下图,这是一个非常常见的地图分幅,将分幅图层加载进地图中,设置一下透明度显示,可以看到其分幅的大概地理位置。

技术分享

      要生成地图册,必须确保每一个分幅都有其独力的信息,例如分幅所在的区域,图幅号,对应图例,这些都属于动态信息。还有一些统一的静态信息,如比例尺、指北针、出图日期、制作单位等。静态信息处理起来比较简单,分别将其放置固定的图面位置即可。而关键部分就是动态信息了,需要确保被每一个图幅获取并独力设置。因此,需要在分幅图层和布局视图中分别处理。

      例如,地图的标题设置,需要使用分幅所在的县和图幅编号表示,这就需要在分幅图层添加一个新的字段,使用【字段计算器】将县名和分幅号合并起来。这是一个数据处理的过程。

技术分享

      接下来就是根据地图规范进行区域的完整配图。将地图配置好之后,插入地图的图例。图例的设置一定要使用动态图例的方式,这样确保该分幅中没有多余的图例。在ArcGIS10之前的版本是需要手工的删除多余的图例的,这也就不能很好的制作图册了。从ArcGIS10.0 版本开始就支持动态图例显示,这样就不再需要人为的检测是否存在多余的图例了。

      如何设置动态图例呢?首先切换到【布局面板】,插入并设置好图例,用选择工具选中图例,点击右键属性,在图例属性中选择【项目】标签。

技术分享

      点击【全选】按钮,选中所有的图例,并勾选上右边的【仅显示当前地图范围可见的类】,并且仅保留该项,如下图所示

技术分享

      点击【应用】后,完成动态图例的设置。接下来设置好比例尺、指北针等一系列的静态显示要素。给地图加入一个动态文本,例如制作日期。

技术分享

      ArcGIS 提供多种的动态文本,可以非常方便的插入一些地图描述信息。我们这里主要是加入一个制作日期作为显示出图的日期,加入一个标题,显示该分幅的名称。地图标题可以插入一个【数据驱动页面名称】。这个名称我们暂时不做任何设置,而是先到【文件】--【页面和打印设置】,先根据实际需要设定打印的一些相关配置,如下图

技术分享

      点击【数据驱动页面】,进入设置图册的相关配置。首先要勾选中【启动数据驱动页面】,这个是大前提。然后选择数据框。在图层选项中,下拉选择分幅的数据图层,名称字段选择之前新增组合字段(就是第一步新建的将县名和分幅号组合起来的字段),然后选择排序的字段等。点击驱动完成配置。

技术分享

      当这一步完成之后,在布局面板中,之前放置的动态文本就变为该字段的值,也就是我们要求的地图名称。

技术分享

      如果需要修改其显示规则,例如变为【xxxx分幅图】,则用选择工具双击该文本,进入编辑状态,修改文本的样式和规则,例如

技术分享

      如果一切配置都完成的话,就可以打印输出地图册了。在【文件】--【导出地图】,选择保存类型为pdf,一定是pdf,不然无法生成图册。在【页面】标签中选择输出【全部】,将页面导出为单个或多个pdf文件,如下图

技术分享

      点击【保存】按钮,并生成图册。在pdf中可以查看出图的效果,图例和标题都随着分幅自动设置,出图日期根据系统当前日期自动进行了填充。

技术分享

 

技术分享

 

基于分幅生成地图册