QGIS 3.10 制作地图集

制作地图的时候,经常会碰到需要用模版创建很多相似地图的情况,例如对多个行政区划逐个创建风格统一的地图。手工创建这些重复的地图需要大量的时间,如果再加上周期性更新就更加不胜其烦了。QGIS打印地图功能提供了名为“地图集”(Atlas)的工具,通过创建地图模板,轻松地为不同区域制作大量风格统一的地图。如果您对基本的打印布局操作不熟悉,请参阅QGIS 3.10 制图手把手教程

任务概述

本教程将演示如何为夏威夷州的每个县创建湿地地图。

将会学到的其他技巧

  • 使用反转多边形(Inverted Polygons)样式渲染器填充多边形外部的区域。
  • 基于规则(Rule Based)的样式渲染器中构建表达式,显示地图集中当前选中的要素。
  • 在打印布局中构建表达式创建动态标签。
  • 使用形状渐层填满(Shapeburst fill)样式渲染器创建双色(dual-tone)多边形填充。

获取示范数据

本教程使用的示范数据是夏威夷州的湿地图层和2010年县级界限,下载地址如下:

http://www.qgistutorials.com/downloads/HI_Wetlands.shp.zip

http://www.qgistutorials.com/downloads/county10.shp.zip

将QGIS界面设置为中文

制作地图之前,请将您的QGIS软件界面设置为简体中文(如果您已经设置过了,可以忽略本节后续内容)。操作方式为:通过菜单【Settings】->【Options…】打开对话框,选择其中的【General】标签,找到“Override system locale”前面的复选框并打勾,在“User Interface Transaction”下拉框中找到并选择“简体中文”,单击【OK】,退出QGIS。重新启动QGIS后即可看到简体中文界面。

在这里插入图片描述

详细操作步骤

  1. 下载并解压缩示范数据。在QGIS的【浏览】面板中找到HI_Wetlands_Poly.shp county10.shp ,把它们拖拽到地图窗口中。HI_Wetlands_Poly.shp是湿地图层,county10.shp是县界图层。

在这里插入图片描述

  1. 在【图层】面板中取消勾选HI_Wetlands_Poly,关闭湿地图层,以便更清晰地观察县界情况。该图层共包含5个要素,每个要素由一个或者多个多边形组成,代表一个县级区域界线。

在这里插入图片描述

  1. 在【图层】面板中勾选HI_Wetlands_Poly使其显示在地图窗口中。点击菜单【项目】->【新建打印布局…】。

在这里插入图片描述

  1. 在弹出的【创建打印布局标题】对话框中,直接点击【OK】按钮,打开打印布局窗口。

在这里插入图片描述

  1. 在打印布局窗口中,点击菜单【添加条目】->【添加地图】。

在这里插入图片描述

  1. 按住鼠标左键,在需要添加地图的位置画出矩形范围。

在这里插入图片描述

  1. 松开鼠标左键,矩形区域内将刷新出地图主窗口当前的地图。在QGIS 3.10中,【地图集】工具默认不显示。点击菜单【视图】->【面板】->【地图集】,将地图集标签显示在打印布局窗口右侧操作面板中。

在这里插入图片描述

  1. 切换到【地图集】标签,在【生成图集】复选框中打勾。

在这里插入图片描述

  1. 【覆盖图层】下拉框中选择“county10”,表示为该图层中每一个多边形要素逐个创建地图,即每个县做一幅湿地地图,形成地图集。勾选【显示隐藏的覆盖范围图层】复选框,使该图层不显示。

在这里插入图片描述

  1. 切换到【条目属性】标签,勾选下方的【受控于地图集】复选框,表示在打印布局窗口中,地图显示的内容由【地图集】工具所设置的参数决定。

在这里插入图片描述
备注:只有先勾选【地图集】标签中的【生成图集】复选框,才能使【受控于地图集】复选框处于可勾选状态,否则,该复选框会显示为灰色,无法选中。

  1. 至此,地图集属性设置完成了。点击菜单【地图集】->【预览地图集】。

在这里插入图片描述

  1. 打印布局窗口中地图的范围发生了变化,由全部区域变为显示单个县级区域范围的地图。点击菜单【地图集】->【下一个要素】,逐个预览县级湿地地图。

在这里插入图片描述

  1. 点击菜单【添加条目】->【添加标签】,为地图添加标题。

在这里插入图片描述

  1. 切换到【条目属性】标签页,找到【主要属性】,点击【插入一个表达式…】按钮。

在这里插入图片描述

  1. 在QGIS中,通过构建表达式,地图标签内容可以从覆盖图层(county10)的属性字段取得。Concat函数用于将多个字符串合并,在本教程中用于合并“County of”字符串与图层county10 的“NAME10”字段取值。将下面表达式添加到【插入表达式】对话框的【表达式】文本框中:
concat('County of ', "NAME10")

在这里插入图片描述

  1. 将标签默认内容“Lorem Ipsum 乱数假文”删除,仅保留上一步骤表达式计算结果。点击下方的【外观】->【字体】,设置合适的字体和字号。

在这里插入图片描述

  1. 【水平对齐】和【垂直对齐】选项均选择【中间】。

在这里插入图片描述

  1. 在打印布局窗口中再次添加标签,在【条目属性】->【主要属性】文本框中输入“Wetlands Map”,由于这是一个常规字符串,所以其内容在地图集的所有地图中将保持不变。

在这里插入图片描述

  1. 点击菜单【地图集】->【下一个要素】/【上一个要素】,再次逐个预览地图集,确保标签与地图等元素不会出现相互压盖或者距离太远等问题。同时,在预览中也注意到,有些湿地地图存在面多边形延伸到海岸线以外的情况,显示效果不好。在QGIS中,可以通过设置样式,使得县界以外的多边形不显示,以改善显示效果。

在这里插入图片描述

  1. 切换到QGIS主窗口,在【图层】面板中右键点击“county10”图层,从弹出菜单中选择【属性…】,调出图层属性对话框。

在这里插入图片描述

  1. 在【图层属性】对话框中,切换到【符号化】标签页,渲染器下拉框选择“反转多边形”,以达到渲染县界多边形外部区域,内部区域不渲染的目的。选择【简单填充】,在下方的【填充颜色】中选择白色。点击【OK】按钮。

在这里插入图片描述

  1. 在地图主窗口中,可以看到延伸到县界以外的多边形消失了。实际上,因为使用了“反转多边形”填充模式,县界以外的区域被填充为白色,与地图背景融为一体,所以看起来好像消失了一样。

在这里插入图片描述

  1. 切换到打印布局窗口,在【地图集】标签页中,取消勾选【显示隐藏的覆盖范围图层】,可以看到“反转多边形”的效果,覆盖图层(county10)多边形之外的区域变为不可见,地图变得更整洁。

在这里插入图片描述

  1. 点击菜单【地图集】->【上一个要素】/【下一个要素】,通过逐个对县级湿地地图进行预览发现,在有些地图中,当前制图县界以外的其他县的界线显示了出来,使地图看起来效果非常不好,如下图。多数情况下,地图设计默认不会自动隐藏制图区域(县级界线)以外的要素,但在本教程中,为了制图效果,制图区域以外的要素不需要显示。切换到QGIS地图窗口,在【地图】面板中右键点击“county10”图层,从弹出菜单选择【属性…】,调出图层属性对话框。

在这里插入图片描述

  1. 在【图层属性】对话框中,切换到【符号化】标签页,点击【子渲染器】下拉框选择【基于规则】。双击规则(Rule)条目编辑规则。

在这里插入图片描述

  1. 在【Edit Rule】对话框中,点击【过滤】右侧的【Ɛ】按钮,打开【表达式字符串构建器】。

在这里插入图片描述

  1. @atlas_featureid”变量保存打印布局窗口中当前选中的要素ID,使用该变量构造表达式,使地图窗口仅显示当前选中的要素。在【表达式字符串构建器】中,在【表达式】文本框中输入下面表达式:
$id = @atlas_featureid

在这里插入图片描述

  1. 关闭所有对话框,返回打印布局窗口。点击地图,使“地图1”条目呈选中状态。在【条目属性】标签页中,点击上方工具条的【更新地图预览】按钮,可以看到地图中除了当前选择的县级界线,其他要素被隐藏了。

在这里插入图片描述

  1. 点击菜单【添加条目】->【添加标签】,在打印布局窗口右下角合适的位置画出标签,该标签用于显示当前日期。点击【条目属性】->【插入一个表达式】按钮。

在这里插入图片描述

  1. 在弹出的【插入表达式】对话框中,展开【日期和时间】组,找到存储当前系统时间的now函数,todate函数将now函数生成的日期类型转换为字符串,然后用concat函数把“创建于:”和当前日期字符串连接起来。在左侧【表达式】文本框输入如下表达式:
concat('创建于: ', todate($now))

在这里插入图片描述

  1. 点击菜单【添加条目】->【添加标签】,在左下角画出标签的位置,添加引用数据源。也可以自行添加其他的地图元素,如指北针、比例尺等,添加步骤可参考本系列教程第一篇:QGIS 3.10 制图手把手教程

在这里插入图片描述

  1. 切换回QGIS主窗口,在【图层】面板中右键点击“HI_Wetlands_Poly”,在弹出菜单中选择【属性…】,在图层属性对话框中设置水域的填充模式。

在这里插入图片描述

  1. 在【图层属性】对话框中,切换到【符号化】标签页,点击【简单填充】,在下方的【符号图层类型】下拉框选择“形状渐层填满”,【渐变色】选择“双色”,分别设置两种填充颜色,因为要表达湿地多边形,此处建议以绿色和蓝色为主,然后点击【OK】按钮。

在这里插入图片描述

  1. 切换到打印布局窗口,选中“地图1”点击【条目属性】下方工具栏的【更新地图预览】按钮,刷新地图以观察地图渲染效果的变化。

在这里插入图片描述

  1. 地图样式和风格调整满意后,点击菜单【地图集】->【地图集导出成位图…】。

在这里插入图片描述

  1. 在【将地图集导出到目录】对话框中,选择地图集存储的目录,点击【选择文件夹】按钮,关闭对话框。

在这里插入图片描述

  1. 在【位图导出选项】对话框中,所有参数保持默认即可,点击【Save】按钮。

在这里插入图片描述

  1. 地图集工具将遍历覆盖图层“county10”的县级区域要素,根据上面步骤设置的地图模版,为每个县级区域创建湿地地图,并转换为图片。切换到所设置的导出目录,可以看到生成的地图图片。

在这里插入图片描述

  1. 至此,按县界制作的湿地地图集完成了,以下是输出结果:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


本教程到此结束。

吴建玲

2020年7月9日


版权声明

本文欢迎转载,转载时请注明出处。

本文主要翻译并改编自qgistutorials网站,原文链接为https://www.qgistutorials.com/en/docs/3/automating_map_creation.html,原文已根据《知识共享署名4.0国际许可协议(Creative Commons Attribution 4.0 International License)》获得许可,在此向原文作者乌加尔·甘地(Ujaval Gandhi)致以敬意,感谢他为分享QGIS技术做出的贡献。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/QGISClass/article/details/107219699