Class: QgsInternalGeometrySnapper

class qgis.analysis.QgsInternalGeometrySnapper(snapTolerance: float, mode: QgsGeometrySnapper.SnapMode = QgsGeometrySnapper.PreferNodes)

Bases: sip.wrapper

Constructor for QgsInternalGeometrySnapper. The snapTolerance and mode parameters dictate how geometries will be snapped by the snapper.


QgsInternalGeometrySnapper allows a set of geometries to be snapped to each other. It can be used to close gaps in layers.

To use QgsInternalGeometrySnapper, first construct the snapper using the desired snap parameters. Then, features are fed to to the snapper one-by-one by calling snapFeature(). Each feature passed by calling snapFeature() will be snapped to any features which have already been processed by the snapper.

After processing all desired features, the results can be fetched by calling snappedGeometries(). The returned QgsGeometryMap can be passed to QgsVectorDataProvider.changeGeometryValues() to save the snapped geometries back to the source layer.

New in version 3.0.

  • snapTolerance (float) –

  • mode

snapFeature(self, feature: QgsFeature) → QgsGeometry

Snaps a single feature’s geometry against all feature geometries already processed by calls to snapFeature() in this object, and returns the snapped geometry.


feature (QgsFeature) –

Return type


snappedGeometries(self) → object

Returns a QgsGeometryMap of all feature geometries snapped by this object.

Return type