54_运行与调度 QGIS 处理任务
原文链接: https://www.qgistutorials.com/en/docs/running_qgis_jobs.html
运行与调度 QGIS 处理任务¶
你可以使用 Python 脚本(PyQGIS)和 Processing 框架在 QGIS 中自动执行许多任务。大多数时候,你会在 QGIS 打开时手动运行这些脚本。虽然这很有帮助,但很多时候你需要一种通过命令行运行这些任务的方式,而不需要打开 QGIS。幸运的是,你可以编写使用 QGIS 库并通过命令行运行的独立 Python 脚本。在本教程中,我们将学习如何编写和调度一个使用 QGIS Processing 框架的任务。
任务概述¶
假设我们正在使用某个地区的 Shapefile 进行一些分析。这些 Shapefile 每天都会更新,而我们总是需要最新的文件。但在使用这些文件之前,我们需要清理数据。我们可以设置一个 QGIS 任务来自动化此过程并每天运行,这样你就能获得最新清理过的 Shapefile 用于工作。我们将编写一个独立的 Python 脚本,用于下载 Shapefile 并每天运行拓扑清理操作。
你将学到的其他技能¶
- 使用 Python 下载和解压缩文件。
- 通过 PyQGIS 运行任何 Processing 算法。
- 修复矢量图层中的拓扑错误。
获取数据¶
Geofabrik 提供每日更新的 OpenStreetMap 数据集 Shapefile。
本练习我们将使用斐济的 Shapefile。下载 fiji-latest.shp.zip 并将其解压缩到磁盘上的一个文件夹中。
数据来源 [GEOFABRIK]
操作步骤¶
- 我们首先手动完成清理 Shapefile 的过程,以记录将在 Python 脚本中使用的命令。启动 QGIS 并转到图层 ‣ 添加图层 ‣ 添加矢量图层。

- 浏览到包含解压后 Shapefile 的文件夹,选择
roads.shp文件,然后单击打开。
