Class: QgsTracer

class qgis.core.QgsTracer

Bases: PyQt5.QtCore.QObject

Constructor for QgsTracer.

Utility class that construct a planar graph from the input vector layers and provides shortest path search for tracing of existing features.

New in version 2.14: Methods

childEvent
configure Allows derived classes to setup the settings just before the tracer is initialized.
connectNotify
customEvent
destinationCrs Returns the CRS used for tracing.
disconnectNotify
extent Gets extent to which graph’s features will be limited (empty extent means no limit)
findShortestPath Given two points, find the shortest path and return points on the way.
hasTopologyProblem Whether there was an error during graph creation due to noding exception, indicating some input data topology problems
init Build the internal data structures.
invalidateGraph Destroy the existing graph structure if any (de-initialize)
isInitialized Whether the internal data structures have been initialized
isPointSnapped Find out whether the point is snapped to a vertex or edge (i.e.
isSignalConnected
layers Gets layers used for tracing
maxFeatureCount Gets maximum possible number of features in graph.
offset Gets offset in map units that should be applied to the traced paths returned from findShortestPath().
offsetParameters Gets extra parameters for offset curve algorithm (used when offset is non-zero)
receivers
sender
senderSignalIndex
setDestinationCrs Sets the crs and transform context used for tracing.
setExtent Sets extent to which graph’s features will be limited (empty extent means no limit)
setLayers Sets layers used for tracing
setMaxFeatureCount Gets maximum possible number of features in graph.
setOffset Set offset in map units that should be applied to the traced paths returned from findShortestPath().
setOffsetParameters Set extra parameters for offset curve algorithm (used when offset is non-zero)
setRenderContext Sets the renderContext used for tracing only on visible features.
timerEvent

Signals

Attributes

ErrNoPath
ErrNone
ErrPoint1
ErrPoint2
ErrTooManyFeatures
ErrNoPath = 4
ErrNone = 0
ErrPoint1 = 2
ErrPoint2 = 3
ErrTooManyFeatures = 1
class PathError

Bases: int

childEvent()
configure(self)

Allows derived classes to setup the settings just before the tracer is initialized. This allows the configuration to be set in a lazy way only when it is really necessary. Default implementation does nothing.

connectNotify()
customEvent()
destinationCrs(self) → QgsCoordinateReferenceSystem

Returns the CRS used for tracing.

disconnectNotify()
extent(self) → QgsRectangle

Gets extent to which graph’s features will be limited (empty extent means no limit)

findShortestPath(self, p1: QgsPointXY, p2: QgsPointXY) → Tuple[List[QgsPointXY], QgsTracer.PathError]

Given two points, find the shortest path and return points on the way. The optional “error” argument may receive error code (PathError enum) if it is not null

Returns:array of points - trace of linestrings of other features (empty array one error)
hasTopologyProblem(self) → bool

Whether there was an error during graph creation due to noding exception, indicating some input data topology problems

New in version 2.16.

init(self) → bool

Build the internal data structures. This may take some time depending on how big the input layers are. It is not necessary to call this method explicitly - it will be called by findShortestPath() if necessary.

invalidateGraph(self)

Destroy the existing graph structure if any (de-initialize)

isInitialized(self) → bool

Whether the internal data structures have been initialized

isPointSnapped(self, pt: QgsPointXY) → bool

Find out whether the point is snapped to a vertex or edge (i.e. it can be used for tracing start/stop)

isSignalConnected()
layers(self) → object

Gets layers used for tracing

maxFeatureCount(self) → int

Gets maximum possible number of features in graph. If the number is exceeded, graph is not created.

offset(self) → float

Gets offset in map units that should be applied to the traced paths returned from findShortestPath(). Positive offset for right side, negative offset for left side.

New in version 3.0.

offsetParameters(self) → Tuple[int, int, float]

Gets extra parameters for offset curve algorithm (used when offset is non-zero)

New in version 3.0.

receivers()
sender()
senderSignalIndex()
setDestinationCrs(self, crs: QgsCoordinateReferenceSystem, context: QgsCoordinateTransformContext)

Sets the crs and transform context used for tracing.

See also

destinationCrs()

setExtent(self, extent: QgsRectangle)

Sets extent to which graph’s features will be limited (empty extent means no limit)

setLayers(self, layers: Iterable[QgsVectorLayer])

Sets layers used for tracing

setMaxFeatureCount(self, count: int)

Gets maximum possible number of features in graph. If the number is exceeded, graph is not created.

setOffset(self, offset: float)

Set offset in map units that should be applied to the traced paths returned from findShortestPath(). Positive offset for right side, negative offset for left side.

New in version 3.0.

setOffsetParameters(self, quadSegments: int, joinStyle: int, miterLimit: float)

Set extra parameters for offset curve algorithm (used when offset is non-zero)

New in version 3.0.

setRenderContext(self, renderContext: QgsRenderContext)

Sets the renderContext used for tracing only on visible features.

New in version 3.4.

timerEvent()