18#ifndef QGS_GEOMETRY_DUPLICATE_CHECK_H
19#define QGS_GEOMETRY_DUPLICATE_CHECK_H
36 const QMap<QString, QgsFeaturePool *> &featurePools,
37 const QMap<QString, QList<QgsFeatureId>> &duplicates )
39 , mDuplicates( duplicates )
43 QMap<QString, QList<QgsFeatureId>>
duplicates()
const {
return mDuplicates; }
56 QMap<QString, QList<QgsFeatureId>> mDuplicates;
58 static QString duplicatesString(
const QMap<QString, QgsFeaturePool *> &featurePools,
const QMap<QString, QList<QgsFeatureId>> &duplicates );
71 void collectErrors(
const QMap<QString, QgsFeaturePool *> &featurePools, QList<QgsGeometryCheckError *> &errors, QStringList &messages,
QgsFeedback *feedback,
const LayerFeatureIds &ids = LayerFeatureIds() )
const override;
72 void fixError(
const QMap<QString, QgsFeaturePool *> &featurePools,
QgsGeometryCheckError *error,
int method,
const QMap<QString, int> &mergeAttributeIndices, Changes &changes )
const override;
75 Q_DECL_DEPRECATED QStringList resolutionMethods()
const override;
76 QString
description()
const override {
return factoryDescription(); }
77 QString
id()
const override {
return factoryId(); }
80 static QList<Qgis::GeometryType>
factoryCompatibleGeometryTypes() {
return {Qgis::GeometryType::Point, Qgis::GeometryType::Line, Qgis::GeometryType::Polygon}; }
83 static QString factoryId();
Base class for feedback objects to be used for cancellation of something running in a worker thread.
Base configuration for geometry checks.
This represents an error reported by a geometry check.
QgsFeatureId featureId() const
The id of the feature on which this error has been detected.
const QgsGeometryCheck * check() const
The geometry check that created this error.
const QString & layerId() const
The id of the layer on which this error has been detected.
This class implements a geometry check.
CheckType
The type of a check.
A layer feature combination to uniquely identify and access a feature in a set of layers.
A duplicate geometry check error.
bool isEqual(QgsGeometryCheckError *other) const override
Returns if the other error is equivalent.
QMap< QString, QList< QgsFeatureId > > duplicates() const
Returns the duplicates.
QgsGeometryDuplicateCheckError(const QgsGeometryCheck *check, const QgsGeometryCheckerUtils::LayerFeature &layerFeature, const QgsPointXY &errorLocation, const QMap< QString, QgsFeaturePool * > &featurePools, const QMap< QString, QList< QgsFeatureId > > &duplicates)
Constructor.
A duplicate geometry check.
static bool factoryIsCompatible(QgsVectorLayer *layer)
static QList< Qgis::GeometryType > factoryCompatibleGeometryTypes()
QList< Qgis::GeometryType > compatibleGeometryTypes() const override
A list of geometry types for which this check can be performed.
QgsGeometryCheck::CheckType checkType() const override
Returns the check type.
static QString factoryDescription()
QString id() const override
Returns an id for this check.
QString description() const override
Returns a human readable description for this check.
QgsGeometryDuplicateCheck(QgsGeometryCheckContext *context, const QVariantMap &configuration)
A class to represent a 2D point.
Represents a vector layer which manages a vector based data sets.
Utility class for identifying a unique vertex within a geometry.