QGIS API Documentation 3.41.0-Master (3440c17df1d)
|
Checks if geometries overlap. More...
#include <qgsgeometryoverlapcheck.h>
Public Types | |
enum | ResolutionMethod { Subtract , NoChange } |
Available resolution methods. More... | |
Public Types inherited from QgsGeometryCheck | |
typedef QMap< QString, QMap< QgsFeatureId, QList< QgsGeometryCheck::Change > > > | Changes |
A collection of changes. | |
enum | ChangeType { ChangeAdded , ChangeRemoved , ChangeChanged } |
Description of the type of a change. More... | |
enum | ChangeWhat { ChangeFeature , ChangePart , ChangeRing , ChangeNode } |
Description of a change to indicate at which level a change occurred. More... | |
enum | CheckType { FeatureNodeCheck , FeatureCheck , LayerCheck } |
The type of a check. More... | |
enum | Flag { AvailableInValidation = 1 << 1 } |
Flags for geometry checks. More... | |
typedef QFlags< Flag > | Flags |
Public Member Functions | |
QgsGeometryOverlapCheck (const QgsGeometryCheckContext *context, const QVariantMap &configuration) | |
Checks for overlapping polygons. | |
QgsGeometryCheck::CheckType | checkType () const override |
Returns the check type. | |
void | collectErrors (const QMap< QString, QgsFeaturePool * > &featurePools, QList< QgsGeometryCheckError * > &errors, QStringList &messages, QgsFeedback *feedback, const LayerFeatureIds &ids=LayerFeatureIds()) const override |
The main worker method. | |
QList< Qgis::GeometryType > | compatibleGeometryTypes () const override |
A list of geometry types for which this check can be performed. | |
QString | description () const override |
Returns a human readable description for this check. | |
void | fixError (const QMap< QString, QgsFeaturePool * > &featurePools, QgsGeometryCheckError *error, int method, const QMap< QString, int > &mergeAttributeIndices, Changes &changes) const override |
Fixes the error error with the specified method. | |
QgsGeometryCheck::Flags | flags () const override |
Flags for this geometry check. | |
QString | id () const override |
Returns an id for this check. | |
Q_DECL_DEPRECATED QStringList | resolutionMethods () const override |
Returns a list of descriptions for available resolutions for errors. | |
Public Member Functions inherited from QgsGeometryCheck | |
QgsGeometryCheck (const QgsGeometryCheckContext *context, const QVariantMap &configuration) | |
Create a new geometry check. | |
virtual | ~QgsGeometryCheck ()=default |
virtual QList< QgsGeometryCheckResolutionMethod > | availableResolutionMethods () const |
Returns a list of available resolution methods. | |
template<class T > | |
T | configurationValue (const QString &name, const QVariant &defaultValue=QVariant()) |
Returns the configuration value with the name, saved in the QGIS settings for this geometry check. | |
const QgsGeometryCheckContext * | context () const |
Returns the context. | |
virtual bool | isCompatible (QgsVectorLayer *layer) const |
Returns if this geometry check is compatible with layer. | |
virtual void | prepare (const QgsGeometryCheckContext *context, const QVariantMap &configuration) |
Will be run in the main thread before collectErrors() is called (which may be run from a background thread). | |
Additional Inherited Members | |
Protected Member Functions inherited from QgsGeometryCheck | |
QMap< QString, QgsFeatureIds > | allLayerFeatureIds (const QMap< QString, QgsFeaturePool * > &featurePools) const |
Returns all layers and feature ids. | |
void | deleteFeatureGeometryPart (const QMap< QString, QgsFeaturePool * > &featurePools, const QString &layerId, QgsFeature &feature, int partIdx, Changes &changes) const |
Deletes a part of a feature geometry. | |
void | deleteFeatureGeometryRing (const QMap< QString, QgsFeaturePool * > &featurePools, const QString &layerId, QgsFeature &feature, int partIdx, int ringIdx, Changes &changes) const |
Deletes a ring in a feature geometry. | |
void | replaceFeatureGeometryPart (const QMap< QString, QgsFeaturePool * > &featurePools, const QString &layerId, QgsFeature &feature, int partIdx, QgsAbstractGeometry *newPartGeom, Changes &changes) const |
Replaces a part in a feature geometry. | |
double | scaleFactor (const QPointer< QgsVectorLayer > &layer) const |
Determines the scale factor of a layer to the map coordinate reference system. | |
Protected Attributes inherited from QgsGeometryCheck | |
QVariantMap | mConfiguration |
const QgsGeometryCheckContext * | mContext |
Checks if geometries overlap.
Definition at line 93 of file qgsgeometryoverlapcheck.h.
Available resolution methods.
Enumerator | |
---|---|
Subtract | Subtract the overlap region from the polygon. |
NoChange | Do not change anything. |
Definition at line 101 of file qgsgeometryoverlapcheck.h.
QgsGeometryOverlapCheck::QgsGeometryOverlapCheck | ( | const QgsGeometryCheckContext * | context, |
const QVariantMap & | configuration | ||
) |
Checks for overlapping polygons.
In configuration a maxOverlapArea parameter can be passed. In case this parameter is set to something else than 0.0, the error will only be reported if the overlapping area is smaller than maxOverlapArea. Overlapping areas smaller than the reducedTolerance parameter of the context are ignored.
Definition at line 24 of file qgsgeometryoverlapcheck.cpp.
|
inlineoverridevirtual |
Returns the check type.
Implements QgsGeometryCheck.
Definition at line 124 of file qgsgeometryoverlapcheck.h.
|
overridevirtual |
The main worker method.
Check all features available from featurePools and write errors found to errors. Other status messages can be written to messages. Progress should be reported to feedback. Only features and layers listed in ids should be checked.
Implements QgsGeometryCheck.
Definition at line 32 of file qgsgeometryoverlapcheck.cpp.
|
inlineoverridevirtual |
A list of geometry types for which this check can be performed.
Implements QgsGeometryCheck.
Definition at line 116 of file qgsgeometryoverlapcheck.h.
|
overridevirtual |
Returns a human readable description for this check.
Implements QgsGeometryCheck.
Definition at line 220 of file qgsgeometryoverlapcheck.cpp.
|
overridevirtual |
Fixes the error error with the specified method.
Is executed on the main thread.
Reimplemented from QgsGeometryCheck.
Definition at line 95 of file qgsgeometryoverlapcheck.cpp.
|
overridevirtual |
Flags for this geometry check.
Reimplemented from QgsGeometryCheck.
Definition at line 230 of file qgsgeometryoverlapcheck.cpp.
|
overridevirtual |
Returns an id for this check.
Implements QgsGeometryCheck.
Definition at line 225 of file qgsgeometryoverlapcheck.cpp.
|
overridevirtual |
Returns a list of descriptions for available resolutions for errors.
The index will be passed as method
to
Reimplemented from QgsGeometryCheck.
Definition at line 212 of file qgsgeometryoverlapcheck.cpp.