Class: QgsVectorLayerEditUtils¶
-
class
qgis.core.
QgsVectorLayerEditUtils
(layer: QgsVectorLayer)¶ Bases:
sip.wrapper
QgsVectorLayerEditUtils(
QgsVectorLayerEditUtils
)- Parameters
layer –
-
addCurvedPart
(self, ring: QgsCurve, featureId: int) → QgsGeometry.OperationResult¶ Adds a new part polygon to a multipart feature
- Return type
- Returns
QgsGeometry.Success
QgsGeometry.AddPartSelectedGeometryNotFound
QgsGeometry.AddPartNotMultiGeometry
QgsGeometry.InvalidBaseGeometry
QgsGeometry.InvalidInput
Note
available in python bindings as addCurvedPart
- Parameters
ring (QgsCurve) –
featureId (int) –
-
addCurvedRing
(self, ring: QgsCurve, targetFeatureIds: object = QgsFeatureIds()) → Tuple[QgsGeometry.OperationResult, int]¶ Adds a ring to polygon/multipolygon features
- Parameters
ring (QgsCurve) – ring to add
targetFeatureIds (object = QgsFeatureIds()) – if specified, only these features will be the candidates for adding a ring. Otherwise all intersecting features are tested and the ring is added to the first valid feature.
modifiedFeatureId – if specified, feature ID for feature that ring was added to will be stored in this parameter
- Return type
Tuple[QgsGeometry.OperationResult, int]
- Returns
OperationResult result code: success or reason of failure
Note
available in python bindings as addCurvedRing
-
addPart
(self, ring: Iterable[QgsPointXY], featureId: int) → QgsGeometry.OperationResult¶ Adds a new part polygon to a multipart feature
- Returns
QgsGeometry.Success
QgsGeometry.AddPartSelectedGeometryNotFound
QgsGeometry.AddPartNotMultiGeometry
QgsGeometry.InvalidBaseGeometry
QgsGeometry.InvalidInput
Deprecated since version QGIS: 3.12 - will be removed in QGIS 4.0. Use the variant which accepts
QgsPoint
objects instead of QgsPointXY.addPart(self, ring: Iterable[QgsPoint], featureId: int) -> QgsGeometry.OperationResult Adds a new part polygon to a multipart feature
- Return type
- Returns
QgsGeometry.Success
QgsGeometry.AddPartSelectedGeometryNotFound
QgsGeometry.AddPartNotMultiGeometry
QgsGeometry.InvalidBaseGeometry
QgsGeometry.InvalidInput
Note
available in python bindings as addPartV2
- Parameters
ring (Iterable[QgsPointXY]) –
featureId (int) –
-
addRing
(self, ring: Iterable[QgsPointXY], targetFeatureIds: object = QgsFeatureIds()) → Tuple[QgsGeometry.OperationResult, int]¶ Adds a ring to polygon/multipolygon features
- Parameters
ring (Iterable[QgsPointXY]) – ring to add
targetFeatureIds (object = QgsFeatureIds()) – if specified, only these features will be the candidates for adding a ring. Otherwise all intersecting features are tested and the ring is added to the first valid feature.
modifiedFeatureId – if specified, feature ID for feature that ring was added to will be stored in this parameter
- Returns
OperationResult result code: success or reason of failure
Deprecated since version QGIS: 3.12 - will be removed in QGIS 4.0. Use the variant which accepts
QgsPoint
objects instead of QgsPointXY.addRing(self, ring: Iterable[QgsPoint], targetFeatureIds: object = QgsFeatureIds()) -> Tuple[QgsGeometry.OperationResult, int] Adds a ring to polygon/multipolygon features
- Parameters
ring – ring to add
targetFeatureIds – if specified, only these features will be the candidates for adding a ring. Otherwise all intersecting features are tested and the ring is added to the first valid feature.
modifiedFeatureId – if specified, feature ID for feature that ring was added to will be stored in this parameter
- Return type
Tuple[QgsGeometry.OperationResult, int]
- Returns
OperationResult result code: success or reason of failure
-
addTopologicalPoints
(self, geom: QgsGeometry) → int¶ Adds topological points for every vertex of the geometry.
- Parameters
geom (QgsGeometry) – the geometry where each vertex is added to segments of other features
- Returns
0 in case of success
Note
geom is not going to be modified by the function
addTopologicalPoints(self, p:
QgsPointXY
) -> int Adds a vertex to segments which intersect pointp
but don’t already have a vertex there. If a feature already has a vertex at position p, no additional vertex is inserted. This method is useful for topological editing.- Returns
0 in case of success
addTopologicalPoints(self, p:
QgsPoint
) -> int Adds a vertex to segments which intersect pointp
but don’t already have a vertex there. If a feature already has a vertex at position p, no additional vertex is inserted. This method is useful for topological editing.- Return type
int
- Returns
0 in case of success
New in version 3.10.
-
deleteVertex
(self, featureId: int, vertex: int) → QgsVectorLayer.EditResult¶ Deletes a vertex from a feature.
- Parameters
featureId (int) – ID of feature to remove vertex from
vertex (int) – index of vertex to delete
New in version 2.14.
- Return type
-
insertVertex
(self, x: float, y: float, atFeatureId: int, beforeVertex: int) → bool¶ Insert a new vertex before the given vertex number, in the given ring, item (first number is index 0), and feature Not meaningful for Point geometries
insertVertex(self, point:
QgsPoint
, atFeatureId: int, beforeVertex: int) -> bool Inserts a new vertex before the given vertex number, in the given ring, item (first number is index 0), and feature Not meaningful for Point geometries- Parameters
x (float) –
y (float) –
atFeatureId (int) –
beforeVertex (int) –
- Return type
bool
-
moveVertex
(self, x: float, y: float, atFeatureId: int, atVertex: int) → bool¶ Moves the vertex at the given position number, ring and item (first number is index 0), and feature to the given coordinates
- Parameters
x (float) –
y (float) –
atFeatureId (int) –
atVertex (int) –
- Return type
bool
-
moveVertexV2
(self, p: QgsPoint, atFeatureId: int, atVertex: int) → bool¶ Moves the vertex at the given position number, ring and item (first number is index 0), and feature to the given coordinates
Note
available in Python bindings as moveVertexV2
- Parameters
p (QgsPoint) –
atFeatureId (int) –
atVertex (int) –
- Return type
bool
-
splitFeatures
(self, splitLine: Iterable[QgsPointXY], topologicalEditing: bool = False) → QgsGeometry.OperationResult¶ Splits features cut by the given line
- Parameters
splitLine (Iterable[QgsPointXY]) – line that splits the layer features
topologicalEditing (bool = False) –
True
if topological editing is enabled
- Returns
0 in case of success, 4 if there is a selection but no feature split
Deprecated since version QGIS: 3.12 - will be removed in QGIS 4.0. Use the variant which accepts
QgsPoint
objects instead of QgsPointXY.splitFeatures(self, splitLine: Iterable[QgsPoint], topologicalEditing: bool = False) -> QgsGeometry.OperationResult Splits features cut by the given line
- Parameters
splitLine – line that splits the layer features
topologicalEditing –
True
if topological editing is enabled
- Return type
- Returns
0 in case of success, 4 if there is a selection but no feature split
-
splitParts
(self, splitLine: Iterable[QgsPointXY], topologicalEditing: bool = False) → QgsGeometry.OperationResult¶ Splits parts cut by the given line
- Parameters
splitLine (Iterable[QgsPointXY]) – line that splits the layer feature parts
topologicalEditing (bool = False) –
True
if topological editing is enabled
- Returns
QgsGeometry.InvalidBaseGeometry
QgsGeometry.Success
QgsGeometry.InvalidInput
QgsGeometry.NothingHappened if a selection is present but no feature has been split
QgsGeometry.InvalidBaseGeometry
QgsGeometry.GeometryEngineError
QgsGeometry.SplitCannotSplitPoint
Deprecated since version QGIS: 3.12 - will be removed in QGIS 4.0. Use the variant which accepts
QgsPoint
objects instead of QgsPointXY.splitParts(self, splitLine: Iterable[QgsPoint], topologicalEditing: bool = False) -> QgsGeometry.OperationResult Splits parts cut by the given line
- Parameters
splitLine – line that splits the layer feature parts
topologicalEditing –
True
if topological editing is enabled
- Return type
- Returns
QgsGeometry.InvalidBaseGeometry
QgsGeometry.Success
QgsGeometry.InvalidInput
QgsGeometry.NothingHappened if a selection is present but no feature has been split
QgsGeometry.InvalidBaseGeometry
QgsGeometry.GeometryEngineError
QgsGeometry.SplitCannotSplitPoint
-
translateFeature
(self, featureId: int, dx: float, dy: float) → int¶ Translates feature by dx, dy
- Parameters
featureId (int) – id of the feature to translate
dx (float) – translation of x-coordinate
dy (float) – translation of y-coordinate
- Return type
int
- Returns
0 in case of success