使用处理框架进行批次处理 (QGIS2)

警告

本教学已有新的版本,请前往 使用处理框架进行批次处理 (QGIS3)

QGIS 2.0 引进了一个称为处理框架(Processing Framework)的新概念。它的前身是 Sextante,旨在为 QGIS 提供可以用来执行原生或第三方提供的演算法来处理资料的环境。此概念包含一个很棒的批次处理介面,让使用者可以简单地对许多图层执行程式计算。这个批次处理工具可以自动处理重复的工作,为你省去许多时间精力。

内容说明

我们要只使用一个批次指令,来裁切几个全球的向量图层的非洲大陆区域资料。

你还会学到这些

  • 融合 (Dissolve) 图层中具有相同属性的多边形图征

取得资料

Natural Earth 可以载到以下几个向量图层:

下载后,把所有的 shapefile 都解压缩到同一个资料夹。

资料来源 [NATURALEARTH]

操作流程

  1. 选择 图层 ‣ 加入向量图层

../_images/1141.png
  1. 选择刚下载的 Admin 0 - Countries ne_10m_admin_0_countries.shp 并按下 确定

../_images/299.png
  1. 由于我们的任务是裁切全球图层到非洲大陆的范围,因此需要先准备一个多边形图层,描绘出非洲大陆的外框。本图层具有一个称为 CONTINENT 的属性,我们可以利用一个称为「融合(Dissolve)」的地理运算工具,来融合所有具有相同属性的非洲国家(多边形)成为一个大的多边形。

../_images/350.png
  1. 选择 向量 ‣ 地理运算工具 ‣ 融合,开启 融合 工具。

../_images/433.png
  1. 输入向量图层 中输入 ne_10m_admin_0_countries融合栏位 选择 CONTINENT,输出档命名为 continents.shp,然后勾选 加入结果至 QGIS 地图中

注解

如果你想要不管属性、融合所有的多边形的话,可以在 融合栏位 中选择 – 全部融合 –,这样的话所有的多边形就会融合成一个。

../_images/533.png
  1. 融合的处理需要一些时间。当处理完毕后,名为 continent 的新图层会加到 QGIS 中,使用工具列上的 选取图征 工具,点选非洲大陆,把大陆外框的多边形选取起来。

../_images/632.png
  1. continents 图层上按右键选择 存档为…,勾选 储存仅选取的图征。(译按:旧一点的 QGIS 版本可以直接选择 储存选取范围为…

../_images/732.png
  1. 输出档案命名为 africa.shp,由于我们只需要大陆的形状,不在乎其属性值,因此 忽略属性建立 的框框也可以勾选起来。顺便确认 加入储存档案至地图中 有勾选后,按下 确定

../_images/831.png
  1. 现在 QGIS 已载入了 africa 图层,图层内只有一个非洲的多边形。现在我们可以开始批次剪下档案了。开启 地理运算 ‣ 工具箱

../_images/932.png
  1. 在所有可用的运算法中搜寻并找到 裁切(Clip)工具。它可能会放在 geoalgorithms ‣ 向量 ‣ 叠层 目录底下,或是旧版的 QGIS geoalgorithms ‣ Vector overlay tools 底下。你也可以使用 搜寻 框简单查询此运算法的位置。

../_images/1030.png
  1. 右键点选 裁切 运算法然后选择 以批次方式执行

../_images/1142.png
  1. 批次处理中 的视窗中,第一个分页「参数」就是我们给定输入档案的地方。请点选第一行的 输入图层 框旁边的 按钮。

../_images/1232.png
  1. 切换至你刚下载的有关全球交通的 shapefile 的资料夹,按住 Ctrl 键然后选择所有你想要裁切的图层。你也可以使用 ShiftCtrl-A 进行多重选取。接着按下 开启旧档

../_images/1331.png
  1. 你会看到 输入图层 栏位现在已经自动填上我们刚才选择的档案。你可以使用 加入一列资料 的按钮增加更多栏位,一次处理更多资料。接下来,我们要选择含有裁切边界的图层,因此请点选 裁切图层 旁边的 钮,选择 africa.shp。由于我们要用同一个图层裁切所有的输入档,因此可以在 裁切图层 的标题地方点两下,此图层就会自动填到所有的空白行中。接下来我们要设定输出档案,请点选在 剪下 一栏旁边的 钮。

../_images/1430.png
  1. 浏览到你想要储存输出档的资料夹内,档名输入为 clipped_,然后按下 存档

../_images/1529.png
  1. 你会看到有个 自动填满选项 的视窗出现。自动填满模式 选择 填上参数值使用的参数 选择 输入图层。此设定会让所有的输出档档名为输入档档名之前再加上 output_ 文字。此步骤非常重要,务必确认出各个输出档档名都是独一无二的,才不会发生互相复盖的情况。

../_images/1626.png
  1. 现在批次处理已经准备就绪,请按下 Run

../_images/1724.png
  1. 裁切运算将执行在你刚刚指定的输入档上,然后制作成为输出档。批次处理完成后,产生的图层会载入到 QGIS 中,你会发现这些全球的图层都被裁切到只剩下非洲大陆的区域了。

../_images/1824.png