27.1.19. Vector overlay

27.1.19.1. Clip

Clips a vector layer using the features of an additional polygon layer.

Only the parts of the features in the input layer that fall within the polygons of the overlay layer will be added to the resulting layer.

警告

Geometry modification only

This operation modifies only the features geometry. The attribute values of the features are not modified, although properties such as area or length of the features will be modified by the overlay operation. If such properties are stored as attributes, those attributes will have to be manually updated.

This algorithm uses spatial indexes on the providers, prepared geometries and apply a clipping operation if the geometry isn't wholly contained by the mask geometry.

../../../../_images/clip3.png

图 27.109 Clipping operation between a two-feature input layer 'a' and a single feature overlay layer 'b' (left) - resulting in a new layer with the modified 'a' features (right)

checkbox Allows features in-place modification of point, line, and polygon features

Default menu: Vector ► Geoprocessing Tools

参数

标注

名称

类型

描述

输入图层

INPUT

[vector: any]

Layer containing the features to be clipped

Overlay layer

OVERLAY

[vector: polygon]

Layer containing the clipping features

Clipped

OUTPUT

[same as input]

Default: [Create temporary layer]

Specify the layer to contain the features from the input layer that are inside the overlay (clipping) layer. One of:

  • Create Temporary Layer (TEMPORARY_OUTPUT)

  • 保存到文件…

  • Save to Geopackage…

  • Save to Database Table…

文件编码也可以在此更改。

输出

标注

名称

类型

描述

Clipped

OUTPUT

[same as input]

Layer containing features from the input layer split by the overlay layer.

Python代码

Algorithm ID: qgis:clip

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

当你在数据处理工具箱某个算法前悬停时,算法 id 将会展现。*参数字*将会提供参数的名称与数值。参考详见`数据处理_控制台`以获取如何从Python控制台中运行数据处理算法。

27.1.19.2. Difference

Extracts features from the input layer that don't fall within the boundaries of the overlay layer.

Input layer features that partially overlap the overlay layer feature(s) are split along the boundary of those feature(s) and only the portions outside the overlay layer features are retained.

警告

Geometry modification only

This operation modifies only the features geometry. The attribute values of the features are not modified, although properties such as area or length of the features will be modified by the overlay operation. If such properties are stored as attributes, those attributes will have to be manually updated.

../../../../_images/difference.png

图 27.110 Difference operation between a two-features input layer 'a' and a single feature overlay layer 'b' (left) - resulting in a new layer with the modified 'a' features (right)

checkbox Allows features in-place modification of point, line, and polygon features

Default menu: Vector ► Geoprocessing Tools

参数

Basic parameters

标注

名称

类型

描述

输入图层

INPUT

[vector: any]

Layer to extract (parts of) features from.

Overlay layer

OVERLAY

[vector: any]

Layer containing the geometries that will be subtracted from the input layer geometries. It is expected to have at least as many dimensions (point: 0D, line: 1D, polygon: 2D, volume: 3D) as the input layer geometries.

Difference

OUTPUT

[same as input]

Default: [Create temporary layer]

Specify the layer to contain the (parts of) features from the input layer that are not inside the overlay layer. One of:

  • Create Temporary Layer (TEMPORARY_OUTPUT)

  • 保存到文件…

  • Save to Geopackage…

  • Save to Database Table…

文件编码也可以在此更改。

Advanced parameters

标注

名称

类型

描述

Grid size

NEW in 3.28

可选

GRID_SIZE

[数字]

Default: Not set

If provided, the input geometries are snapped to a grid of the given size, and the result vertices are computed on that same grid. Requires GEOS 3.9.0 or higher.

输出

标注

名称

类型

描述

Difference

OUTPUT

[same as input]

Layer containing (parts of) features from the input layer not overlapping the overlay layer.

Python代码

Algorithm ID: qgis:difference

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

当你在数据处理工具箱某个算法前悬停时,算法 id 将会展现。*参数字*将会提供参数的名称与数值。参考详见`数据处理_控制台`以获取如何从Python控制台中运行数据处理算法。

27.1.19.3. Difference (multiple)

NEW in 3.26

Extracts features from the input layer that fall completely outside or only partially overlap the features from any of the overlay layer(s).

For each overlay layer the difference is calculated between the result of all previous difference operations and this overlay layer. Input layer features that partially overlap feature(s) in the overlay layer are split along those features' boundary and only the portions outside the overlay layer features are retained.

警告

Geometry modification only

This operation modifies only the features geometry. The attribute values of the features are not modified, although properties such as area or length of the features will be modified by the overlay operation. If such properties are stored as attributes, those attributes will have to be manually updated.

../../../../_images/difference_multi.png

图 27.111 Difference operation between a two-feature input layer 'a' and single feature overlay layers 'b' and 'c' (left) - resulting in a new layer with the modified 'a' features (right)

参数

标注

名称

类型

描述

输入图层

INPUT

[vector: any]

Layer to extract (parts of) features from.

Overlay layers

OVERLAYS

[vector: any] [list]

List of layers containing the geometries that will be subtracted from the input layer geometries. They are expected to have at least as many dimensions (point: 0D, line: 1D, polygon: 2D, volume: 3D) as the input layer geometries.

Difference

OUTPUT

[same as input]

Default: [Create temporary layer]

Specify the layer to contain the (parts of) features from the input layer that do not overlap features of the overlay layers. One of:

  • Create Temporary Layer (TEMPORARY_OUTPUT)

  • 保存到文件…

  • Save to Geopackage…

  • Save to Database Table…

文件编码也可以在此更改。

输出

标注

名称

类型

描述

Difference

OUTPUT

[same as input]

Layer containing (parts of) features from the input layer not overlapping features from the overlay layers.

Python代码

Algorithm ID: qgis:multidifference

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

当你在数据处理工具箱某个算法前悬停时,算法 id 将会展现。*参数字*将会提供参数的名称与数值。参考详见`数据处理_控制台`以获取如何从Python控制台中运行数据处理算法。

27.1.19.4. Extract/clip by extent

Creates a new vector layer that only contains features which fall within a specified extent.

Any features which intersect the extent will be included.

../../../../_images/extractbyextent.png

图 27.112 Extract operation between a three-feature input layer 'a' and a dashed extent (left) - resulting features with dashed extent for reference (right)

参见

Clip

参数

标注

名称

类型

描述

输入图层

INPUT

[vector: any]

Layer to extract (parts of) features from.

Extent (xmin, xmax, ymin, ymax)

EXTENT

[范围]

Extent for clipping.

Available methods are:

  • Calculate from layer…: uses extent of a layer loaded in the current project

  • Calculate from layout map…: uses extent of a layout map item in the active project

  • Calculate from bookmark…: uses extent of a saved bookmark

  • Use map canvas extent

  • Draw on canvas: click and drag a rectangle delimiting the area to take into account

  • Enter the coordinates as xmin, xmax, ymin, ymax

Clip features to extent

CLIP

[boolean]

Default: False

If checked, output geometries will be automatically converted to multi geometries to ensure uniform output types. Moreover the geometries will be clipped to the extent chosen instead of taking the whole geometry as output.

../../../../_images/extractbyextent_clip.png

图 27.113 Extract operation between a three-feature input layer 'a' and a dashed extent (left) - resulting features with dashed extent for reference (right)

Extracted

OUTPUT

[same as input]

Default: [Create temporary layer]

Specify the layer to contain the features from the input layer that are inside the clip extent. One of:

  • Create Temporary Layer (TEMPORARY_OUTPUT)

  • 保存到文件…

  • Save to Geopackage…

  • Save to Database Table…

文件编码也可以在此更改。

输出

标注

名称

类型

描述

Extracted

OUTPUT

[same as input]

Layer containing the clipped features.

Python代码

Algorithm ID: qgis:extractbyextent

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

当你在数据处理工具箱某个算法前悬停时,算法 id 将会展现。*参数字*将会提供参数的名称与数值。参考详见`数据处理_控制台`以获取如何从Python控制台中运行数据处理算法。

27.1.19.5. Intersection

Extracts the portions of features from the input layer that overlap features in the overlay layer.

Features in the intersection layer are assigned the attributes of the overlapping features from both the input and overlay layers.

警告

Geometry modification only

This operation modifies only the features geometry. The attribute values of the features are not modified, although properties such as area or length of the features will be modified by the overlay operation. If such properties are stored as attributes, those attributes will have to be manually updated.

../../../../_images/intersection.png

图 27.114 Intersection operation between a two-feature input layer 'a' and a single feature overlay layer 'b' (left) - overlapping areas become a new two-feature layer with both layers' attributes (right)

Default menu: Vector ► Geoprocessing Tools

参数

Basic parameters

标注

名称

类型

描述

输入图层

INPUT

[vector: any]

Layer to extract (parts of) features from.

Overlay layer

OVERLAY

[vector: any]

Layer containing the features to check for overlap. Its features' geometry is expected to have at least as many dimensions (point: 0D, line: 1D, polygon: 2D, volume: 3D) as the input layer's.

Input fields to keep (leave empty to keep all fields)

可选

INPUT_FIELDS

[tablefield: any] [list]

Default: None

Field(s) of the input layer to keep in the output. If no fields are chosen all fields are taken.

Overlay fields to keep (leave empty to keep all fields)

可选

OVERLAY_FIELDS

[tablefield: any] [list]

Default: None

Field(s) of the overlay layer to keep in the output. If no fields are chosen all fields are taken. Duplicate field names will be appended a count suffix to avoid collision.

Intersection

OUTPUT

[same as input]

Default: [Create temporary layer]

Specify the layer to contain (the parts of) the features from the input layer that overlap one or more features from the overlay layer. One of:

  • Create Temporary Layer (TEMPORARY_OUTPUT)

  • 保存到文件…

  • Save to Geopackage…

  • Save to Database Table…

文件编码也可以在此更改。

Advanced parameters

标注

名称

类型

描述

Overlay fields prefix

可选

OVERLAY_FIELDS_PREFIX

[string]

Add a prefix to identify fields of the overlay layer. Duplicate field names will be appended a count suffix to avoid collision.

Grid size

NEW in 3.28

可选

GRID_SIZE

[数字]

Default: Not set

If provided, the input geometries are snapped to a grid of the given size, and the result vertices are computed on that same grid. Requires GEOS 3.9.0 or higher.

输出

标注

名称

类型

描述

Intersection

OUTPUT

[same as input]

Layer containing (parts of) features from the input layer that overlap the overlay layer.

Python代码

Algorithm ID: qgis:intersection

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

当你在数据处理工具箱某个算法前悬停时,算法 id 将会展现。*参数字*将会提供参数的名称与数值。参考详见`数据处理_控制台`以获取如何从Python控制台中运行数据处理算法。

27.1.19.6. Intersection (multiple)

NEW in 3.26

Extracts the overlapping portions of features in the input and all overlay layers.

Features in the output layer are assigned the attributes of the overlapping features from both the input and overlay layers.

警告

Geometry modification only

This operation modifies only the features geometry. The attribute values of the features are not modified, although properties such as area or length of the features will be modified by the overlay operation. If such properties are stored as attributes, those attributes will have to be manually updated.

../../../../_images/intersection_multi.png

图 27.115 Intersection operation between a two-feature input layer 'a' and single feature overlay layers 'b' and 'c' (left) - overlapping areas become a new two-feature layer with all layers' attributes (right)

参数

Basic parameters

标注

名称

类型

描述

输入图层

INPUT

[vector: any]

Layer to extract (parts of) features from.

Overlay layers

OVERLAYS

[vector: any] [list]

Layers containing the features to check for overlap. The features' geometry is expected to have at least as many dimensions (point: 0D, line: 1D, polygon: 2D, volume: 3D) as the input layer's.

Advanced parameters

标注

名称

类型

描述

Overlay fields prefix

可选

OVERLAY_FIELDS_PREFIX

[string]

Add a prefix to identify fields of the overlay layers. Duplicate field names will be appended a count suffix to avoid collision.

输出

标注

名称

类型

描述

Intersection

OUTPUT

[same as input]

Layer containing (parts of) features from the input layer that overlap all the overlay layers.

Python代码

Algorithm ID: qgis:multiintersection

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

当你在数据处理工具箱某个算法前悬停时,算法 id 将会展现。*参数字*将会提供参数的名称与数值。参考详见`数据处理_控制台`以获取如何从Python控制台中运行数据处理算法。

27.1.19.7. Line intersections

Creates point features where the lines from the two layers intersect.

../../../../_images/line_intersection.png

图 27.116 Points of intersection

Default menu: Vector ► Analysis Tools

参数

Basic parameters

标注

名称

类型

描述

输入图层

INPUT

[vector: line]

Input line layer.

Intersect layer

INTERSECT

[vector: line]

Layer to use to find line intersections.

Input fields to keep (leave empty to keep all fields)

可选

INPUT_FIELDS

[tablefield: any] [list]

Default: None

Field(s) of the input layer to keep in the output. If no fields are chosen all fields are taken.

Intersect fields to keep (leave empty to keep all fields)

可选

INTERSECT_FIELDS

[tablefield: any] [list]

Default: None

Field(s) of the intersect layer to keep in the output. If no fields are chosen all fields are taken. Duplicate field names will be appended a count suffix to avoid collision.

Intersection

OUTPUT

[vector: point]

Default: [Create temporary layer]

Specify the layer to contain the intersection points of the lines from the input and overlay layers. One of:

  • Create Temporary Layer (TEMPORARY_OUTPUT)

  • 保存到文件…

  • Save to Geopackage…

  • Save to Database Table…

文件编码也可以在此更改。

Advanced parameters

标注

名称

类型

描述

Intersect fields prefix

可选

INTERSECT_FIELDS_PREFIX

[string]

Add a prefix to identify fields of the intersect layer.

输出

标注

名称

类型

描述

Intersections

OUTPUT

[vector: point]

Point vector layer of the lines intersections, with both layers' attributes.

Python代码

Algorithm ID: qgis:lineintersections

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

当你在数据处理工具箱某个算法前悬停时,算法 id 将会展现。*参数字*将会提供参数的名称与数值。参考详见`数据处理_控制台`以获取如何从Python控制台中运行数据处理算法。

27.1.19.8. Split with lines

Splits the lines or polygons in one layer using the lines or polygon rings in another layer to define the breaking points. Intersection between geometries in both layers are considered as split points.

Output will contain multi geometries for split features.

../../../../_images/split_with_lines.png

图 27.117 Split lines

checkbox Allows features in-place modification of line and polygon features

参数

标注

名称

类型

描述

输入图层

INPUT

[vector: line, polygon]

Layer containing the lines or polygons to split.

Split layer

LINES

[vector: line, polygon]

Layer whose lines or rings are used to define the breaking points.

Split

OUTPUT

[same as input]

Default: [Create temporary layer]

Specify the layer to contain the splitted (in case they are intersected by a line in the split layer) line/polygon features from the input layer. One of:

  • Create Temporary Layer (TEMPORARY_OUTPUT)

  • 保存到文件…

  • Save to Geopackage…

  • Save to Database Table…

文件编码也可以在此更改。

输出

标注

名称

类型

描述

Split

OUTPUT

[same as input]

Output vector layer with split lines or polygons from input layer.

Python代码

Algorithm ID: qgis:splitwithlines

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

当你在数据处理工具箱某个算法前悬停时,算法 id 将会展现。*参数字*将会提供参数的名称与数值。参考详见`数据处理_控制台`以获取如何从Python控制台中运行数据处理算法。

27.1.19.9. Symmetrical difference

Creates a layer containing features from both the input and overlay layers but with the overlapping areas between the two layers removed.

The attribute table of the symmetrical difference layer contains attributes and fields from both the input and overlay layers.

警告

Geometry modification only

This operation modifies only the features geometry. The attribute values of the features are not modified, although properties such as area or length of the features will be modified by the overlay operation. If such properties are stored as attributes, those attributes will have to be manually updated.

../../../../_images/symmetrical_difference.png

图 27.118 Symmetrical difference operation between a two-features input layer 'a' and a single feature overlay layer 'b' (left) - resulting three-feature layer with both layers' attributes (right)

Default menu: Vector ► Geoprocessing Tools

参数

Basic parameters

标注

名称

类型

描述

输入图层

INPUT

[vector: any]

First layer to extract (parts of) features from.

Overlay layer

OVERLAY

[vector: any]

Second layer to extract (parts of) features from. Ideally the geometry type should be the same as input layer.

Symmetrical difference

OUTPUT

[same as input]

Default: [Create temporary layer]

Specify the layer to contain (the parts of) the features from the input and overlay layers that do not overlap features from the other layer. One of:

  • Create Temporary Layer (TEMPORARY_OUTPUT)

  • 保存到文件…

  • Save to Geopackage…

  • Save to Database Table…

文件编码也可以在此更改。

Advanced parameters

标注

名称

类型

描述

Overlay fields prefix

可选

OVERLAY_FIELDS_PREFIX

[string]

Add a prefix to identify fields of the overlay layer. Duplicate field names will be appended a count suffix to avoid collision.

Grid size

NEW in 3.28

可选

GRID_SIZE

[数字]

Default: Not set

If provided, the input geometries are snapped to a grid of the given size, and the result vertices are computed on that same grid. Requires GEOS 3.9.0 or higher.

输出

标注

名称

类型

描述

Symmetrical difference

OUTPUT

[same as input]

Layer containing (parts of) features from each layer not overlapping the other layer, with both layers' attributes.

Python代码

Algorithm ID: qgis:symmetricaldifference

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

当你在数据处理工具箱某个算法前悬停时,算法 id 将会展现。*参数字*将会提供参数的名称与数值。参考详见`数据处理_控制台`以获取如何从Python控制台中运行数据处理算法。

27.1.19.10. Union

Checks overlaps between features within the input layer and creates separate features for overlapping and non-overlapping parts. The area of overlap will create as many identical overlapping features as there are features that participate in that overlap.

../../../../_images/union.png

图 27.119 Union operation with a single input layer with two overlapping features (left) - resulting in four features (middle) - features moved for clarity (right)

An overlay layer can also be used, in which case features from each layer are split at their overlap with features from the other one, creating a layer containing all the portions from both input and overlay layers. Features on the same layer will not split each other. The attribute table of the union layer is filled with attribute values from the respective original layer for non-overlapping features, and attribute values from both layers for overlapping features.

../../../../_images/union_with_overlay.png

图 27.120 Union operation between a two-feature input layer 'a' and a single feature overlay layer 'b' (left) - resulting five-feature layer with attributes from both layers (right)

备注

With an overlay layer, features on the same layer will not split each other. If you want to split overlaps on the same layer as well as other layers, first run the algorithm with multiple layers then run the algorithm again with only the previous output.

Default menu: Vector ► Geoprocessing Tools

参数

Basic parameters

标注

名称

类型

描述

输入图层

INPUT

[vector: any]

Input vector layer to split at any intersections.

Overlay layer

可选

OVERLAY

[vector: any]

Layer that will be combined to the first one. Ideally the geometry type should be the same as input layer.

Union

OUTPUT

[same as input]

Default: [Create temporary layer]

Specify the layer to contain the (split and duplicated) features from the input layer and the overlay layer. One of:

  • Create Temporary Layer (TEMPORARY_OUTPUT)

  • 保存到文件…

  • Save to Geopackage…

  • Save to Database Table…

文件编码也可以在此更改。

Advanced parameters

标注

名称

类型

描述

Overlay fields prefix

可选

OVERLAY_FIELDS_PREFIX

[string]

Add a prefix to identify fields of the overlay layer. Duplicate field names will be appended a count suffix to avoid collision.

Grid size

NEW in 3.28

可选

GRID_SIZE

[数字]

Default: Not set

If provided, the input geometries are snapped to a grid of the given size, and the result vertices are computed on that same grid. Requires GEOS 3.9.0 or higher.

输出

标注

名称

类型

描述

Union

OUTPUT

[same as input]

Layer containing all the overlapping and non-overlapping parts from the processed layer(s).

Python代码

Algorithm ID: qgis:union

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

当你在数据处理工具箱某个算法前悬停时,算法 id 将会展现。*参数字*将会提供参数的名称与数值。参考详见`数据处理_控制台`以获取如何从Python控制台中运行数据处理算法。

27.1.19.11. Union (multiple)

NEW in 3.26

Checks overlaps between features within the input layer and creates separate features for overlapping and non-overlapping parts. The area of overlap will create as many identical overlapping features as there are features that participate in that overlap.

../../../../_images/union.png

图 27.121 Union operation with a single input layer with two overlapping features (left) - resulting in four features (middle) - features moved for clarity (right)

Multiple overlay layers can also be used, in which case features from each layer are split at their overlap with features from all other layers, creating a layer containing all the portions from both input and overlay layers. Features on the same layer will not split each other. The attribute table of the Union layer is filled with attribute values from the respective original layer for non-overlapping features, and attribute values from overlay layers for overlapping features.

../../../../_images/union_multi.png

图 27.122 Union operation between a two-feature input layer 'a' and single feature overlay layers 'b' and 'c' (left) - resulting eleven-feature layer with attributes from all layers (right)

备注

With an overlay layer, features on the same layer will not split each other. If you want to split overlaps on the same layer as well as other layers, first run the algorithm with multiple layers then run the algorithm again with only the previous output.

参数

Basic parameters

标注

名称

类型

描述

输入图层

INPUT

[vector: any]

Input vector layer to split at any intersections.

Overlay layers

可选

OVERLAYS

[vector: any] [list]

Layers that will be combined to the first one. Ideally the geometry type should be the same as input layer.

Union

OUTPUT

[same as input]

Default: [Create temporary layer]

Specify the layer to contain the (split and duplicated) features from the input layer and the overlay layers. One of:

  • Create Temporary Layer (TEMPORARY_OUTPUT)

  • 保存到文件…

  • Save to Geopackage…

  • Save to Database Table…

文件编码也可以在此更改。

Advanced parameters

标注

名称

类型

描述

Overlay fields prefix

可选

OVERLAY_FIELDS_PREFIX

[string]

Add a prefix to identify fields of the overlay layers. Duplicate field names will be appended a count suffix to avoid collision.

输出

标注

名称

类型

描述

Union

OUTPUT

[same as input]

Layer containing all the overlapping and non-overlapping parts from the processed layer(s), with all layers' attributes.

Python代码

Algorithm ID: qgis:multiunion

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

当你在数据处理工具箱某个算法前悬停时,算法 id 将会展现。*参数字*将会提供参数的名称与数值。参考详见`数据处理_控制台`以获取如何从Python控制台中运行数据处理算法。