制作地图

在你需要制作一张可供列印或出版的地图时,QGIS 提供了一组称为「地图出版设计」 Print Composer 的强大工具,它可以方便地把所有的图层打包起来产生完整的地图。

内容说明

本教学示范如何制作一张包含基本制图元素的日本地图,像是网格线、方位标示、比例尺、图例与标签、插页小图等等。

你还会学到这些

  • 使用「即时 CRS 转换」把在不同空间投影下储存的资料统一呈现

获取数据

这里使用的是 Natural Earth dataset 中的 Natural Earth Quick Start Kit ,这些资料已经整理得相当不错,而且可以直接载入到 QGIS 当中。

下载 Natural Earth Quickstart Kit

资料来源 [NATURALEARTH]

操作流程

1. 下载 Natural Earth Quick Start Kit 资料并解压缩。开启 QGIS, 点选 File ‣ Open Project

../_images/190.png

2. 进入到 1Natural Earth Quick Start Kit 解压过的资料夹后, 应该能找到一个叫 Natural_Earth_quick_start_for_QGIS.qgs 的档案。 这就是所谓的「QGIS 专案档」, 通常会一并含有许多图层的资料。 按下 Open

../_images/235.png
  1. 然后专案内含的图层就会被载入到 QGIS 的画布上。如果画布上方出现了蓝色的警告讯息,点右边的叉号即可取消。
../_images/323.png
  1. 接下来我们就要制作日本地图了。 点选 Zoom In 钮后在日本附近画个长方形出来,地图会放大到此范围。
../_images/417.png

5. 你可以关掉某些我们用不到的图层,例如 10m_geography_marine_polys10m_admin_0_map_units. 只要把他们的勾选取消掉就行了。为了要能够顺利的排版地图,接下来我们要为地图选择一个合适的投影。 目前这份资料所采用的地理座标系统 (GCS) 的单位是「经纬度」,但常见的地图通常会以「公里」为单位。 所以,这个专案的 投影法需要另外选择一个以长度为单位,而且不会让我们想要出图的区域变形得太严重的投影法。 因此,UTM (国际横麦卡托) 投影就成了还不错的选择。 UTM 投影法把全球的区域切成许多小块,所以你可以依照你的地图选择最适当的投影区域。 在这里,我们要使用 UTM Zone 54N, 请点选 CRS Status 右下角的 目前的CRS 按钮。

注解

在日本地区,其实还有一个投影法可以使用,称为 Japan Plane Rectangular CS (日本平面矩形座标系统)。 这个投影法可以最小化投影造成的变形。它目前把全日本分成 18 个子区,如果你考虑把地图范围缩到更小的话, 使用这个 CRS 会更好一点。

../_images/517.png

6. 勾选 Enable on-the-fly CRS Transformation 的框框。 并在下面 的 Filter 过滤条件栏位输入 Tokyo utm zone54n 。 在下面视窗看到结果之后, 选择 Tokyo / UTM Zone 54N - EPSG:3095,然后按下 Apply

../_images/616.png
  1. 现在就可以开始合成地图了。 点选 Project ‣ New Print Composer
../_images/715.png
  1. 会有一个视窗跳出来要求你输入设计标题,这边可以先空着,点 Ok

注解

如果标题是空白的话,程序会自动产生一个像是 Composer 1 的预设标题。

../_images/815.png

10. 在地图出版设计的视窗中,在地图出版设计的视窗中, Zoom full 以确定你看到的是整张地图的范围。 然后我们要把在 QGIS 画布中的东西放进来,请选择 Layout ‣ Add Map.

../_images/1014.png
  1. Add Map 启动之后, 必须要在地图版面上拖曳一块你想插入地图的区域。
../_images/1118.png

12. 你会看到这个区域马上就填上了 QGIS 画布中的东西。不过它未必会跟我们所要的制图区域完全重合, 这个时候可以选择 Layout ‣ Move item content 然后直接把在这个区域里的东西拖曳到你所想要的范围。

../_images/1216.png
  1. 地图的比例尺也可以稍做调整, 在右侧 Item Properties 分页中的 Scale 输入 7000000 看看。
../_images/1315.png

14. 接下来我们会插入一个东京区域的放大版地图,不过在进行任何更动之前,要把已经弄好的底图给锁起来。 请勾选 Lock layers for map item 以及 Lock layer styles for map item. 这两个选项是用来确保接下来在 QGIS 画布上的更动,不会连带影响到设计视窗中已经弄好的部分。

../_images/1413.png
  1. 切换到 QGIS 视窗。使用 Zoom In 放大到东京市周围。
../_images/1513.png
  1. 这个 ne_10m_populated_places 图层有一些重复的地名标签,你可以把它关掉。
../_images/1612.png
  1. 接下来就可以弄插页小图了。切换到 地图出版设计 视窗,然后选择 Layout ‣ Add Map.
../_images/1711.png

18. 在你想要插入东京区域地图的地方拉一个长方形即可。现在我们有 2 个地图物件在同一个设计稿上了,所以如果你要改动其中任意一个地图, 就要先确认正确的地图物件有没有被选取起来。在 Items 分页中, 请选择我们刚刚加入的 Map 1 物件, 然后在 Item properties 分页中. 往下卷动到 Frame 的栏位,把那个框框勾起来,这样我们就能自由调整小插图的外框, 使之与主要地图区隔开以方便辨识。

../_images/1811.png

19. 这里有个很方便的功能,可以帮你标示小插图是位在主地图的哪里。首先在 Items 分页中选择 Map 0 然后在 Item properties 分页中,, 往下卷动到 Overviews 的栏位。点选 Add a new overview 的按钮。

../_images/199.png
  1. Map Frame 选单中选择 Map 1 , 就可以把 Map 1 的小图范围标示在 Map 0 中。
../_images/206.png

21. 现在插页小图也完成了,下一步就来加个格线和斑马框(Zebra Border)到主地图上。在 Items 分页中选择 Map 0 , 然后在 Item properties 分页中, 往下卷动到 Grids 的栏位。 点选 Add a new grid 的按钮。

../_images/2112.png

22. 在预设的情形中,格线会使用与选择的地图相同的投影法标示,不过使用「经纬度」标示的格线却更常见,而且使用者也易于阅读。 所以这里我们来为格线选择一个不同的 CRS 试试看。请点选格线栏位中,CRS 右侧的 change... 按钮。

../_images/2211.png

23. 选择 Coordinate Reference System Selector 的视窗会跳出, 在 Filter 内输入 4326 。 然后选择 WGS84 EPSG:4326 当作格线的CRS,按下 OK.

../_images/236.png

24. 在 Interval 栏位中,把 XY 都设成 5 度, 然后再适当的调整 Offset,就可以设定格线要在哪出现。

../_images/245.png
  1. 往下移到 Grid frame 的栏位,就可以选择你喜欢的边框样式。 再更下面,还可以顺便勾选 Draw coordinates
../_images/254.png

26. 调整 the Distance to map frame 之距离。可以使这些座标文字易于阅读; 而调整 Coordinate precision1 则可以让这些座标只显示到小数点以下。

../_images/264.png

27. 再来就是加个指北箭头。 QGIS 的出图设计功能本身有内建一些不错的现成图片, 其中当然也包括许多种类的指北箭头,只要选择 Layout ‣ Add Image.

../_images/274.png
  1. 用滑鼠左键在地图右上角拖曳出一个方形,然后在右侧的 Search directories 中把 Item Properties 点开,就可以选择你喜欢的图案了。
../_images/282.png
  1. 再加个比例尺好了,选择 Layout ‣ Add Scalebar.
../_images/293.png

30. 在你想要比例尺出现的地方按一下,记得在 Item Properties 中确认这个比例尺显示的是主地图的比例尺,而不是插页小图的比例尺。 各种你想要的设定都可以在这边调整,例如在 Segments 的栏位中,可以调整黑白线段的数量以及尺寸。

../_images/303.png
  1. 总算到了添加标题的时间! 选择 Layout ‣ Add Label.
../_images/3111.png

32. 在地图上拖曳标签的范围,接着展开 Item Properties 中的 Label 栏位,然后输入如下文字试试。 没错,这是 HTML 语法,只要勾选 Render as Html 的选项后,它就会使用 HTML 标签解读这些文字。

<div align=center>
<h1>Map of Japan</h1>
</div>
../_images/324.png
  1. 我们简单的再加上资料来源以及制图使用软件的标签。
../_images/332.png

34. 当你把地图调整到最佳状态后,就可以输出成图片文件、PDF 或是 SVG 文件了。 这里我们试试看转存成图片文件:选择 地图设计 Composer ‣ Export as Image 为影像。

../_images/342.png
  1. 存成任一种你喜欢的格式即可。这里放的是存成 PNG 的图片。
../_images/352.png