27.1.8. 建模器工具
警告
这些工具仅在模型设计器中可用。它们在处理工具箱中不可用。
27.1.8.1. 计算表达式
NEW in 3.34
它计算QGIS表达式的结果,并且当多次需要相同的结果时,不需要在整个模型中多次使用相同的表达式。此外,它还支持原本不可能实现的用例。例如,您可以只生成一次时间戳值,然后在模型中多次使用它,如果每次都重新计算时间戳,则这些值在模型运行时会有所不同。
参数
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Input |
|
[expression] |
要计算的表达式 |
产出
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Value |
|
[Result Value] |
计算结果值时,输出的数据类型将根据算法中使用的特定表达式而有所不同。 |
Python代码
Algorithm ID : native:calculateexpression
import processing
processing.run("algorithm_id", {parameter_dictionary})
这个 algorithm id 当您将鼠标悬停在处理工具箱中的算法上时,将显示。这个 parameter dictionary 提供参数名称和值。看见 从控制台使用处理算法 有关如何从Python控制台运行处理算法的详细信息。
27.1.8.2. 条件分支
将条件分支添加到模型中,从而允许根据表达式计算的结果执行模型的某些部分。主要是通过使用工具依赖关系来控制模型的流动。
参数
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Field |
|
[string] |
条件的名称 |
Field |
|
[expression] |
要计算的表达式 |
产出
没有。
Python代码
Algorithm ID : native:condition
import processing
processing.run("algorithm_id", {parameter_dictionary})
这个 algorithm id 当您将鼠标悬停在处理工具箱中的算法上时,将显示。这个 parameter dictionary 提供参数名称和值。看见 从控制台使用处理算法 有关如何从Python控制台运行处理算法的详细信息。
27.1.8.3. 创建目录
在文件系统上创建新目录。目录将以递归方式创建,创建所有必需的父目录以构建完整的指定目录路径。如果该目录已经存在,则不会引发任何错误。
参数
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Directory path |
|
[string] |
要创建的文件夹路径 |
产出
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Output |
|
[folder] |
已创建文件夹 |
Python代码
Algorithm ID : native:createdirectory
import processing
processing.run("algorithm_id", {parameter_dictionary})
这个 algorithm id 当您将鼠标悬停在处理工具箱中的算法上时,将显示。这个 parameter dictionary 提供参数名称和值。看见 从控制台使用处理算法 有关如何从Python控制台运行处理算法的详细信息。
27.1.8.4. 功能过滤器
过滤输入图层中的要素并将其重定向到一个或多个输出。如果您不知道所有可能的输入图层共有的任何属性名称,则只能对要素几何和常规记录机制进行过滤,例如 $id
和 uuid
。
参数
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Input layer |
|
[vector: any] |
输入层。 |
Outputs and filters (一个或多个) |
|
[same as input] |
带有滤镜的输出层(与滤镜一样多)。 |
产出
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Output (一个或多个) |
|
[same as input] |
带有过滤要素的输出层(与过滤器一样多)。 |
Python代码
Algorithm ID : native:filter
import processing
processing.run("algorithm_id", {parameter_dictionary})
这个 algorithm id 当您将鼠标悬停在处理工具箱中的算法上时,将显示。这个 parameter dictionary 提供参数名称和值。看见 从控制台使用处理算法 有关如何从Python控制台运行处理算法的详细信息。
27.1.8.5. 按类型过滤图层
按类型过滤图层。传入的层将根据它们是矢量层还是栅格层被定向到不同的输出。
参数
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Input layer |
|
[layer] |
通用地图层 |
产出
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Vector features 任选 |
|
[vector] |
输入的矢量层(如果兼容 |
Raster layer 任选 |
|
[raster] |
输入的栅格图层(如果兼容 |
Python代码
Algorithm ID : native:filterlayersbytype
import processing
processing.run("algorithm_id", {parameter_dictionary})
这个 algorithm id 当您将鼠标悬停在处理工具箱中的算法上时,将显示。这个 parameter dictionary 提供参数名称和值。看见 从控制台使用处理算法 有关如何从Python控制台运行处理算法的详细信息。
27.1.8.6. 将层加载到项目中
将层加载到当前项目。
参数
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Layer |
|
[layer] |
要加载到图例中的图层 |
Loaded layer name |
|
[string] |
加载的图层的名称 |
产出
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Layer |
|
[same as input] |
(已重命名)加载的层 |
Python代码
Algorithm ID : native:loadlayer
import processing
processing.run("algorithm_id", {parameter_dictionary})
这个 algorithm id 当您将鼠标悬停在处理工具箱中的算法上时,将显示。这个 parameter dictionary 提供参数名称和值。看见 从控制台使用处理算法 有关如何从Python控制台运行处理算法的详细信息。
27.1.8.7. 引发异常
引发异常并取消模型的执行。可以定制异常消息,并且可以选择性地指定基于表达式的条件。如果使用了表达式条件,则仅当表达式结果为真时才会引发异常。如果结果为假,则表示不会引发异常,模型执行可以不间断地继续执行。
参数
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Message |
|
[string] |
要显示的消息 |
Condition 任选 |
|
[expression] |
如果为True,则计算的表达式 |
产出
日志面板中显示一条消息。
Python代码
Algorithm ID : native:raiseexception
import processing
processing.run("algorithm_id", {parameter_dictionary})
这个 algorithm id 当您将鼠标悬停在处理工具箱中的算法上时,将显示。这个 parameter dictionary 提供参数名称和值。看见 从控制台使用处理算法 有关如何从Python控制台运行处理算法的详细信息。
27.1.8.8. 提出消息
在日志中引发一条信息性消息。可以定制该消息,并且可以选择性地指定基于表达式的条件。如果使用了表达式条件,则仅当表达式结果为真时才会记录消息。如果结果为假,则不会记录任何消息。
参数
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Information message |
|
[string] |
要显示的消息 |
Condition 任选 |
|
[expression] |
如果为True,则计算的表达式 |
产出
日志面板中显示一条消息。
Python代码
Algorithm ID : native:raisemessage
import processing
processing.run("algorithm_id", {parameter_dictionary})
这个 algorithm id 当您将鼠标悬停在处理工具箱中的算法上时,将显示。这个 parameter dictionary 提供参数名称和值。看见 从控制台使用处理算法 有关如何从Python控制台运行处理算法的详细信息。
27.1.8.9. 发出警告
在日志中引发警告消息。可以自定义警告消息,并且可以选择性地指定基于表达式的条件。如果使用了表达式条件,则只有在表达式结果为真时才会记录警告。如果结果为假,则不会记录任何警告。
参数
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Message |
|
[string] |
要显示的消息 |
Condition 任选 |
|
[expression] |
如果为True,则计算的表达式 |
产出
日志面板中显示一条消息。
Python代码
Algorithm ID : native:raisewarning
import processing
processing.run("algorithm_id", {parameter_dictionary})
这个 algorithm id 当您将鼠标悬停在处理工具箱中的算法上时,将显示。这个 parameter dictionary 提供参数名称和值。看见 从控制台使用处理算法 有关如何从Python控制台运行处理算法的详细信息。
27.1.8.10. 重命名层
重命名一个层。
参数
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Layer |
|
[layer] |
要重命名的层 |
New name |
|
[string] |
图层的新名称 |
产出
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Layer |
|
[same as input] |
(已重命名)输出层 |
Python代码
Algorithm ID : native:renamelayer
import processing
processing.run("algorithm_id", {parameter_dictionary})
这个 algorithm id 当您将鼠标悬停在处理工具箱中的算法上时,将显示。这个 parameter dictionary 提供参数名称和值。看见 从控制台使用处理算法 有关如何从Python控制台运行处理算法的详细信息。
27.1.8.11. 将日志保存到文件
将模型的执行日志保存到文件。或者,可以将日志保存为HTML格式的版本。
参数
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Use HTML |
|
[Boolean] 默认:FALSE |
使用HTML格式 |
产出
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
File |
|
[string] |
日志的目标 |
Python代码
Algorithm ID : native:savelog
import processing
processing.run("algorithm_id", {parameter_dictionary})
这个 algorithm id 当您将鼠标悬停在处理工具箱中的算法上时,将显示。这个 parameter dictionary 提供参数名称和值。看见 从控制台使用处理算法 有关如何从Python控制台运行处理算法的详细信息。
27.1.8.12. 设置项目变量
设置当前项目的表达式变量。
参数
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Variable name |
|
[string] |
变量的名称 |
Variable value |
|
[string] |
要存储的值 |
产出
没有。
Python代码
Algorithm ID : native:setprojectvariable
import processing
processing.run("algorithm_id", {parameter_dictionary})
这个 algorithm id 当您将鼠标悬停在处理工具箱中的算法上时,将显示。这个 parameter dictionary 提供参数名称和值。看见 从控制台使用处理算法 有关如何从Python控制台运行处理算法的详细信息。
27.1.8.13. 字符串连接
在Process Modeler中将两个字符串连接成一个字符串。
参数
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Input 1 |
|
[string] |
第一个字符串 |
Input 2 |
|
[string] |
第二个字符串 |
产出
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Concatenation |
|
[string] |
连接的字符串 |
Python代码
Algorithm ID : native:stringconcatenation
import processing
processing.run("algorithm_id", {parameter_dictionary})
这个 algorithm id 当您将鼠标悬停在处理工具箱中的算法上时,将显示。这个 parameter dictionary 提供参数名称和值。看见 从控制台使用处理算法 有关如何从Python控制台运行处理算法的详细信息。
27.1.8.14. 可变距离缓冲器
警告
此算法已弃用,可以随时删除。更喜欢使用 缓冲层 算法取而代之。
计算输入图层中所有要素的缓冲区。
给定要素的缓冲区大小由属性定义,因此它允许不同要素具有不同的缓冲区大小。
参见
参数
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Input layer |
|
[vector: any] |
输入向量层 |
Distance field |
|
[tablefield: numeric] |
缓冲区距离半径的属性 |
Segments |
|
[number] 默认: 5 |
控制创建四舍五入偏移时用于近似四分之一圆的线段数。 |
Dissolve result |
|
[boolean] 默认: False |
选择融合最终缓冲区,生成覆盖所有输入要素的单个要素。 |
End cap style |
|
[enumeration] 默认:圆形 |
控制如何在缓冲区中处理行结束。 |
Join style |
|
[enumeration] 默认:圆形 |
指定在偏移线中的拐角时应使用圆形连接、斜接连接还是斜接连接。 |
Miter limit |
|
[number] 默认:2.0 |
仅适用于斜接样式,并控制创建斜接时要使用的与偏移曲线的最大距离。 |
产出
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Buffer |
|
[vector: polygon] |
缓冲多边形矢量层。 |
Python代码
Algorithm ID : qgis:variabledistancebuffer
import processing
processing.run("algorithm_id", {parameter_dictionary})
这个 algorithm id 当您将鼠标悬停在处理工具箱中的算法上时,将显示。这个 parameter dictionary 提供参数名称和值。看见 从控制台使用处理算法 有关如何从Python控制台运行处理算法的详细信息。