Class: QgsSnappingConfig

class qgis.core.QgsSnappingConfig

Bases: sip.wrapper

This is a container for configuration of the snapping of the project

New in version 3.0.

QgsSnappingConfig(project: QgsProject = None) Constructor with default parameters defined in global settings

QgsSnappingConfig(QgsSnappingConfig)

Methods

addLayers

Adds the specified layers as individual layers to the configuration with standard configuration.

clearIndividualLayerSettings

Removes all individual layer snapping settings

enabled

Returns if snapping is enabled

individualLayerSettings

Returns individual snapping settings for all layers

intersectionSnapping

Returns if the snapping on intersection is enabled

maximumScale

Returns the max scale (i.e.

minimumScale

Returns the min scale (i.e.

mode

Returns the mode (all layers, active layer, per layer settings)

project

The project from which the snapped layers should be retrieved

readProject

Reads the configuration from the specified QGIS project document.

removeLayers

Removes the specified layers from the individual layer configuration.

reset

reset to default values

scaleDependencyMode

Returns the scale dependency mode

selfSnapping

Returns if self snapping (snapping to the currently digitized feature) is enabled

setEnabled

enables the snapping

setIndividualLayerSettings

Sets individual layer snappings settings (applied if mode is AdvancedConfiguration)

setIntersectionSnapping

Sets if the snapping on intersection is enabled

setMaximumScale

Set the max scale on which snapping is enabled, 0.0 disable scale limit

setMinimumScale

Sets the min scale on which snapping is enabled, 0.0 disable scale limit

setMode

define the mode of snapping

setProject

The project from which the snapped layers should be retrieved

setScaleDependencyMode

Set the scale dependency mode

setSelfSnapping

Sets if self snapping (snapping to the currently digitized feature) is enabled

setTolerance

Sets the tolerance

setType

define the type of snapping

setTypeFlag

define the type of snapping

setUnits

Sets the type of units

snappingTypeFlagToIcon

Convenient method to return an icon corresponding to the enum type QgsSnappingConfig.SnappingTypeFlag.

snappingTypeFlagToString

Convenient method to returns the translated name of the enum type QgsSnappingConfig.SnappingTypeFlag.

tolerance

Returns the tolerance

type

Returns the flags type (vertices | segments | area | centroid | middle)

typeFlag

Returns the flags type (vertices | segments | area | centroid | middle)

units

Returns the type of units

writeProject

Writes the configuration to the specified QGIS project document.

Attributes

ActiveLayer

AdvancedConfiguration

AllLayers

AreaFlag

CentroidFlag

Disabled

Global

LineEndpointFlag

MiddleOfSegmentFlag

NoSnapFlag

PerLayer

Segment

SegmentFlag

Vertex

VertexAndSegment

VertexFlag

staticMetaObject

ActiveLayer = 1
AdvancedConfiguration = 3
AllLayers = 2
AreaFlag = 4
CentroidFlag = 8
Disabled = 0
Global = 1
class IndividualLayerSettings

Bases: sip.wrapper

This is a container of advanced configuration (per layer) of the snapping of the project

New in version 3.0.

QgsSnappingConfig.IndividualLayerSettings(enabled: bool, type: QgsSnappingConfig.SnappingType, tolerance: float, units: QgsTolerance.UnitType) IndividualLayerSettings

Parameters:
  • enabled

  • type

  • tolerance

  • units

Deprecated since version QGIS: 3.12 use the method with SnappingTypeFlag instead.

QgsSnappingConfig.IndividualLayerSettings(enabled: bool, type: Union[QgsSnappingConfig.SnappingTypeFlag, QgsSnappingConfig.SnappingTypes], tolerance: float, units: QgsTolerance.UnitType, minScale: float = 0, maxScale: float = 0) IndividualLayerSettings

Parameters:
  • enabled

  • type

  • tolerance

  • units

  • minScale – 0.0 disable scale limit

  • maxScale – 0.0 disable scale limit

New in version 3.12.

QgsSnappingConfig.IndividualLayerSettings() Constructs an invalid setting

QgsSnappingConfig.IndividualLayerSettings(QgsSnappingConfig.IndividualLayerSettings)

enabled(self) bool

Returns if snapping is enabled

Return type:

bool

maximumScale(self) float

Returns max scale on which snapping is limited

New in version 3.14.

Return type:

float

minimumScale(self) float

Returns minimum scale on which snapping is limited

New in version 3.14.

Return type:

float

setEnabled(self, enabled: bool)

enables the snapping

Parameters:

enabled (bool) –

setMaximumScale(self, maxScale: float)

Sets the max scale value on which snapping is used, 0.0 disable scale limit

New in version 3.14.

Parameters:

maxScale (float) –

setMinimumScale(self, minScale: float)

Sets the min scale value on which snapping is used, 0.0 disable scale limit

New in version 3.14.

Parameters:

minScale (float) –

setTolerance(self, tolerance: float)

Sets the tolerance

Parameters:

tolerance (float) –

setType(self, type: QgsSnappingConfig.SnappingType)

define the type of snapping

Deprecated since version QGIS: 3.12 use setTypeFlag instead.

Parameters:

type (QgsSnappingConfig.SnappingType) –

setTypeFlag(self, type: QgsSnappingConfig.SnappingTypeFlag | QgsSnappingConfig.SnappingTypes)

define the type of snapping

New in version 3.12.

Parameters:

type (Union[QgsSnappingConfig.SnappingTypeFlag) –

setUnits(self, units: QgsTolerance.UnitType)

Sets the type of units

Parameters:

units (QgsTolerance.UnitType) –

tolerance(self) float

Returns the tolerance

Return type:

float

type(self) QgsSnappingConfig.SnappingType

Returns the flags type (vertices | segments | area | centroid | middle)

Deprecated since version QGIS: 3.12 use typeFlag instead.

Return type:

QgsSnappingConfig.SnappingType

typeFlag(self) QgsSnappingConfig.SnappingTypeFlag

Returns the flags type (vertices | segments | area | centroid | middle)

New in version 3.12.

Return type:

QgsSnappingConfig.SnappingTypeFlag

units(self) QgsTolerance.UnitType

Returns the type of units

Return type:

QgsTolerance.UnitType

valid(self) bool

Returns if settings are valid

Return type:

bool

LineEndpointFlag = 32
MiddleOfSegmentFlag = 16
NoSnapFlag = 0
PerLayer = 2
class ScaleDependencyMode

Bases: int

baseClass

alias of QgsSnappingConfig

Segment = 3
SegmentFlag = 2
class SnappingMode

Bases: int

baseClass

alias of QgsSnappingConfig

class SnappingType

Bases: int

class SnappingTypeFlag
class SnappingTypeFlag(Union[QgsSnappingConfig.SnappingTypeFlag, QgsSnappingConfig.SnappingTypes])
class SnappingTypeFlag(QgsSnappingConfig.SnappingTypeFlag)

Bases: sip.wrapper

baseClass

alias of QgsSnappingConfig

class SnappingTypes

Bases: int

baseClass

alias of QgsSnappingConfig

Vertex = 1
VertexAndSegment = 2
VertexFlag = 1
addLayers(self, layers: Iterable[QgsMapLayer]) bool

Adds the specified layers as individual layers to the configuration with standard configuration. When implementing a long-living QgsSnappingConfig (like the one in QgsProject) it is best to directly feed this with information from the layer registry.

Return type:

bool

Returns:

True if changes have been done.

New in version 3.0.

Parameters:

layers (Iterable[QgsMapLayer]) –

clearIndividualLayerSettings(self)

Removes all individual layer snapping settings

New in version 3.16.

enabled(self) bool

Returns if snapping is enabled

Return type:

bool

individualLayerSettings(self) Dict

Returns individual snapping settings for all layers

individualLayerSettings(self, vl: QgsVectorLayer) -> QgsSnappingConfig.IndividualLayerSettings Returns individual layer snappings settings (applied if mode is AdvancedConfiguration)

Return type:

Dict

intersectionSnapping(self) bool

Returns if the snapping on intersection is enabled

Return type:

bool

maximumScale(self) float

Returns the max scale (i.e. most "zoomed in" scale)

New in version 3.14.

Return type:

float

minimumScale(self) float

Returns the min scale (i.e. most "zoomed out" scale)

New in version 3.14.

Return type:

float

mode(self) QgsSnappingConfig.SnappingMode

Returns the mode (all layers, active layer, per layer settings)

Return type:

QgsSnappingConfig.SnappingMode

project(self) QgsProject

The project from which the snapped layers should be retrieved

New in version 3.0.

Return type:

QgsProject

readProject(self, doc: QDomDocument)

Reads the configuration from the specified QGIS project document.

New in version 3.0.

Parameters:

doc (QDomDocument) –

removeLayers(self, layers: Iterable[QgsMapLayer]) bool

Removes the specified layers from the individual layer configuration. When implementing a long-living QgsSnappingConfig (like the one in QgsProject) it is best to directly feed this with information from the layer registry.

Return type:

bool

Returns:

True if changes have been done.

New in version 3.0.

Parameters:

layers (Iterable[QgsMapLayer]) –

reset(self)

reset to default values

scaleDependencyMode(self) QgsSnappingConfig.ScaleDependencyMode

Returns the scale dependency mode

New in version 3.14.

Return type:

QgsSnappingConfig.ScaleDependencyMode

selfSnapping(self) bool

Returns if self snapping (snapping to the currently digitized feature) is enabled

New in version 3.14.

Return type:

bool

setEnabled(self, enabled: bool)

enables the snapping

Parameters:

enabled (bool) –

setIndividualLayerSettings(self, vl: QgsVectorLayer, individualLayerSettings: QgsSnappingConfig.IndividualLayerSettings)

Sets individual layer snappings settings (applied if mode is AdvancedConfiguration)

Parameters:
setIntersectionSnapping(self, enabled: bool)

Sets if the snapping on intersection is enabled

Parameters:

enabled (bool) –

setMaximumScale(self, maxScale: float)

Set the max scale on which snapping is enabled, 0.0 disable scale limit

New in version 3.14.

Parameters:

maxScale (float) –

setMinimumScale(self, minScale: float)

Sets the min scale on which snapping is enabled, 0.0 disable scale limit

New in version 3.14.

Parameters:

minScale (float) –

setMode(self, mode: QgsSnappingConfig.SnappingMode)

define the mode of snapping

Parameters:

mode (QgsSnappingConfig.SnappingMode) –

setProject(self, project: QgsProject)

The project from which the snapped layers should be retrieved

New in version 3.0.

Parameters:

project (QgsProject) –

setScaleDependencyMode(self, mode: QgsSnappingConfig.ScaleDependencyMode)

Set the scale dependency mode

New in version 3.14.

Parameters:

mode (QgsSnappingConfig.ScaleDependencyMode) –

setSelfSnapping(self, enabled: bool)

Sets if self snapping (snapping to the currently digitized feature) is enabled

New in version 3.14.

Parameters:

enabled (bool) –

setTolerance(self, tolerance: float)

Sets the tolerance

Parameters:

tolerance (float) –

setType(self, type: QgsSnappingConfig.SnappingType)

define the type of snapping

Deprecated since version QGIS: 3.12 use setTypeFlag instead.

Parameters:

type (QgsSnappingConfig.SnappingType) –

setTypeFlag(self, type: QgsSnappingConfig.SnappingTypeFlag | QgsSnappingConfig.SnappingTypes)

define the type of snapping

New in version 3.12.

Parameters:

type (Union[QgsSnappingConfig.SnappingTypeFlag) –

setUnits(self, units: QgsTolerance.UnitType)

Sets the type of units

Parameters:

units (QgsTolerance.UnitType) –

snappingTypeFlagToIcon(type: QgsSnappingConfig.SnappingTypeFlag | QgsSnappingConfig.SnappingTypes) QIcon

Convenient method to return an icon corresponding to the enum type QgsSnappingConfig.SnappingTypeFlag.

New in version 3.20.

Parameters:

type (Union[QgsSnappingConfig.SnappingTypeFlag) –

Return type:

QIcon

snappingTypeFlagToString(type: QgsSnappingConfig.SnappingTypeFlag | QgsSnappingConfig.SnappingTypes) str

Convenient method to returns the translated name of the enum type QgsSnappingConfig.SnappingTypeFlag.

New in version 3.12.

Parameters:

type (Union[QgsSnappingConfig.SnappingTypeFlag) –

Return type:

str

staticMetaObject = <PyQt5.QtCore.QMetaObject object>
tolerance(self) float

Returns the tolerance

Return type:

float

type(self) QgsSnappingConfig.SnappingType

Returns the flags type (vertices | segments | area | centroid | middle)

Deprecated since version QGIS: 3.12 use typeFlag instead.

Return type:

QgsSnappingConfig.SnappingType

typeFlag(self) QgsSnappingConfig.SnappingTypeFlag

Returns the flags type (vertices | segments | area | centroid | middle)

New in version 3.12.

Return type:

QgsSnappingConfig.SnappingTypeFlag

units(self) QgsTolerance.UnitType

Returns the type of units

Return type:

QgsTolerance.UnitType

writeProject(self, doc: QDomDocument)

Writes the configuration to the specified QGIS project document.

New in version 3.0.

Parameters:

doc (QDomDocument) –