PyQGIS:如何在 QGIS 中构建 Python 脚本

PyQGIS:如何在 QGIS 中构建 Python 脚本


发布日期: 2022-12-12 更新日期: 2022-12-12 编辑:xuzhiping 浏览次数: 2327

标签:

摘要: PyQGIS 是指 QGIS 中的 Python 环境, 它允许用户使用 Python 库自动化工作流程和扩展 QGIS 。但它不仅仅是 Python 核心库, 还可以利用数以千计的第三方库添加科学和数据分析功能。PyQGIS 允许用户实现 Pythonic...

PyQGIS:如何在 QGIS 中构建 Python 脚本

PyQGIS 是指 QGIS 中的 Python 环境, 它允许用户使用 Python 库自动化工作流程和扩展 QGIS 。但它不仅仅是 Python 核心库, 还可以利用数以千计的第三方库添加科学和数据分析功能。PyQGIS 允许用户实现 Pythonic 结构,因此习惯使用 Python 的人会很快上手。本文将介绍 PyQGIS 以及如何在 QGIS 中构建自己的 Python 脚本。

QGIS 中的 Python 控制台

Python 可与 QGIS 一起使用来操作GIS 数据并执行高级分析。访问 PyQGIS 的一种方法是通过 Python 控制台:

Plugins > Python Console

第一个选项是在控制台中逐行编写 Python 代码,然而 Python 控制台还有一个脚本编辑器 (IDE),可以更轻松地保存和运行脚本。例如,可以编写自己的工具,并在编写的 Python 脚本中混合使用 QGIS 安装的各种库。

QGIS 中的 Python 控制台

处理历史记录

每次在 QGIS 中运行工具时,也会存储历史记录,运行的这些预运行工具也会创建一个 Python 字典。熟悉 PyQGIS 的最佳方法之一是检查算法历史中的代码。此外,可将其用作自己的自定义脚本的起点,通过单击处理工具箱中的 “clock” 图标来访问处理历史记录。

处理历史记录

当使用脚本中的代码时,可以根据需要替换其中的某些部分。例如,如果运行缓冲区工具,则可以在处理历史记录中检查确切的 PyQGIS 代码。

运行缓冲区工具

本例中运行缓冲工具的 PyQGIS 代码如下:

processing.run("native:buffer", {'INPUT':'C:/Data/places.shp','DISTANCE':0.1,'SEGMENTS':5,'END_CAP_STYLE':0,'JOIN_STYLE':0,'MITER_LIMIT':2,'DISSOLVE':False,'OUTPUT':'C:/Data/buffer.shp'})

如想将其合并到 Python 脚本中,只需更新脚本中的参数即可。例如,可以更改距离、融合类型或输出参数。

在本文示例中,我们将使用缓冲区处理历史中的完全相同的代码,并将其复制并粘贴到 QGIS Python 控制台中。因已有名为 “C:/Data/buffer.shp” 的文件,所以我们要将 OUTPUT 更改为“C:/Data/buffer2.shp”。

合并到 Python 脚本

所以开始使用 PyQGIS 真的很简单。回顾一下,只需检查您的处理历史记录,并使用此代码作为创建脚本的便捷快捷方式。

Graphical Modeler

Graphical Modeler(图形建模器)是一种将不同处理算法串联在一起的可视化方式。如果熟悉 ArcGIS ModelBuilder,则会了解它与 QGIS 类似。现在所要做的就是将输入、输出和算法放到接口上,然后按照要运行的顺序依次将它们连接在一起。

这就是在 QGIS 中构建可重复工作流程的方式。但同时也可以将图形模型导出为 Python 脚本。同样,这为脚本提供了一个极好的起点,之后更新 PyQGIS 脚本以更好地满足您的需求。

Graphical Modeler

自定义 Python 算法

如果转到 “Processing Toolbox”,则可以找到 “Python” 图标,可通过这种方式构建自己的脚本,这些脚本将打开 IDE。或者,可以从模板创建新脚本。此预先编写的代码可以帮助节省编写自己的处理工具的时间。使用编写模板添加界面很容易,甚至可以通过这种方式制作插件。

自定义 Python 算法

PYQGIS 文档

PyQGIS 文档是学习如何使用 Python 的好方法。如果您想利用任何 QGIS 算法,那么可以查看文档中的任何工具。它还提供了如何使用 PyQGIS 的单个特性、代码片段和最佳实践的清晰示例。例如,如果要使用相交工具、合并数据集或解散工具,则必须检查任何工具参数。以下是两个 PyQGIS 信息源,值得您花时间查看以构建和定制脚本。

QGIS 文档是基于当前版本的 QGIS 的主要用户指南,而 QGIS Python API 是一个索引,与 QGIS Python API 文档的核心、GUI 和分析内容相关。

PyQGIS - QGIS 中的 Python

Python 是当今使用最广泛的编程语言之一。它是一种通用语言,能够处理几乎任何类型的编程任务。它可以灵活地用于各个领域,包括 Web 开发、科学计算和数据科学。Python 还有一组广泛的库,可以为许多不同的任务提供支持,这意味着您可以使用它来构建大型和小型应用程序。

相关推荐

关注公众号
获取免费资源

随机推荐


Copyright © Since 2014. 开源地理空间基金会中文分会 吉ICP备05002032号

Powered by TorCMS

OSGeo 中国中心 邮件列表

问题讨论 : 要订阅或者退订列表,请点击 订阅

发言 : 请写信给: osgeo-china@lists.osgeo.org