QGIS API Documentation  3.20.0-Odense (decaadbb31)
Public Member Functions | List of all members
QgsVectorLayerEditUtils Class Reference

#include <qgsvectorlayereditutils.h>

Public Member Functions

 QgsVectorLayerEditUtils (QgsVectorLayer *layer)
 
QgsGeometry::OperationResult addPart (const QgsPointSequence &ring, QgsFeatureId featureId)
 Adds a new part polygon to a multipart feature. More...
 
Q_DECL_DEPRECATED QgsGeometry::OperationResult addPart (const QVector< QgsPointXY > &ring, QgsFeatureId featureId)
 Adds a new part polygon to a multipart feature. More...
 
QgsGeometry::OperationResult addPart (QgsCurve *ring, QgsFeatureId featureId)
 Adds a new part polygon to a multipart feature. More...
 
QgsGeometry::OperationResult addRing (const QgsPointSequence &ring, const QgsFeatureIds &targetFeatureIds=QgsFeatureIds(), QgsFeatureId *modifiedFeatureId=nullptr)
 Adds a ring to polygon/multipolygon features. More...
 
Q_DECL_DEPRECATED QgsGeometry::OperationResult addRing (const QVector< QgsPointXY > &ring, const QgsFeatureIds &targetFeatureIds=QgsFeatureIds(), QgsFeatureId *modifiedFeatureId=nullptr)
 Adds a ring to polygon/multipolygon features. More...
 
QgsGeometry::OperationResult addRing (QgsCurve *ring, const QgsFeatureIds &targetFeatureIds=QgsFeatureIds(), QgsFeatureId *modifiedFeatureId=nullptr)
 Adds a ring to polygon/multipolygon features. More...
 
int addTopologicalPoints (const QgsGeometry &geom)
 Adds topological points for every vertex of the geometry. More...
 
int addTopologicalPoints (const QgsPoint &p)
 Adds a vertex to segments which intersect point p but don't already have a vertex there. More...
 
int addTopologicalPoints (const QgsPointSequence &ps)
 Adds a vertex to segments which intersect point p but don't already have a vertex there. More...
 
int addTopologicalPoints (const QgsPointXY &p)
 Adds a vertex to segments which intersect point p but don't already have a vertex there. More...
 
QgsVectorLayer::EditResult deleteVertex (QgsFeatureId featureId, int vertex)
 Deletes a vertex from a feature. More...
 
bool insertVertex (const QgsPoint &point, QgsFeatureId atFeatureId, int beforeVertex)
 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. More...
 
bool insertVertex (double x, double y, QgsFeatureId atFeatureId, int beforeVertex)
 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. More...
 
bool moveVertex (const QgsPoint &p, QgsFeatureId atFeatureId, int atVertex)
 Moves the vertex at the given position number, ring and item (first number is index 0), and feature to the given coordinates. More...
 
bool moveVertex (double x, double y, QgsFeatureId atFeatureId, int atVertex)
 Moves the vertex at the given position number, ring and item (first number is index 0), and feature to the given coordinates. More...
 
QgsGeometry::OperationResult splitFeatures (const QgsCurve *curve, QgsPointSequence &topologyTestPoints, bool preserveCircular=false, bool topologicalEditing=false)
 Splits features cut by the given curve. More...
 
QgsGeometry::OperationResult splitFeatures (const QgsPointSequence &splitLine, bool topologicalEditing=false)
 Splits features cut by the given line. More...
 
Q_DECL_DEPRECATED QgsGeometry::OperationResult splitFeatures (const QVector< QgsPointXY > &splitLine, bool topologicalEditing=false)
 Splits features cut by the given line. More...
 
QgsGeometry::OperationResult splitParts (const QgsPointSequence &splitLine, bool topologicalEditing=false)
 Splits parts cut by the given line. More...
 
Q_DECL_DEPRECATED QgsGeometry::OperationResult splitParts (const QVector< QgsPointXY > &splitLine, bool topologicalEditing=false)
 Splits parts cut by the given line. More...
 
int translateFeature (QgsFeatureId featureId, double dx, double dy)
 Translates feature by dx, dy. More...
 

Detailed Description

Definition at line 31 of file qgsvectorlayereditutils.h.

Constructor & Destructor Documentation

◆ QgsVectorLayerEditUtils()

QgsVectorLayerEditUtils::QgsVectorLayerEditUtils ( QgsVectorLayer layer)

Definition at line 34 of file qgsvectorlayereditutils.cpp.

Member Function Documentation

◆ addPart() [1/3]

QgsGeometry::OperationResult QgsVectorLayerEditUtils::addPart ( const QgsPointSequence ring,
QgsFeatureId  featureId 
)

Adds a new part polygon to a multipart feature.

Returns
- QgsGeometry::Success
Note
available in python bindings as addPartV2

Definition at line 197 of file qgsvectorlayereditutils.cpp.

◆ addPart() [2/3]

QgsGeometry::OperationResult QgsVectorLayerEditUtils::addPart ( const QVector< QgsPointXY > &  ring,
QgsFeatureId  featureId 
)

Adds a new part polygon to a multipart feature.

Returns
- QgsGeometry::Success

Definition at line 187 of file qgsvectorlayereditutils.cpp.

◆ addPart() [3/3]

QgsGeometry::OperationResult QgsVectorLayerEditUtils::addPart ( QgsCurve ring,
QgsFeatureId  featureId 
)

Adds a new part polygon to a multipart feature.

Returns
- QgsGeometry::Success
Note
available in python bindings as addCurvedPart

Definition at line 232 of file qgsvectorlayereditutils.cpp.

◆ addRing() [1/3]

QgsGeometry::OperationResult QgsVectorLayerEditUtils::addRing ( const QgsPointSequence ring,
const QgsFeatureIds targetFeatureIds = QgsFeatureIds(),
QgsFeatureId modifiedFeatureId = nullptr 
)

Adds a ring to polygon/multipolygon features.

Parameters
ringring to add
targetFeatureIdsif 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.
modifiedFeatureIdif 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

Definition at line 131 of file qgsvectorlayereditutils.cpp.

◆ addRing() [2/3]

QgsGeometry::OperationResult QgsVectorLayerEditUtils::addRing ( const QVector< QgsPointXY > &  ring,
const QgsFeatureIds targetFeatureIds = QgsFeatureIds(),
QgsFeatureId modifiedFeatureId = nullptr 
)

Adds a ring to polygon/multipolygon features.

Parameters
ringring to add
targetFeatureIdsif 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.
modifiedFeatureIdif 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 QGIS 3.12 - will be removed in QGIS 4.0. Use the variant which accepts QgsPoint objects instead of QgsPointXY.

Definition at line 121 of file qgsvectorlayereditutils.cpp.

◆ addRing() [3/3]

QgsGeometry::OperationResult QgsVectorLayerEditUtils::addRing ( QgsCurve ring,
const QgsFeatureIds targetFeatureIds = QgsFeatureIds(),
QgsFeatureId modifiedFeatureId = nullptr 
)

Adds a ring to polygon/multipolygon features.

Parameters
ringring to add
targetFeatureIdsif 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.
modifiedFeatureIdif 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
Note
available in python bindings as addCurvedRing

Definition at line 137 of file qgsvectorlayereditutils.cpp.

◆ addTopologicalPoints() [1/4]

int QgsVectorLayerEditUtils::addTopologicalPoints ( const QgsGeometry geom)

Adds topological points for every vertex of the geometry.

Parameters
geomthe geometry where each vertex is added to segments of other features
Returns
0 in case of success
1 in case of error
2 in case no vertices needed to be added
Note
geom is not going to be modified by the function

Definition at line 536 of file qgsvectorlayereditutils.cpp.

◆ addTopologicalPoints() [2/4]

int QgsVectorLayerEditUtils::addTopologicalPoints ( const QgsPoint p)

Adds a vertex to segments which intersect point p 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
1 in case of error
2 in case no vertices needed to be added
Since
QGIS 3.10

Definition at line 561 of file qgsvectorlayereditutils.cpp.

◆ addTopologicalPoints() [3/4]

int QgsVectorLayerEditUtils::addTopologicalPoints ( const QgsPointSequence ps)

Adds a vertex to segments which intersect point p 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
1 in case of error
2 in case vertex already exists or point does not intersect segment
Since
QGIS 3.16

Definition at line 640 of file qgsvectorlayereditutils.cpp.

◆ addTopologicalPoints() [4/4]

int QgsVectorLayerEditUtils::addTopologicalPoints ( const QgsPointXY p)

Adds a vertex to segments which intersect point p 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
1 in case of error
2 in case no vertices needed to be added

Definition at line 665 of file qgsvectorlayereditutils.cpp.

◆ deleteVertex()

QgsVectorLayer::EditResult QgsVectorLayerEditUtils::deleteVertex ( QgsFeatureId  featureId,
int  vertex 
)

Deletes a vertex from a feature.

Parameters
featureIdID of feature to remove vertex from
vertexindex of vertex to delete
Since
QGIS 2.14

Definition at line 97 of file qgsvectorlayereditutils.cpp.

◆ insertVertex() [1/2]

bool QgsVectorLayerEditUtils::insertVertex ( const QgsPoint point,
QgsFeatureId  atFeatureId,
int  beforeVertex 
)

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.

Definition at line 56 of file qgsvectorlayereditutils.cpp.

◆ insertVertex() [2/2]

bool QgsVectorLayerEditUtils::insertVertex ( double  x,
double  y,
QgsFeatureId  atFeatureId,
int  beforeVertex 
)

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.

Definition at line 39 of file qgsvectorlayereditutils.cpp.

◆ moveVertex() [1/2]

bool QgsVectorLayerEditUtils::moveVertex ( const QgsPoint p,
QgsFeatureId  atFeatureId,
int  atVertex 
)

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

Definition at line 79 of file qgsvectorlayereditutils.cpp.

◆ moveVertex() [2/2]

bool QgsVectorLayerEditUtils::moveVertex ( double  x,
double  y,
QgsFeatureId  atFeatureId,
int  atVertex 
)

Moves the vertex at the given position number, ring and item (first number is index 0), and feature to the given coordinates.

Definition at line 73 of file qgsvectorlayereditutils.cpp.

◆ splitFeatures() [1/3]

QgsGeometry::OperationResult QgsVectorLayerEditUtils::splitFeatures ( const QgsCurve curve,
QgsPointSequence topologyTestPoints,
bool  preserveCircular = false,
bool  topologicalEditing = false 
)

Splits features cut by the given curve.

Parameters
curveline that splits the layer features
[out]topologyTestPointstopological points to be tested against other layers
preserveCircularwhether circular strings are preserved after splitting
topologicalEditingtrue if topological editing is enabled
Returns
QgsGeometry::OperationResult
Since
QGIS 3.16

Definition at line 305 of file qgsvectorlayereditutils.cpp.

◆ splitFeatures() [2/3]

QgsGeometry::OperationResult QgsVectorLayerEditUtils::splitFeatures ( const QgsPointSequence splitLine,
bool  topologicalEditing = false 
)

Splits features cut by the given line.

Parameters
splitLineline that splits the layer features
topologicalEditingtrue if topological editing is enabled
Returns
QgsGeometry::OperationResult

Definition at line 297 of file qgsvectorlayereditutils.cpp.

◆ splitFeatures() [3/3]

QgsGeometry::OperationResult QgsVectorLayerEditUtils::splitFeatures ( const QVector< QgsPointXY > &  splitLine,
bool  topologicalEditing = false 
)

Splits features cut by the given line.

Parameters
splitLineline that splits the layer features
topologicalEditingtrue if topological editing is enabled
Returns
QgsGeometry::OperationResult
Deprecated:
since QGIS 3.12 - will be removed in QGIS 4.0. Use the variant which accepts QgsPoint objects instead of QgsPointXY.

Definition at line 287 of file qgsvectorlayereditutils.cpp.

◆ splitParts() [1/2]

QgsGeometry::OperationResult QgsVectorLayerEditUtils::splitParts ( const QgsPointSequence splitLine,
bool  topologicalEditing = false 
)

Splits parts cut by the given line.

Parameters
splitLineline that splits the layer feature parts
topologicalEditingtrue if topological editing is enabled
Returns
- QgsGeometry::InvalidBaseGeometry

Definition at line 427 of file qgsvectorlayereditutils.cpp.

◆ splitParts() [2/2]

QgsGeometry::OperationResult QgsVectorLayerEditUtils::splitParts ( const QVector< QgsPointXY > &  splitLine,
bool  topologicalEditing = false 
)

Splits parts cut by the given line.

Parameters
splitLineline that splits the layer feature parts
topologicalEditingtrue if topological editing is enabled
Returns
- QgsGeometry::InvalidBaseGeometry

Definition at line 417 of file qgsvectorlayereditutils.cpp.

◆ translateFeature()

int QgsVectorLayerEditUtils::translateFeature ( QgsFeatureId  featureId,
double  dx,
double  dy 
)

Translates feature by dx, dy.

Parameters
featureIdid of the feature to translate
dxtranslation of x-coordinate
dytranslation of y-coordinate
Returns
0 in case of success

Definition at line 268 of file qgsvectorlayereditutils.cpp.


The documentation for this class was generated from the following files: