27.1.21. 向量表

27.1.21.1. 添加自动增量字段

向矢量图层添加一个新的整型字段,每个要素都有一个顺序值。

此字段可用作图层中要素的唯一ID。新属性不会添加到输入层,而是会生成一个新层。

可以指定增量序列的初始起始值。或者,增量序列可以基于分组字段,也可以指定要素的排序顺序。

参数

标签

名字

类型

描述

Input layer

INPUT

[vector: any]

输入向量层。

Field name

FIELD_NAME

[string]

默认值:‘AUTO’

具有自动增量值的字段的名称

Start values at

任选

START

[number]

默认:0

选择增量计数的初始数量

Modulus value

任选

MODULUS

[number]

默认:0

指定一个可选的模数值将在该字段值达到模数值时重新开始计数。 0 表示不会重新启动。

Group values by

任选

GROUP_FIELDS

[tablefield: any] [list]

选择分组字段(S):对这些字段组合返回的每个值进行单独计数,而不是对整个层执行一次计数。

Sort expression

任选

SORT_EXPRESSION

[expression]

使用表达式对图层中的要素进行全局排序或基于编组字段(如果设置)进行排序。

Sort ascending

SORT_ASCENDING

[boolean]

默认值:True

当一个 sort expression ,则使用此选项来控制为要素赋值的顺序。

Sort nulls first

SORT_NULLS_FIRST

[boolean]

默认:FALSE

当一个 sort expression 设置,则使用此选项设置是否 Null 值在第一个或最后一个计数。

Incremented

OUTPUT

[same as input]

默认: [Create temporary layer]

使用自动增量字段指定输出向量层。以下选项之一:

  • 创建临时层 (TEMPORARY_OUTPUT )

  • 保存到文件…

  • 保存到Geopackage…

  • 保存到数据库表…

  • 追加到层…

还可以在此处更改文件编码。

产出

标签

名字

类型

描述

Incremented

OUTPUT

[same as input]

具有自动增量场的矢量层

Python代码

Algorithm IDnative:addautoincrementalfield

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

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

27.1.21.2. 向属性表添加字段

将新场添加到矢量层。

属性的名称和特征被定义为参数。

新属性不会添加到输入层,而是会生成一个新层。

参数

标签

名字

类型

描述

Input layer

INPUT

[vector: any]

输入层

Field name

FIELD_NAME

[string]

新字段的名称

Field type

FIELD_TYPE

[enumeration]

默认:0

新字段的类型。您可以在以下选项之间进行选择:

  • 0-整数

  • 1-浮动

  • 2-字符串

Field length

FIELD_LENGTH

[number]

默认:10

该字段的长度

Field precision

FIELD_PRECISION

[number]

默认:0

字段的精度。适用于浮点型字段类型。

Field alias

NEW in 3.32

任选

FIELD_ALIAS

[string]

设置用作字段别名的名称。并非所有格式类型都支持。

Field comment

NEW in 3.32

任选

FIELD_COMMENT

[string]

存储描述该字段的注释。并非所有格式类型都支持。

Added

OUTPUT

[same as input]

默认: [Create temporary layer]

指定输出向量层。以下选项之一:

  • 创建临时层 (TEMPORARY_OUTPUT )

  • 保存到文件…

  • 保存到Geopackage…

  • 保存到数据库表…

  • 追加到层…

还可以在此处更改文件编码。

产出

标签

名字

类型

描述

Added

OUTPUT

[same as input]

添加了新字段的矢量层

Python代码

Algorithm IDnative:addfieldtoattributestable

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

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

27.1.21.3. 添加唯一值索引字段

获取一个矢量层和一个属性,并添加一个新的数值字段。

此字段中的值对应于指定属性中的值,因此该属性值相同的要素将在新的数值字段中具有相同的值。

这将创建定义相同类的指定属性的数字等效项。

新属性不会添加到输入层,而是会生成一个新层。

参数

标签

名字

类型

描述

Input layer

INPUT

[vector: any]

输入层。

Class field

FIELD

[tablefield: any]

此字段具有相同值的要素将获得相同的索引。

Output field name

FIELD_NAME

[string]

默认值:‘num_field’

包含索引的新字段的名称。

Layer with index field

OUTPUT

[vector: any]

默认: [Create temporary layer]

具有包含索引的数值字段的矢量层。以下选项之一:

  • 跳过输出

  • 创建临时层 (TEMPORARY_OUTPUT )

  • 保存到文件…

  • 保存到Geopackage…

  • 保存到数据库表…

还可以在此处更改文件编码。

Class summary

SUMMARY_OUTPUT

[table]

默认: [Skip output]

指定该表以包含映射到相应唯一值的类字段的摘要。以下选项之一:

  • 跳过输出

  • 创建临时层 (TEMPORARY_OUTPUT )

  • 保存到文件…

  • 保存到Geopackage…

  • 保存到数据库表…

还可以在此处更改文件编码。

产出

标签

名字

类型

描述

Layer with index field

OUTPUT

[same as input]

具有包含索引的数值字段的矢量层。

Class summary

SUMMARY_OUTPUT

[table]

具有映射到相应唯一值的类字段摘要的表。

Python代码

Algorithm IDnative:adduniquevalueindexfield

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

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

27.1.21.4. 将X/Y字段添加到层

将X和Y(或纬度/经度)字段添加到点图层。可以在与层不同的CRS中计算X/Y场(例如,为投影CRS中的层创建纬度/经度场)。

复选框 允许 features in-place modification 点要素的数量

参数

标签

名字

类型

描述

Input layer

INPUT

[vector: point]

输入层。

Coordinate system

CRS

[crs]

默认:“EPSG:4326”

用于生成的x和y字段的坐标参考系。

Field prefix

任选

PREFIX

[string]

添加到新字段名以避免名称与输入层中的字段冲突的前缀。

Added fields

OUTPUT

[vector: point]

默认: [Create temporary layer]

指定输出层。以下选项之一:

  • 创建临时层 (TEMPORARY_OUTPUT )

  • 保存到文件…

  • 保存到Geopackage…

  • 保存到数据库表…

  • 追加到层…

还可以在此处更改文件编码。

产出

标签

名字

类型

描述

Added fields

OUTPUT

[vector: point]

输出层-与输入层相同,但具有两个新的双字段, xy

Python代码

Algorithm IDnative:addxyfieldstolayer

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

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

27.1.21.5. 高级Python域计算器

将新属性添加到矢量层,其值是通过将表达式应用于每个要素而产生的。

该表达式被定义为一个Python函数。

参数

标签

名字

类型

描述

Input layer

INPUT

[vector: any]

输入向量层

Result field name

FIELD_NAME

[string]

默认:‘Newfield’

新字段的名称

Field type

FIELD_TYPE

[enumeration]

默认:0

新字段的类型。以下选项之一:

  • 0-整数

  • 1-浮动

  • 2-字符串

Field length

FIELD_LENGTH

[number]

默认:10

该字段的长度

Field precision

FIELD_PRECISION

[number]

默认:3

字段的精度。适用于浮点型字段类型。

Global expression

任选

GLOBAL

[string]

在计算器开始迭代输入层的所有要素之前,全局表达式部分中的代码将只执行一次。因此,这是导入必要的模块或计算将在后续计算中使用的变量的正确位置。

Formula

FORMULA

[string]

要计算的Python公式。示例:要计算输入多边形层的面积,可以添加:

value = $geom.area()

Calculated

OUTPUT

[same as input]

默认: [Create temporary layer]

使用新的计算字段指定矢量图层。以下选项之一:

  • 创建临时层 (TEMPORARY_OUTPUT )

  • 保存到文件…

  • 保存到Geopackage…

  • 保存到数据库表…

还可以在此处更改文件编码。

产出

标签

名字

类型

描述

Calculated

OUTPUT

[same as input]

具有新计算字段的矢量图层

Python代码

Algorithm IDqgis:advancedpythonfieldcalculator

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

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

27.1.21.6. 空投场(S)

获取一个矢量层并生成一个新的层,该层具有相同的功能,但没有选定的列。

参见

保留字段

参数

标签

名字

类型

描述

Input layer

INPUT

[vector: any]

要从中删除字段(S)的输入矢量图层

Fields to drop

COLUMN

[tablefield: any] [list]

场上(S)要降下来

Remaining fields

OUTPUT

[same as input]

默认: [Create temporary layer]

使用其余字段指定输出向量层。以下选项之一:

  • 创建临时层 (TEMPORARY_OUTPUT )

  • 保存到文件…

  • 保存到Geopackage…

  • 保存到数据库表…

  • 追加到层…

还可以在此处更改文件编码。

产出

标签

名字

类型

描述

Remaining fields

OUTPUT

[same as input]

包含剩余字段的矢量图层

Python代码

Algorithm IDnative:deletecolumn

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

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

27.1.21.7. 分解HStore字段

创建输入层的副本,并为HStore字段中的每个唯一键添加一个新字段。

预期字段列表是可选的逗号分隔列表。如果指定此列表,则仅添加这些字段,并更新HStore字段。默认情况下,将添加所有唯一密钥。

The PostgreSQL HStore 是在PostgreSQL和GDAL中使用的简单键值存储(在读取 OSM fileother_tags 菲尔德。

参数

标签

名字

类型

描述

Input layer

INPUT

[vector: any]

输入向量层

HStore field

FIELD

[tablefield: any]

场上(S)要降下来

Expected list of fields separated by a comma

任选

EXPECTED_FIELDS

[string]

默认:‘’

要提取的字段的逗号分隔列表。将通过删除这些密钥来更新HStore字段。

Exploded

OUTPUT

[same as input]

默认: [Create temporary layer]

指定输出向量层。以下选项之一:

  • 创建临时层 (TEMPORARY_OUTPUT )

  • 保存到文件…

  • 保存到Geopackage…

  • 保存到数据库表…

还可以在此处更改文件编码。

产出

标签

名字

类型

描述

Exploded

OUTPUT

[same as input]

输出向量层

Python代码

Algorithm IDnative:explodehstorefield

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

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

27.1.21.8. 提取二进制域

从二进制字段中提取内容,并将其保存到各个文件中。可以使用从源表中的属性获取的值或基于更复杂的表达式来生成文件名。

参数

标签

名字

类型

描述

Input layer

INPUT

[vector: any]

包含二进制数据的输入矢量图层

Binary field

FIELD

[tablefield: any]

包含二进制数据的字段

File name

FILENAME

[expression]

用于命名每个输出文件的基于字段或表达式的文本

Destination folder

FOLDER

[folder]

默认: [Save to temporary folder]

用于存储输出文件的文件夹。以下选项之一:

  • 保存到临时目录

  • 保存到目录

产出

标签

名字

类型

描述

Folder

FOLDER

[folder]

包含输出文件的文件夹。

Python代码

Algorithm IDnative:extractbinary

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

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

27.1.21.9. 现场计算器

打开字段计算器(请参见 表达式 )。您可以使用所有支持的表达式和函数。

将使用表达式的结果创建一个新层。

字段计算器在以下方面使用时非常有用 模型设计师

参数

标签

名字

类型

描述

Input layer

INPUT

[vector: any]

要计算的层

Output field name

FIELD_NAME

[string]

结果的字段的名称

Output field type

FIELD_TYPE

[enumeration]

默认:0

该字段的类型。以下选项之一:

  • 0-浮点

  • 1-整数

  • 2-字符串

  • 3-日期

Output field width

FIELD_LENGTH

[number]

默认:10

结果字段的长度(最小为0)

Field precision

FIELD_PRECISION

[number]

默认:3

结果字段的精度(最小0,最大15)

Create new field

NEW_FIELD

[boolean]

默认值:True

结果字段是否应为新字段

Formula

FORMULA

[expression]

用于计算结果的公式

Output file

OUTPUT

[vector: any]

默认: [Create temporary layer]

输出层的规范。

  • 创建临时层 (TEMPORARY_OUTPUT )

  • 保存到文件…

  • 保存到Geopackage…

  • 保存到数据库表…

  • 追加到层…

还可以在此处更改文件编码。

产出

标签

名字

类型

描述

Calculated

OUTPUT

[vector: any]

包含计算出的字段值的输出图层

Python代码

Algorithm IDnative:fieldcalculator

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

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

27.1.21.10. 重构字段

允许编辑矢量层的属性表的结构。

可以使用字段映射修改字段的类型和名称。

不会修改原始层。根据提供的字段映射,生成包含修改后的属性表的新层。

备注

将模板层与一起使用时 constraints 在字段中,信息以彩色背景和工具提示显示在小部件中。在配置期间将此信息视为提示。不会在输出层上添加任何约束,算法也不会检查或强制执行这些约束。

重构字段算法允许:

  • 更改字段名称和类型

  • 添加和删除字段

  • 重新排序字段

  • 根据表达式计算新字段

  • 从另一图层加载字段列表

../../../../_images/refactor_fields.png

图 27.126 重构字段对话框

参数

标签

名字

类型

描述

Input layer

INPUT

[vector: any]

要修改的层

Fields mapping

FIELDS_MAPPING

[list]

输出字段及其定义的列表。嵌入表列出了源图层的所有字段,并允许您编辑它们:

  • 单击 新属性 以创建一个新字段。

  • 单击 删除属性 要删除字段,请执行以下操作。

  • 使用 向上箭头向下箭头 若要更改选定的字段顺序,请执行以下操作。

  • 单击 明文 若要重置为默认视图,请执行以下操作。

  • 单击 反转选择 若要反转字段列表中的选定内容,请执行以下操作。

对于要重复使用的每个字段,您需要填写以下选项:

Source expression (expression) [expression]

输入层中的字段或表达式。

Field name (name) [string]

输出层中的字段的名称。默认情况下,将保留输入字段名称。

Type (type) [enumeration]

输出字段的数据类型。可用的类型取决于输出层提供程序。

Length (length) [number]

输出字段的长度。

Precision (precision) [number]

输出字段的精度。

Constraints (constraints) [string]

使用模板层时,指示是否对模板字段应用了约束。将鼠标悬停在单元格上可显示约束。

Field alias (field_alias) [string] NEW in 3.32

设置用作字段别名的名称。并非所有格式类型都支持。将显示现有别名并将其复制到目标层(如果支持)。

Field comment (field_comment) [string] NEW in 3.32

存储描述该字段的注释。并非所有格式类型都支持。将显示现有注释,并将其复制到目标层(如果支持)。

Load fields from template layer

允许从当前项目中选择一个图层作为模板和(使用 Load fields )用它的字段及其定义填充上面的“字段映射”选项。

Refactored

OUTPUT

[vector: any]

默认: [Create temporary layer]

输出层的规范。以下选项之一:

  • 创建临时层 (TEMPORARY_OUTPUT )

  • 保存到文件…

  • 保存到Geopackage…

  • 保存到数据库表…

  • 追加到层…

还可以在此处更改文件编码。

产出

标签

名字

类型

描述

Refactored

OUTPUT

[vector: any]

包含重构字段的输出图层

Python代码

Algorithm IDnative:refactorfields

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

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

27.1.21.11. 重命名字段

重命名矢量层中的现有场。

不会修改原始层。将在属性表中包含重命名的字段的位置生成新的层。

参见

重构字段

参数

标签

名字

类型

描述

Input layer

INPUT

[vector: any]

输入向量层

Field to rename

FIELD

[tablefield: any]

要更改的字段

New field name

NEW_NAME

[string]

新的字段名称

Renamed

OUTPUT

[vector: same as input]

默认: [Create temporary layer]

输出层的规范。以下选项之一:

  • 创建临时层 (TEMPORARY_OUTPUT )

  • 保存到文件…

  • 保存到Geopackage…

  • 保存到数据库表…

  • 追加到层…

还可以在此处更改文件编码。

产出

标签

名字

类型

描述

Renamed

OUTPUT

[vector: same as input]

具有重命名的字段的输出图层

Python代码

Algorithm IDqgis:renametablefield

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

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

27.1.21.12. 保留字段

获取一个矢量层并生成一个仅保留选定字段的新层。所有其他字段都将被删除。

参见

空投场(S)

参数

标签

名字

类型

描述

Input layer

INPUT

[vector: any]

输入向量层

Fields to retain

FIELDS

[tablefield: any] [list]

要保留在图层中的字段列表

Retained fields

OUTPUT

[vector: same as input]

默认: [Create temporary layer]

输出层的规范。以下选项之一:

  • 创建临时层 (TEMPORARY_OUTPUT )

  • 保存到文件…

  • 保存到Geopackage…

  • 保存到数据库表…

  • 追加到层…

还可以在此处更改文件编码。

产出

标签

名字

类型

描述

Retained fields

OUTPUT

[vector: same as input]

包含保留字段的输出图层

Python代码

Algorithm IDnative:retainfields

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

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

27.1.21.13. 要浮动的文本

修改向量层中给定属性的类型,将包含数字字符串的文本属性转换为数字属性(例如 1.0 )。

该算法创建了一个新的矢量层,因此源矢量层不会被修改。

如果无法进行转换,则选定的列将具有 NULL 价值观。

参数

标签

名字

类型

描述

Input layer

INPUT

[vector: any]

输入向量层。

Text attribute to convert to float

FIELD

[tablefield: string]

要转换为浮点型字段的输入层的字符串字段。

Float from text

OUTPUT

[same as input]

默认: [Create Temporary Layer]

指定输出层。以下选项之一:

  • 创建临时层 (TEMPORARY_OUTPUT )

  • 保存到文件…

  • 保存到Geopackage…

  • 保存到数据库表…

  • 追加到层…

还可以在此处更改文件编码。

产出

标签

名字

类型

描述

Float from text

OUTPUT

[same as input]

将字符串域转换为浮点域的输出向量图层

Python代码

Algorithm IDqgis:texttofloat

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

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