基于分幅生成地图册

by 李远祥

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

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

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

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

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

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

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

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

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

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

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

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

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

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

时间: 2024-10-19 06:09:58

基于分幅生成地图册的相关文章

Linux下c基于openssl生成MD5的函数

Linux下openssl提供了一系列哈希及加密的函数,如果调用openssl提供的MD5函数生成任意字符串的MD5呢?下面提供了一段代码实现Linux下c字符串生成md5的函数. 具体代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 #include "stdio.h" #include <string.h> #include <stdlib.h&

C#基于NPOI生成具有精确列宽行高的Excel文件的方法

本文实例讲述了C#基于NPOI生成具有精确列宽行高的Excel文件的方法,是非常具有实用价值的技巧分享给大家供大家参考.具体方法如下:. 一.前言 NPOI是操作Excel的神器,导出导入快如闪电, 但是SetColumnWidth函数个人感觉不会用,怎么弄都无法控制好,因为他是以字符数量去设置宽度,实际上Excel列宽还有个像素的概念,更难搞懂了. //附带SetColumnWidth的用法和注释 IWorkbook hssfworkbook = new HSSFWorkbook(); ISh

kbmMW基于硬件生成随机数

按作者的说法,Delphi提供的生成随机数不是真正随机的,因为他是根据种子计算的,即种子+算法生成的随机数,如果被人知道原始种子值和算法的调用次数,则可以重现随机数,因此在安全领域,这是不安全的.同时,作者也提到Delphi32位内置的随机生成品非常弱,绝对不建议应用在任何安全相关的项目中. kbmMW 5.06.20支持TRNG(真随机噪声发生器)实现了真正的随机数算法,这个方案基于硬件,通过采样现实世界的噪声做为随机输入值,听起来是不是很NB! 基于这种方案实现随机数,要购买一个硬件,网址在

基于PHP生成静态页的实现方法

t1.php 复制代码 代码如下: <?php// 方法一根据模版生成静态页面// replaceTemplateString函数用于替换模板中指定字符串function replaceTemplateString($templateString) {    // 用来替换的变量    $title = "文章标题";    $body = "这里是文章主体";    // 替换模板 中指定字符串    $showString = str_replace (

基于ffmpeg生成hls(代码)

代码在 最简单的基于FFMPEG的转码程序(雷霄骅) 基础上简单修改 参考 基于ffmpeg的转码代码(转码为hls) https://pan.baidu.com/s/1w-fF5Ojz8M1ajKsc4DKdrg 1 /* 2 *最简单的基于FFmpeg的转码器 3 *Simplest FFmpeg Transcoder 4 * 5 *雷霄骅 Lei Xiaohua 6 *[email protected] 7 *中国传媒大学/数字电视技术 8 *Communication Universit

tflearn kears GAN官方demo代码——本质上GAN是先训练判别模型让你能够识别噪声,然后生成模型基于噪声生成数据,目标是让判别模型出错。GAN的过程就是训练这个生成模型参数!!!

GAN:通过 将 样本 特征 化 以后, 告诉 模型 哪些 样本 是 黑 哪些 是 白, 模型 通过 训练 后, 理解 了 黑白 样本 的 区别, 再输入 测试 样本 时, 模型 就可以 根据 以往 的 经验 判断 是 黑 还是 白. 与 这些 分类 的 算法 不同, GAN 的 基本 原理 是, 有两 个 相生相克 的 模型 Generator 和 Discriminator,Generator 随机 生成 样本, Discriminator 将 真实 样本 标记 为 Real, 将 Gene

基于svg生成iconfont矢量字体图标

对于前端开发,图标是前端页面不可缺少的元素,他能更让前端页面更加丰富.前端页面的初期都是使用图片,对于小的图标使用图片拼成雪碧图不仅影响前端开发的效率,而且图片文件相对较大也会影响网页加载的速度.ionfont字体图标相较于图片他的优势就是文件大小极小,几百个图标才几十上百kb,但是换成图片可能已经有几mb了,其次制作简单,只需UI提供svg图标可以通过工具自动生成字体文件,或者网上有很多免费的图标库可以自动生成矢量字体文件,例如阿里巴巴矢量字体库.但是iconfont字体图标因为他就像字体一样

Aspose.words Java基于模板生成word之纯文本内容

一,创建word模板 1.新建一个word文档 2.分别给四个参数设置域 (1)将鼠标置于想要设置域的地方 (2)设置域名 (3)设置好之后如下图所示 二,项目 1,引入maven依赖 <dependency> <groupId>com.aspose</groupId> <artifactId>aspose-words</artifactId> <version>18.5</version> <classifier&

Aspose.words Java基于模板生成word之循环图片

1.新建一个word文档 2.给插入图片的地方设置书签 3,设置书签 二,项目 1,2步的引入依赖以及加载授权文件同上一篇 3,获取图片路径插入到word中并生成新的word文档 新文档中,每行显示两张图片 public static void main(String[] args) throws Exception { // 验证License if (!getLicense()) { return; } //模板word String template = "E:\\test\\temp.d