27.1.8. 建模器工具

警告

这些工具仅在模型设计器中可用。它们在处理工具箱中不可用。

27.1.8.1. 计算表达式

NEW in 3.34

它计算QGIS表达式的结果,并且当多次需要相同的结果时,不需要在整个模型中多次使用相同的表达式。此外,它还支持原本不可能实现的用例。例如,您可以只生成一次时间戳值,然后在模型中多次使用它,如果每次都重新计算时间戳,则这些值在模型运行时会有所不同。

参数

标签

名字

类型

描述

Input

INPUT

[expression]

要计算的表达式

产出

标签

名字

类型

描述

Value

OUTPUT

[Result Value]

计算结果值时,输出的数据类型将根据算法中使用的特定表达式而有所不同。

Python代码

Algorithm IDnative:calculateexpression

import processing
processing.run("algorithm_id", {parameter_dictionary})

这个 algorithm id 当您将鼠标悬停在处理工具箱中的算法上时,将显示。这个 parameter dictionary 提供参数名称和值。看见 从控制台使用处理算法 有关如何从Python控制台运行处理算法的详细信息。

27.1.8.2. 条件分支

将条件分支添加到模型中,从而允许根据表达式计算的结果执行模型的某些部分。主要是通过使用工具依赖关系来控制模型的流动。

参数

标签

名字

类型

描述

Field

BRANCH

[string]

条件的名称

Field

CONDITION

[expression]

要计算的表达式

产出

没有。

Python代码

Algorithm IDnative:condition

import processing
processing.run("algorithm_id", {parameter_dictionary})

这个 algorithm id 当您将鼠标悬停在处理工具箱中的算法上时,将显示。这个 parameter dictionary 提供参数名称和值。看见 从控制台使用处理算法 有关如何从Python控制台运行处理算法的详细信息。

27.1.8.3. 创建目录

在文件系统上创建新目录。目录将以递归方式创建,创建所有必需的父目录以构建完整的指定目录路径。如果该目录已经存在,则不会引发任何错误。

参数

标签

名字

类型

描述

Directory path

PATH

[string]

要创建的文件夹路径

产出

标签

名字

类型

描述

Output

OUTPUT

[folder]

已创建文件夹

Python代码

Algorithm IDnative:createdirectory

import processing
processing.run("algorithm_id", {parameter_dictionary})

这个 algorithm id 当您将鼠标悬停在处理工具箱中的算法上时,将显示。这个 parameter dictionary 提供参数名称和值。看见 从控制台使用处理算法 有关如何从Python控制台运行处理算法的详细信息。

27.1.8.4. 功能过滤器

过滤输入图层中的要素并将其重定向到一个或多个输出。如果您不知道所有可能的输入图层共有的任何属性名称,则只能对要素几何和常规记录机制进行过滤,例如 $iduuid

参数

标签

名字

类型

描述

Input layer

INPUT

[vector: any]

输入层。

Outputs and filters

(一个或多个)

OUTPUT_<name of the filter>

[same as input]

带有滤镜的输出层(与滤镜一样多)。

产出

标签

名字

类型

描述

Output

(一个或多个)

native:filter_1:OUTPUT_<name of filter>

[same as input]

带有过滤要素的输出层(与过滤器一样多)。

Python代码

Algorithm IDnative:filter

import processing
processing.run("algorithm_id", {parameter_dictionary})

这个 algorithm id 当您将鼠标悬停在处理工具箱中的算法上时,将显示。这个 parameter dictionary 提供参数名称和值。看见 从控制台使用处理算法 有关如何从Python控制台运行处理算法的详细信息。

27.1.8.5. 按类型过滤图层

按类型过滤图层。传入的层将根据它们是矢量层还是栅格层被定向到不同的输出。

参数

标签

名字

类型

描述

Input layer

INPUT

[layer]

通用地图层

产出

标签

名字

类型

描述

Vector features

任选

VECTOR

[vector]

输入的矢量层(如果兼容

Raster layer

任选

RASTER

[raster]

输入的栅格图层(如果兼容

Python代码

Algorithm IDnative:filterlayersbytype

import processing
processing.run("algorithm_id", {parameter_dictionary})

这个 algorithm id 当您将鼠标悬停在处理工具箱中的算法上时,将显示。这个 parameter dictionary 提供参数名称和值。看见 从控制台使用处理算法 有关如何从Python控制台运行处理算法的详细信息。

27.1.8.6. 将层加载到项目中

将层加载到当前项目。

参数

标签

名字

类型

描述

Layer

INPUT

[layer]

要加载到图例中的图层

Loaded layer name

NAME

[string]

加载的图层的名称

产出

标签

名字

类型

描述

Layer

OUTPUT

[same as input]

(已重命名)加载的层

Python代码

Algorithm IDnative:loadlayer

import processing
processing.run("algorithm_id", {parameter_dictionary})

这个 algorithm id 当您将鼠标悬停在处理工具箱中的算法上时,将显示。这个 parameter dictionary 提供参数名称和值。看见 从控制台使用处理算法 有关如何从Python控制台运行处理算法的详细信息。

27.1.8.7. 引发异常

引发异常并取消模型的执行。可以定制异常消息,并且可以选择性地指定基于表达式的条件。如果使用了表达式条件,则仅当表达式结果为真时才会引发异常。如果结果为假,则表示不会引发异常,模型执行可以不间断地继续执行。

参数

标签

名字

类型

描述

Message

MESSAGE

[string]

要显示的消息

Condition

任选

CONDITION

[expression]

如果为True,则计算的表达式

产出

日志面板中显示一条消息。

Python代码

Algorithm IDnative:raiseexception

import processing
processing.run("algorithm_id", {parameter_dictionary})

这个 algorithm id 当您将鼠标悬停在处理工具箱中的算法上时,将显示。这个 parameter dictionary 提供参数名称和值。看见 从控制台使用处理算法 有关如何从Python控制台运行处理算法的详细信息。

27.1.8.8. 提出消息

在日志中引发一条信息性消息。可以定制该消息,并且可以选择性地指定基于表达式的条件。如果使用了表达式条件,则仅当表达式结果为真时才会记录消息。如果结果为假,则不会记录任何消息。

参数

标签

名字

类型

描述

Information message

MESSAGE

[string]

要显示的消息

Condition

任选

CONDITION

[expression]

如果为True,则计算的表达式

产出

日志面板中显示一条消息。

Python代码

Algorithm IDnative:raisemessage

import processing
processing.run("algorithm_id", {parameter_dictionary})

这个 algorithm id 当您将鼠标悬停在处理工具箱中的算法上时,将显示。这个 parameter dictionary 提供参数名称和值。看见 从控制台使用处理算法 有关如何从Python控制台运行处理算法的详细信息。

27.1.8.9. 发出警告

在日志中引发警告消息。可以自定义警告消息,并且可以选择性地指定基于表达式的条件。如果使用了表达式条件,则只有在表达式结果为真时才会记录警告。如果结果为假,则不会记录任何警告。

参数

标签

名字

类型

描述

Message

MESSAGE

[string]

要显示的消息

Condition

任选

CONDITION

[expression]

如果为True,则计算的表达式

产出

日志面板中显示一条消息。

Python代码

Algorithm IDnative:raisewarning

import processing
processing.run("algorithm_id", {parameter_dictionary})

这个 algorithm id 当您将鼠标悬停在处理工具箱中的算法上时,将显示。这个 parameter dictionary 提供参数名称和值。看见 从控制台使用处理算法 有关如何从Python控制台运行处理算法的详细信息。

27.1.8.10. 重命名层

重命名一个层。

参数

标签

名字

类型

描述

Layer

INPUT

[layer]

要重命名的层

New name

NAME

[string]

图层的新名称

产出

标签

名字

类型

描述

Layer

OUTPUT

[same as input]

(已重命名)输出层

Python代码

Algorithm IDnative:renamelayer

import processing
processing.run("algorithm_id", {parameter_dictionary})

这个 algorithm id 当您将鼠标悬停在处理工具箱中的算法上时,将显示。这个 parameter dictionary 提供参数名称和值。看见 从控制台使用处理算法 有关如何从Python控制台运行处理算法的详细信息。

27.1.8.11. 将日志保存到文件

将模型的执行日志保存到文件。或者,可以将日志保存为HTML格式的版本。

参数

标签

名字

类型

描述

Use HTML

USE_HTML

[Boolean]

默认:FALSE

使用HTML格式

产出

标签

名字

类型

描述

File

OUTPUT

[string]

日志的目标

Python代码

Algorithm IDnative:savelog

import processing
processing.run("algorithm_id", {parameter_dictionary})

这个 algorithm id 当您将鼠标悬停在处理工具箱中的算法上时,将显示。这个 parameter dictionary 提供参数名称和值。看见 从控制台使用处理算法 有关如何从Python控制台运行处理算法的详细信息。

27.1.8.12. 设置项目变量

设置当前项目的表达式变量。

参数

标签

名字

类型

描述

Variable name

NAME

[string]

变量的名称

Variable value

VALUE

[string]

要存储的值

产出

没有。

Python代码

Algorithm IDnative:setprojectvariable

import processing
processing.run("algorithm_id", {parameter_dictionary})

这个 algorithm id 当您将鼠标悬停在处理工具箱中的算法上时,将显示。这个 parameter dictionary 提供参数名称和值。看见 从控制台使用处理算法 有关如何从Python控制台运行处理算法的详细信息。

27.1.8.13. 字符串连接

在Process Modeler中将两个字符串连接成一个字符串。

参数

标签

名字

类型

描述

Input 1

INPUT_1

[string]

第一个字符串

Input 2

INPUT_2

[string]

第二个字符串

产出

标签

名字

类型

描述

Concatenation

CONCATENATION

[string]

连接的字符串

Python代码

Algorithm IDnative:stringconcatenation

import processing
processing.run("algorithm_id", {parameter_dictionary})

这个 algorithm id 当您将鼠标悬停在处理工具箱中的算法上时,将显示。这个 parameter dictionary 提供参数名称和值。看见 从控制台使用处理算法 有关如何从Python控制台运行处理算法的详细信息。

27.1.8.14. 可变距离缓冲器

警告

此算法已弃用,可以随时删除。更喜欢使用 缓冲层 算法取而代之。

计算输入图层中所有要素的缓冲区。

给定要素的缓冲区大小由属性定义,因此它允许不同要素具有不同的缓冲区大小。

参见

缓冲层

参数

标签

名字

类型

描述

Input layer

INPUT

[vector: any]

输入向量层

Distance field

DISTANCE

[tablefield: numeric]

缓冲区距离半径的属性

Segments

SEGMENTS

[number]

默认: 5

控制创建四舍五入偏移时用于近似四分之一圆的线段数。

Dissolve result

DISSOLVE

[boolean]

默认: False

选择融合最终缓冲区,生成覆盖所有输入要素的单个要素。

../../../../_images/buffer_dissolve1.png

图 27.8 正常和溶解缓冲液

End cap style

END_CAP_STYLE

[enumeration]

默认:圆形

控制如何在缓冲区中处理行结束。

../../../../_images/buffer_cap_style.png

图 27.9 圆帽、扁帽和方帽样式

Join style

JOIN_STYLE

[enumeration]

默认:圆形

指定在偏移线中的拐角时应使用圆形连接、斜接连接还是斜接连接。

Miter limit

MITER_LIMIT

[number]

默认:2.0

仅适用于斜接样式,并控制创建斜接时要使用的与偏移曲线的最大距离。

产出

标签

名字

类型

描述

Buffer

OUTPUT

[vector: polygon]

缓冲多边形矢量层。

Python代码

Algorithm IDqgis:variabledistancebuffer

import processing
processing.run("algorithm_id", {parameter_dictionary})

这个 algorithm id 当您将鼠标悬停在处理工具箱中的算法上时,将显示。这个 parameter dictionary 提供参数名称和值。看见 从控制台使用处理算法 有关如何从Python控制台运行处理算法的详细信息。