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

PyQGIS 功能

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

PyQGIS 是指 QGIS 中的 Python 环境。它允许用户使用Python 库自动化工作流程和扩展 QGIS。

但它不仅仅是 Python 核心库。您还可以利用数以千计的第三方库添加科学和数据分析功能。

PyQGIS 允许用户实现 Pythonic 结构,因此习惯使用 Python 的人会很快上手。

让我们来看看 PyQGIS 以及如何在 QGIS 中构建自己的 Python 脚本。

QGIS 中的 Python 控制台

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

插件 > Python 控制台

第一个选项是在控制台中逐行编写 Python 代码。但是 Python 控制台还有一个脚本编辑器 (IDE),可以更轻松地保存和运行脚本。

例如,您可以编写自己的工具,并在您编写的 Python 脚本中混合使用 QGIS 安装的各种库。

处理历史

每次您在 QGIS 中运行工具时,它也会存储历史记录。但是,您运行的这些预运行工具也会创建一个 Python 字典。

熟悉 PyQGIS 的最佳方法之一是检查算法历史中的代码。此外,您可以将其用作您自己的自定义脚本的起点。您可以通过单击处理工具箱中的“时钟”图标来访问处理历史记录。

当您使用脚本中的代码时,您可以根据需要替换其中的某些部分。例如,如果您运行缓冲区工具,您可以在处理历史记录中检查确切的 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”。

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

图形建模器

Graphical Modeler 是一种将不同处理算法串联在一起的可视化方式。如果您熟悉ArcGIS ModelBuilder ,它与 QGIS 类似。

您所要做的就是将输入、输出和算法放到接口上。然后,按照您要运行的顺序依次将它们连接在一起。

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

自定义 Python 算法

如果你去处理工具箱,你可以找到 Python 图标。这就是您构建自己的脚本的方式,这将打开 IDE。

或者,您可以从模板创建新脚本。这种预先编写的代码可以帮助您节省编写自己的处理工具的时间。

使用写作模板添加接口很容易。您甚至可以通过这种方式制作插件。

PyQGIS 文档

PyQGIS 文档是学习如何使用 Python 的好方法。如果您想利用任何 QGIS 算法,那么您可以查看任何工具的文档。

它还提供了有关如何使用 PyQGIS 的各个功能、代码片段和最佳实践的清晰示例。

例如,如果您想使用相交工具合并数据集溶解工具,则必须检查任何工具参数。这里有两个 PyQGIS 信息源,值得您花时间查看以构建和自定义脚本。

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

PyQGIS——QGIS 中的 Python

Python 是当今使用最广泛的编程语言之一。它是一种通用语言,能够处理几乎任何类型的编程任务。

它可以灵活地用于各个领域,包括 Web 开发、科学计算和数据科学。

Python 还有一组广泛的库,可以为许多不同的任务提供支持,这意味着您可以使用它来构建大型和小型应用程序。

你在使用 PyQGIS 吗?你喜欢它吗?你如何使用它的一些例子是什么?请在下面发表评论让我们知道。如果您希望进一步了解 Python,请不要忘记,这里有10 门 Python 课程和证书课程供您入门。

You may also like...

退出移动版