18 #ifndef QGS_GEOMETRY_OVERLAP_CHECK_H 19 #define QGS_GEOMETRY_OVERLAP_CHECK_H 38 : mLayerId( vl->id() )
39 , mLayerName( vl->name() )
43 QString
layerId()
const {
return mLayerId;}
64 const QVariant &value,
76 other->
layerId() == layerId() &&
80 std::fabs( value().toDouble() - other->
value().toDouble() ) < mCheck->context()->reducedTolerance;
95 if ( changes.value( mOverlappedFeature.layerId() ).keys().contains( mOverlappedFeature.featureId() ) )
102 QString description()
const override;
137 void collectErrors(
const QMap<QString, QgsFeaturePool *> &featurePools, QList<QgsGeometryCheckError *> &errors, QStringList &messages,
QgsFeedback *feedback,
const LayerFeatureIds &ids =
LayerFeatureIds() )
const override;
138 void fixError(
const QMap<QString, QgsFeaturePool *> &featurePools,
QgsGeometryCheckError *error,
int method,
const QMap<QString, int> &mergeAttributeIndices,
Changes &changes )
const override;
139 QStringList resolutionMethods()
const override;
141 QString description()
const override;
142 QString id()
const override;
143 QgsGeometryCheck::Flags flags()
const override;
147 static QString factoryDescription()
SIP_SKIP;
148 static QString factoryId()
SIP_SKIP;
149 static QgsGeometryCheck::Flags factoryFlags()
SIP_SKIP;
150 static QList<QgsWkbTypes::GeometryType> factoryCompatibleGeometryTypes()
SIP_SKIP;
156 const double mOverlapThresholdMapUnits;
160 #endif // QGS_GEOMETRY_OVERLAP_CHECK_H Subtract the overlap region from the polygon.
static bool pointsFuzzyEqual(const QgsPointXY &p1, const QgsPointXY &p2, double tol)
Determine whether two points are equal up to the specified tolerance.
bool closeMatch(QgsGeometryCheckError *other) const override
Check if this error is almost equal to other.
Checks if geometries overlap.
A class to represent a 2D point.
const QgsPointXY & location() const
The location of the error in map units.
QgsFeatureId featureId() const
CheckType
The type of a check.
A geometry is the spatial representation of a feature.
QList< QgsWkbTypes::GeometryType > compatibleGeometryTypes() const override
A list of geometry types for which this check can be performed.
QString layerName() const
Base class for feedback objects to be used for cancelation of something running in a worker thread...
Base configuration for geometry checks.
An error of a QgsGeometryOverlapCheck.
const OverlappedFeature & overlappedFeature() const
Returns the overlapped feature.
A layer feature combination to uniquely identify and access a feature in a set of layers...
This class implements a geometry check.
bool isEqual(QgsGeometryCheckError *other) const override
Check if this error is equal to other.
const QString & layerId() const
The id of the layer on which this error has been detected.
A list of layers and feature ids for each of these layers.
QgsGeometryCheck::CheckType checkType() const override
Returns the check type.
bool operator==(const OverlappedFeature &other) const
ResolutionMethod
Available resolution methods.
QMap< QString, QMap< QgsFeatureId, QList< QgsGeometryCheck::Change > > > Changes
A collection of changes.
virtual bool handleChanges(const QgsGeometryCheck::Changes &changes)
Apply a list of changes.
bool handleChanges(const QgsGeometryCheck::Changes &changes) override
Apply a list of changes.
QgsFeatureId featureId() const
The id of the feature on which this error has been detected.
This represents an error reported by a geometry check.
QVariant value() const
An additional value for the error.
OverlappedFeature(QgsVectorLayer *vl, QgsFeatureId fid)
Represents a vector layer which manages a vector based data sets.