QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
Public Member Functions | List of all members
QgsGeometryIsValidCheck Class Reference

Checks if geometries are valid using the backend configured in the QGIS settings. More...

#include <qgsgeometryisvalidcheck.h>

Inheritance diagram for QgsGeometryIsValidCheck:
Inheritance graph
[legend]

Public Member Functions

 QgsGeometryIsValidCheck (const QgsGeometryCheckContext *context, const QVariantMap &configuration)
 Creates a new is valid check with the provided context. More...
 
QgsGeometryCheck::CheckType checkType () const override
 Returns the check type. More...
 
QList< Qgis::GeometryTypecompatibleGeometryTypes () const override
 A list of geometry types for which this check can be performed. More...
 
QString description () const override
 Returns a human readable description for this check. More...
 
QString id () const override
 Returns an id for this check. More...
 
QList< QgsSingleGeometryCheckError * > processGeometry (const QgsGeometry &geometry) const override
 Check the geometry for errors. More...
 
Q_DECL_DEPRECATED QStringList resolutionMethods () const override
 Returns a list of descriptions for available resolutions for errors. More...
 
- Public Member Functions inherited from QgsSingleGeometryCheck
 QgsSingleGeometryCheck (const QgsGeometryCheckContext *context, const QVariantMap &configuration)
 Creates a new single geometry check. More...
 
void collectErrors (const QMap< QString, QgsFeaturePool * > &featurePools, QList< QgsGeometryCheckError * > &errors, QStringList &messages, QgsFeedback *feedback=nullptr, const QgsGeometryCheck::LayerFeatureIds &ids=QgsGeometryCheck::LayerFeatureIds()) const FINAL
 The main worker method. More...
 
virtual QList< QgsSingleGeometryCheckError * > processGeometry (const QgsGeometry &geometry) const =0
 Check the geometry for errors. More...
 
- Public Member Functions inherited from QgsGeometryCheck
 QgsGeometryCheck (const QgsGeometryCheckContext *context, const QVariantMap &configuration)
 Create a new geometry check. More...
 
virtual ~QgsGeometryCheck ()=default
 
virtual QList< QgsGeometryCheckResolutionMethodavailableResolutionMethods () const
 Returns a list of available resolution methods. More...
 
virtual CheckType checkType () const =0
 Returns the check type. More...
 
virtual void collectErrors (const QMap< QString, QgsFeaturePool * > &featurePools, QList< QgsGeometryCheckError * > &errors, QStringList &messages, QgsFeedback *feedback, const LayerFeatureIds &ids=QgsGeometryCheck::LayerFeatureIds()) const =0
 The main worker method. More...
 
virtual QList< Qgis::GeometryTypecompatibleGeometryTypes () const =0
 A list of geometry types for which this check can be performed. More...
 
template<class 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. More...
 
const QgsGeometryCheckContextcontext () const
 Returns the context. More...
 
virtual QString description () const =0
 Returns a human readable description for this check. More...
 
virtual void fixError (const QMap< QString, QgsFeaturePool * > &featurePools, QgsGeometryCheckError *error, int method, const QMap< QString, int > &mergeAttributeIndices, Changes &changes) const
 Fixes the error error with the specified method. More...
 
virtual QgsGeometryCheck::Flags flags () const
 Flags for this geometry check. More...
 
virtual QString id () const =0
 Returns an id for this check. More...
 
virtual bool isCompatible (QgsVectorLayer *layer) const
 Returns if this geometry check is compatible with layer. More...
 
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). More...
 
virtual Q_DECL_DEPRECATED QStringList resolutionMethods () const
 Returns a list of descriptions for available resolutions for errors. More...
 

Additional Inherited Members

- Public Types inherited from QgsGeometryCheck
typedef QMap< QString, QMap< QgsFeatureId, QList< QgsGeometryCheck::Change > > > Changes
 A collection of changes. More...
 
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< FlagFlags
 
- Protected Member Functions inherited from QgsGeometryCheck
QMap< QString, QgsFeatureIdsallLayerFeatureIds (const QMap< QString, QgsFeaturePool * > &featurePools) const
 Returns all layers and feature ids. More...
 
void deleteFeatureGeometryPart (const QMap< QString, QgsFeaturePool * > &featurePools, const QString &layerId, QgsFeature &feature, int partIdx, Changes &changes) const
 Deletes a part of a feature geometry. More...
 
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. More...
 
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. More...
 
double scaleFactor (const QPointer< QgsVectorLayer > &layer) const
 Determines the scale factor of a layer to the map coordinate reference system. More...
 
- Protected Attributes inherited from QgsGeometryCheck
QVariantMap mConfiguration
 
const QgsGeometryCheckContextmContext
 

Detailed Description

Checks if geometries are valid using the backend configured in the QGIS settings.

This does not offer any fixes but makes sure that all geometries are valid.

Since
QGIS 3.4

Definition at line 55 of file qgsgeometryisvalidcheck.h.

Constructor & Destructor Documentation

◆ QgsGeometryIsValidCheck()

QgsGeometryIsValidCheck::QgsGeometryIsValidCheck ( const QgsGeometryCheckContext context,
const QVariantMap &  configuration 
)
explicit

Creates a new is valid check with the provided context.

No options are supported in configuration.

Definition at line 22 of file qgsgeometryisvalidcheck.cpp.

Member Function Documentation

◆ checkType()

QgsGeometryCheck::CheckType QgsGeometryIsValidCheck::checkType ( ) const
inlineoverridevirtual

Returns the check type.

Since
QGIS 3.4

Implements QgsGeometryCheck.

Definition at line 70 of file qgsgeometryisvalidcheck.h.

◆ compatibleGeometryTypes()

QList< Qgis::GeometryType > QgsGeometryIsValidCheck::compatibleGeometryTypes ( ) const
overridevirtual

A list of geometry types for which this check can be performed.

Since
QGIS 3.4

Implements QgsGeometryCheck.

Definition at line 26 of file qgsgeometryisvalidcheck.cpp.

◆ description()

QString QgsGeometryIsValidCheck::description ( ) const
inlineoverridevirtual

Returns a human readable description for this check.

Since
QGIS 3.4

Implements QgsGeometryCheck.

Definition at line 68 of file qgsgeometryisvalidcheck.h.

◆ id()

QString QgsGeometryIsValidCheck::id ( ) const
inlineoverridevirtual

Returns an id for this check.

Since
QGIS 3.4

Implements QgsGeometryCheck.

Definition at line 69 of file qgsgeometryisvalidcheck.h.

◆ processGeometry()

QList< QgsSingleGeometryCheckError * > QgsGeometryIsValidCheck::processGeometry ( const QgsGeometry geometry) const
overridevirtual

Check the geometry for errors.

It may make use of configuration options.

Returns a list of QgsSingleGeometryCheckErrors, ownership is transferred to the caller. An empty list is returned for geometries without errors.

Since
QGIS 3.4

Implements QgsSingleGeometryCheck.

Definition at line 31 of file qgsgeometryisvalidcheck.cpp.

◆ resolutionMethods()

QStringList QgsGeometryIsValidCheck::resolutionMethods ( ) const
overridevirtual

Returns a list of descriptions for available resolutions for errors.

The index will be passed as method to

See also
fixError().
Deprecated:
since QGIS 3.12, use availableResolutionMethods() instead
Since
QGIS 3.4

Reimplemented from QgsGeometryCheck.

Definition at line 61 of file qgsgeometryisvalidcheck.cpp.


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