27.1.19. 矢量叠加
27.1.19.1. 夹子
使用附加多边形层的功能剪裁矢量层。
只有输入图层中位于覆盖图层的多边形内的要素部分才会添加到生成的图层中。
警告
Geometry modification only
此操作仅修改要素几何图形。要素的属性值为 not modified ,尽管覆盖操作将修改要素的面积或长度等特性。如果将这些属性存储为属性,则必须手动更新这些属性。
该算法对提供者、准备好的几何图形使用空间索引,如果该几何图形不完全包含在遮罩几何图形中,则应用裁剪操作。

图 27.110 双要素输入图层‘a’和单要素叠加图层‘b’之间的裁剪操作(左图)-生成具有修改后的‘a’要素的新图层(右图)
允许 features in-place modification 点、线和面要素的
Default menu :
参数
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Input layer |
|
[vector: any] |
包含要裁剪的要素的图层 |
Overlay layer |
|
[vector: polygon] |
包含裁剪要素的图层 |
Clipped |
|
[same as input] 默认: |
指定要包含输入图层中位于覆盖(剪裁)图层内的要素的图层。以下选项之一:
还可以在此处更改文件编码。 |
产出
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Clipped |
|
[same as input] |
包含按覆盖图层分割的输入图层中的要素的图层。 |
Python代码
Algorithm ID : qgis:clip
import processing
processing.run("algorithm_id", {parameter_dictionary})
这个 algorithm id 当您将鼠标悬停在处理工具箱中的算法上时,将显示。这个 parameter dictionary 提供参数名称和值。看见 从控制台使用处理算法 有关如何从Python控制台运行处理算法的详细信息。
27.1.19.2. 差异化
从输入图层中提取不在覆盖图层边界内的要素。
部分与叠加层要素(S)重叠的输入图层要素将沿这些要素(S)的边界拆分,并且仅保留叠加层要素之外的部分。
警告
Geometry modification only
此操作仅修改要素几何图形。要素的属性值为 not modified ,尽管覆盖操作将修改要素的面积或长度等特性。如果将这些属性存储为属性,则必须手动更新这些属性。

图 27.111 两个要素输入图层‘a’和单个要素叠加图层‘b’之间的差异运算(左)-生成具有修改后的‘a’要素的新图层(右)
允许 features in-place modification 点、线和面要素的
Default menu :
参数
基本参数
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Input layer |
|
[vector: any] |
要从中提取特征(部分)的层。 |
Overlay layer |
|
[vector: any] |
包含将从输入层几何图形中减去的几何图形的层。它应该至少具有与输入层几何图形相同的尺寸(点:0D,线:1D,多边形:2D,体积:3D)。 |
Difference |
|
[same as input] 默认: |
指定要包含输入图层中不在覆盖图层内的要素(部分要素)的图层。以下选项之一:
还可以在此处更改文件编码。 |
高级参数
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Grid size 任选 |
|
[number] 默认:未设置 |
如果提供,输入几何图形将捕捉到给定大小的栅格,并在该栅格上计算结果顶点。需要GEOS 3.9.0或更高版本。 |
产出
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Difference |
|
[same as input] |
包含输入图层中不与叠加层重叠的要素(部分)的图层。 |
Python代码
Algorithm ID : qgis:difference
import processing
processing.run("algorithm_id", {parameter_dictionary})
这个 algorithm id 当您将鼠标悬停在处理工具箱中的算法上时,将显示。这个 parameter dictionary 提供参数名称和值。看见 从控制台使用处理算法 有关如何从Python控制台运行处理算法的详细信息。
27.1.19.3. 差异(多个)
从输入图层中提取完全位于或仅部分重叠任何覆盖图层中的要素的要素(S)。
对于每个覆盖层,计算所有先前差操作的结果与该覆盖层之间的差值。部分重叠覆盖层中的要素(S)的输入图层要素将沿这些要素的边界拆分,并且仅保留覆盖层要素之外的部分。
警告
Geometry modification only
此操作仅修改要素几何图形。要素的属性值为 not modified ,尽管覆盖操作将修改要素的面积或长度等特性。如果将这些属性存储为属性,则必须手动更新这些属性。

图 27.112 双要素输入图层‘a’与单要素叠加图层‘b’和‘c’之间的差异运算(左)-生成具有修改后的‘a’要素的新图层(右)
参数
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Input layer |
|
[vector: any] |
要从中提取特征(部分)的层。 |
Overlay layers |
|
[vector: any] [list] |
包含将从输入层几何图形中减去的几何图形的层的列表。它们应至少具有与输入层几何图形相同的尺寸(点:0D、线:1D、多边形:2D、体积:3D)。 |
Difference |
|
[same as input] 默认: |
指定要包含输入图层中不与覆盖图层的要素重叠的要素的(部分)要素的图层。以下选项之一:
还可以在此处更改文件编码。 |
产出
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Difference |
|
[same as input] |
包含输入图层中的要素(部分)而不与覆盖图层中的要素重叠的图层。 |
Python代码
Algorithm ID : qgis:multidifference
import processing
processing.run("algorithm_id", {parameter_dictionary})
这个 algorithm id 当您将鼠标悬停在处理工具箱中的算法上时,将显示。这个 parameter dictionary 提供参数名称和值。看见 从控制台使用处理算法 有关如何从Python控制台运行处理算法的详细信息。
27.1.19.4. 按范围提取/剪裁
创建仅包含位于指定范围内的要素的新矢量层。
任何与范围相交的要素都将包括在内。

图 27.113 提取包含三个要素的输入图层‘a’和虚线范围之间的操作(左图)-生成的要素带有参考虚线范围(右图)
参见
参数
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Input layer |
|
[vector: any] |
要从中提取特征(部分)的层。 |
Extent (xmin, xmax, ymin, ymax) |
|
[extent] |
剪裁范围。 可用的方法包括:
|
Clip features to extent |
|
[boolean] 默认:FALSE |
如果选中,输出几何图形将自动转换为多个几何图形,以确保统一的输出类型。此外,几何图形将被剪裁到所选的范围,而不是将整个几何图形作为输出。 ![]() 图 27.114 提取包含三个要素的输入图层‘a’和虚线范围之间的操作(左图)-生成的要素带有参考虚线范围(右图) |
Extracted |
|
[same as input] 默认: |
指定要包含输入图层中位于剪裁范围内的要素的图层。以下选项之一:
还可以在此处更改文件编码。 |
产出
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Extracted |
|
[same as input] |
包含剪裁要素的层。 |
Python代码
Algorithm ID : qgis:extractbyextent
import processing
processing.run("algorithm_id", {parameter_dictionary})
这个 algorithm id 当您将鼠标悬停在处理工具箱中的算法上时,将显示。这个 parameter dictionary 提供参数名称和值。看见 从控制台使用处理算法 有关如何从Python控制台运行处理算法的详细信息。
27.1.19.5. 交集
从输入图层中提取与覆盖图层中的要素重叠的要素部分。
交叉点图层中的要素被指定为来自输入和覆盖图层的重叠要素的属性。
警告
Geometry modification only
此操作仅修改要素几何图形。要素的属性值为 not modified ,尽管覆盖操作将修改要素的面积或长度等特性。如果将这些属性存储为属性,则必须手动更新这些属性。

图 27.115 两个要素输入图层‘a’和单个要素叠加图层‘b’之间的相交运算(左)-重叠区域成为具有两个图层属性的新的两要素图层(右)
Default menu :
参数
基本参数
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Input layer |
|
[vector: any] |
要从中提取特征(部分)的层。 |
Overlay layer |
|
[vector: any] |
包含要检查重叠的要素的图层。其要素的几何图形应至少具有与输入层相同的维度(点:0D,线:1D,面:2D,体积:3D)。 |
Input fields to keep (leave empty to keep all fields) 任选 |
|
[tablefield: any] [list] 默认:无 |
要保留在输出中的输入层的字段(S)。如果未选择任何字段,则采用所有字段。 |
Overlay fields to keep (leave empty to keep all fields) 任选 |
|
[tablefield: any] [list] 默认:无 |
要保留在输出中的叠加层的字段(S)。如果未选择任何字段,则采用所有字段。重复的字段名将附加COUNT后缀以避免冲突。 |
Intersection |
|
[same as input] 默认: |
指定要包含与覆盖图层中的一个或多个要素重叠的输入图层中的要素(部分)的图层。以下选项之一:
还可以在此处更改文件编码。 |
高级参数
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Overlay fields prefix 任选 |
|
[string] |
添加前缀以标识覆盖层的字段。重复的字段名将附加COUNT后缀以避免冲突。 |
Grid size 任选 |
|
[number] 默认:未设置 |
如果提供,输入几何图形将捕捉到给定大小的栅格,并在该栅格上计算结果顶点。需要GEOS 3.9.0或更高版本。 |
产出
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Intersection |
|
[same as input] |
包含与覆盖图层重叠的输入图层中的要素(部分)的图层。 |
Python代码
Algorithm ID : qgis:intersection
import processing
processing.run("algorithm_id", {parameter_dictionary})
这个 algorithm id 当您将鼠标悬停在处理工具箱中的算法上时,将显示。这个 parameter dictionary 提供参数名称和值。看见 从控制台使用处理算法 有关如何从Python控制台运行处理算法的详细信息。
27.1.19.6. 交叉点(多个)
提取输入和所有覆盖图层中要素的重叠部分。
输出图层中的要素被指定为来自输入和覆盖图层的重叠要素的属性。
警告
Geometry modification only
此操作仅修改要素几何图形。要素的属性值为 not modified ,尽管覆盖操作将修改要素的面积或长度等特性。如果将这些属性存储为属性,则必须手动更新这些属性。

图 27.116 两个要素输入图层‘a’与单个要素叠加图层‘b’和‘c’之间的相交运算(左)-重叠区域成为具有所有图层属性的新的两要素图层(右)
参数
基本参数
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Input layer |
|
[vector: any] |
要从中提取特征(部分)的层。 |
Overlay layers |
|
[vector: any] [list] |
包含要检查重叠的要素的图层。要素的几何图形的尺寸(点:0D、线:1D、面:2D、体积:3D)应至少与输入层的尺寸相同。 |
高级参数
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Overlay fields prefix 任选 |
|
[string] |
添加前缀以标识覆盖层的字段。重复的字段名将附加COUNT后缀以避免冲突。 |
产出
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Intersection |
|
[same as input] |
包含与所有叠加层重叠的输入图层中的要素(部分)的图层。 |
Python代码
Algorithm ID : qgis:multiintersection
import processing
processing.run("algorithm_id", {parameter_dictionary})
这个 algorithm id 当您将鼠标悬停在处理工具箱中的算法上时,将显示。这个 parameter dictionary 提供参数名称和值。看见 从控制台使用处理算法 有关如何从Python控制台运行处理算法的详细信息。
27.1.19.7. 线路交叉点
在两个图层的直线相交处创建点要素。

图 27.117 交点
Default menu :
参数
基本参数
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Input layer |
|
[vector: line] |
输入线层。 |
Intersect layer |
|
[vector: line] |
用于查找直线交点的层。 |
Input fields to keep (leave empty to keep all fields) 任选 |
|
[tablefield: any] [list] 默认:无 |
要保留在输出中的输入层的字段(S)。如果未选择任何字段,则采用所有字段。 |
Intersect fields to keep (leave empty to keep all fields) 任选 |
|
[tablefield: any] [list] 默认:无 |
要保留在输出中的相交层的字段(S)。如果未选择任何字段,则采用所有字段。重复的字段名将附加COUNT后缀以避免冲突。 |
Intersection |
|
[vector: point] 默认: |
指定包含来自输入和覆盖层的线的交点的层。以下选项之一:
还可以在此处更改文件编码。 |
高级参数
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Intersect fields prefix 任选 |
|
[string] |
添加前缀以标识相交图层的字段。 |
产出
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Intersections |
|
[vector: point] |
线条的点向量层相交,具有两个层的属性。 |
Python代码
Algorithm ID : qgis:lineintersections
import processing
processing.run("algorithm_id", {parameter_dictionary})
这个 algorithm id 当您将鼠标悬停在处理工具箱中的算法上时,将显示。这个 parameter dictionary 提供参数名称和值。看见 从控制台使用处理算法 有关如何从Python控制台运行处理算法的详细信息。
27.1.19.8. 用线条拆分
使用另一个层中的线或多边形环来定义断点,拆分另一个层中的线或多边形。两个层中的几何图形之间的交点被视为拆分点。
输出将包含分割要素的多个几何图形。

图 27.118 分割线
允许 features in-place modification 线和面要素的
参数
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Input layer |
|
[vector: line, polygon] |
包含要拆分的线或多边形的层。 |
Split layer |
|
[vector: line, polygon] |
其线或环用于定义断点的层。 |
Split |
|
[same as input] 默认: |
指定要包含从输入图层拆分的线/面要素的图层(如果它们与拆分图层中的一条直线相交)。以下选项之一:
还可以在此处更改文件编码。 |
产出
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Split |
|
[same as input] |
从输入层拆分线条或多边形的输出向量层。 |
Python代码
Algorithm ID : qgis:splitwithlines
import processing
processing.run("algorithm_id", {parameter_dictionary})
这个 algorithm id 当您将鼠标悬停在处理工具箱中的算法上时,将显示。这个 parameter dictionary 提供参数名称和值。看见 从控制台使用处理算法 有关如何从Python控制台运行处理算法的详细信息。
27.1.19.9. 对称差分
创建包含输入层和覆盖层中的要素的层,但删除两个层之间的重叠区域。
对称差层的属性表包含输入层和叠加层的属性和字段。
警告
Geometry modification only
此操作仅修改要素几何图形。要素的属性值为 not modified ,尽管覆盖操作将修改要素的面积或长度等特性。如果将这些属性存储为属性,则必须手动更新这些属性。

图 27.119 双要素输入图层‘a’和单要素叠加图层‘b’之间的对称差运算(左)-生成具有两个图层属性的三要素图层(右)
Default menu :
参数
基本参数
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Input layer |
|
[vector: any] |
要从中提取特征(部分)的第一层。 |
Overlay layer |
|
[vector: any] |
要从中提取(部分)特征的第二层。理想情况下,几何体类型应与输入层相同。 |
Symmetrical difference |
|
[same as input] 默认: |
指定要包含输入和覆盖图层中的要素(其部分)的图层,这些图层不会与其他图层中的要素重叠。以下选项之一:
还可以在此处更改文件编码。 |
高级参数
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Overlay fields prefix 任选 |
|
[string] |
添加前缀以标识覆盖层的字段。重复的字段名将附加COUNT后缀以避免冲突。 |
Grid size 任选 |
|
[number] 默认:未设置 |
如果提供,输入几何图形将捕捉到给定大小的栅格,并在该栅格上计算结果顶点。需要GEOS 3.9.0或更高版本。 |
产出
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Symmetrical difference |
|
[same as input] |
包含每个层的要素(部分)且不与另一个层重叠的层,具有两个层的属性。 |
Python代码
Algorithm ID : qgis:symmetricaldifference
import processing
processing.run("algorithm_id", {parameter_dictionary})
这个 algorithm id 当您将鼠标悬停在处理工具箱中的算法上时,将显示。这个 parameter dictionary 提供参数名称和值。看见 从控制台使用处理算法 有关如何从Python控制台运行处理算法的详细信息。
27.1.19.10. 友联市
检查输入图层中的要素之间的重叠,并为重叠和非重叠零件创建单独的要素。重叠区域将创建与参与该重叠的要素一样多的相同重叠要素。

图 27.120 对具有两个重叠要素的单个输入图层进行联合操作(左)-生成四个要素(中)-为清晰而移动要素(右)
也可以使用覆盖层,在这种情况下,每个层的要素将在其与另一个层的要素的重叠处拆分,从而创建一个包含输入和覆盖层的所有部分的层。同一图层上的要素不会彼此拆分。对于非重叠要素,联合层的属性表填充来自相应原始层的属性值,对于重叠要素,填充来自两个层的属性值。

图 27.121 双要素输入图层‘a’和单要素叠加图层‘b’之间的并运算(左)-生成的具有两个图层的属性的五要素图层(右)
备注
使用覆盖图层时,同一图层上的要素不会彼此拆分。如果要分割同一层和其他层上的重叠,请首先对多个层运行该算法,然后仅使用先前的输出再次运行该算法。
Default menu :
参数
基本参数
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Input layer |
|
[vector: any] |
输入要在任何交点处分割的矢量层。 |
Overlay layer 任选 |
|
[vector: any] |
将合并到第一个层的层。理想情况下,几何体类型应与输入层相同。 |
Union |
|
[same as input] 默认: |
指定要包含(拆分和复制)输入图层和覆盖图层中的要素的图层。以下选项之一:
还可以在此处更改文件编码。 |
高级参数
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Overlay fields prefix 任选 |
|
[string] |
添加前缀以标识覆盖层的字段。重复的字段名将附加COUNT后缀以避免冲突。 |
Grid size 任选 |
|
[number] 默认:未设置 |
如果提供,输入几何图形将捕捉到给定大小的栅格,并在该栅格上计算结果顶点。需要GEOS 3.9.0或更高版本。 |
产出
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Union |
|
[same as input] |
包含已处理层中所有重叠和非重叠部分的层(S)。 |
Python代码
Algorithm ID : qgis:union
import processing
processing.run("algorithm_id", {parameter_dictionary})
这个 algorithm id 当您将鼠标悬停在处理工具箱中的算法上时,将显示。这个 parameter dictionary 提供参数名称和值。看见 从控制台使用处理算法 有关如何从Python控制台运行处理算法的详细信息。
27.1.19.11. 联合(多个)
检查输入图层中的要素之间的重叠,并为重叠和非重叠零件创建单独的要素。重叠区域将创建与参与该重叠的要素一样多的相同重叠要素。

图 27.122 对具有两个重叠要素的单个输入图层进行联合操作(左)-生成四个要素(中)-为清晰而移动要素(右)
也可以使用多个覆盖层,在这种情况下,每个层的要素将在其与所有其他层的要素的重叠处拆分,从而创建一个包含输入和覆盖层的所有部分的层。同一图层上的要素不会彼此拆分。对于非重叠要素,UNION图层的属性表填充了来自各个原始图层的属性值,对于重叠要素,则填充了来自覆盖图层的属性值。

图 27.123 双要素输入图层‘a’与单个要素叠加图层‘b’和‘c’之间的并运算(左图)-生成的具有所有图层属性的十一个要素图层(右图)
备注
使用覆盖图层时,同一图层上的要素不会彼此拆分。如果要分割同一层和其他层上的重叠,请首先对多个层运行该算法,然后仅使用先前的输出再次运行该算法。
参数
基本参数
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Input layer |
|
[vector: any] |
输入要在任何交点处分割的矢量层。 |
Overlay layers 任选 |
|
[vector: any] [list] |
将合并为第一个的层。理想情况下,几何体类型应与输入层相同。 |
Union |
|
[same as input] 默认: |
指定要包含(拆分和复制)输入图层和覆盖图层中的要素的图层。以下选项之一:
还可以在此处更改文件编码。 |
高级参数
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Overlay fields prefix 任选 |
|
[string] |
添加前缀以标识覆盖层的字段。重复的字段名将附加COUNT后缀以避免冲突。 |
产出
标签 |
名字 |
类型 |
描述 |
---|---|---|---|
Union |
|
[same as input] |
包含来自已处理层(S)的所有重叠和非重叠部分的层,具有所有层的属性。 |
Python代码
Algorithm ID : qgis:multiunion
import processing
processing.run("algorithm_id", {parameter_dictionary})
这个 algorithm id 当您将鼠标悬停在处理工具箱中的算法上时,将显示。这个 parameter dictionary 提供参数名称和值。看见 从控制台使用处理算法 有关如何从Python控制台运行处理算法的详细信息。