Class: QgsMapToolCapture

class qgis.gui.QgsMapToolCapture(canvas: QgsMapCanvas, cadDockWidget: QgsAdvancedDigitizingDockWidget, mode: QgsMapToolCapture.CaptureMode)

Bases: QgsMapToolAdvancedDigitizing

constructor

Parameters
CaptureLine = 2
class CaptureMode

Bases: int

CaptureNone = 0
CapturePoint = 1
CapturePolygon = 3
activate(self)
addCurve(self, c: QgsCurve) → int

Adds a whole curve (e.g. circularstring) to the captured geometry. Curve must be in map CRS

Parameters

c (QgsCurve) –

Return type

int

addTopologicalPoints()
addVertex(self, point: QgsPointXY) → int

Adds a point to the rubber band (in map coordinates) and to the capture list (in layer coordinates)

Return type

int

Returns

0 in case of success, 1 if current layer is not a vector layer, 2 if coordinate transformation failed

addVertex(self, mapPoint: QgsPointXY, match: QgsPointLocator.Match) -> int Variant to supply more information in the case of snapping

Parameters
  • mapPoint – The vertex to add in map coordinates

  • match – Data about the snapping match. Can be an invalid match, if point not snapped.

New in version 2.14.

Parameters

point (QgsPointXY) –

cadCanvasMoveEvent(self, e: QgsMapMouseEvent)
Parameters

e (QgsMapMouseEvent) –

captureCurve(self) → QgsCompoundCurve

Gets the capture curve

Return type

QgsCompoundCurve

Returns

Capture curve

childEvent()
clean(self)

convenient method to clean members

clearCurve(self)

Clear capture curve.

New in version 3.0.

closePolygon(self)

Close an open polygon

connectNotify()
createGeometryRubberBand()
createRubberBand()
currentVectorLayer()
customEvent()
deactivate(self)
deleteTempRubberBand(self)

Clean a temporary rubberband

digitizingFillColor()
digitizingStrokeColor()
digitizingStrokeWidth()
disconnectNotify()
fetchLayerPoint(self, match: QgsPointLocator.Match, layerPoint: QgsPoint) → int

Fetches the original point from the source layer if it has the same CRS as the current layer.

Return type

int

Returns

0 in case of success, 1 if not applicable (CRS mismatch), 2 in case of failure

New in version 2.14.

Parameters
isCapturing(self) → bool

Are we currently capturing?

Return type

bool

Returns

Is the tool in capture mode?

isSignalConnected()
keyPressEvent(self, e: QKeyEvent)

Intercept key events like Esc or Del to delete the last point

Parameters

e (QKeyEvent) – key event

mapPoint(self, e: QgsMapMouseEvent) → QgsPoint

Creates a QgsPoint with ZM support if necessary (according to the WkbType of the current layer). If the point is snapped, then the Z value is took from the snapped point.

Parameters

e (QgsMapMouseEvent) – A mouse event

Returns

a point with ZM support if necessary

New in version 3.0.

mapPoint(self, point: QgsPointXY) -> QgsPoint Creates a QgsPoint with ZM support if necessary (according to the WkbType of the current layer).

Parameters

point – A point in 2D

Return type

QgsPoint

Returns

a point with ZM support if necessary

New in version 3.0.

mode(self) → QgsMapToolCapture.CaptureMode

The capture mode

Return type

QgsMapToolCapture.CaptureMode

Returns

Capture mode

nextPoint(self, mapPoint: QgsPoint, layerPoint: QgsPoint) → int

Converts a map point to layer coordinates

Parameters

mapPoint (QgsPoint) – the point in map coordinates

param[in,out] layerPoint the point in layer coordinates

Returns

0 in case of success 1 if the current layer is None or not a vector layer 2 if the transformation failed

nextPoint(self, p: QPoint, layerPoint: QgsPoint, mapPoint: QgsPoint) -> int Converts a point to map coordinates and layer coordinates

Parameters

p – the input point

param[in,out] layerPoint the point in layer coordinates param[in,out] mapPoint the point in map coordinates

Return type

int

Returns

0 in case of success 1 if the current layer is None or not a vector layer 2 if the transformation failed

Parameters

layerPoint (QgsPoint) –

notifyNotEditableLayer()
notifyNotVectorLayer()
points(self) → List[QgsPointXY]

List of digitized points

Return type

List[QgsPointXY]

Returns

List of points

Deprecated since version QGIS: 3.12 - will be removed in QGIS 4.0. Use the variant returns QgsPoint objects instead of QgsPointXY.

pointsZM(self) → List[QgsPoint]

List of digitized points

Return type

List[QgsPoint]

Returns

List of points

New in version 3.12.

receivers()
sender()
senderSignalIndex()
setAdvancedDigitizingAllowed()
setAutoSnapEnabled()
setPoints(self, pointList: Iterable[QgsPointXY])

Set the points on which to work

Parameters

pointList (Iterable[QgsPointXY]) – A list of points

Deprecated since version QGIS: 3.12 - will be removed in QGIS 4.0. Use the variant which accepts QgsPoint objects instead of QgsPointXY.

setPoints(self, pointList: Iterable[QgsPoint]) Set the points on which to work

Parameters

pointList – A list of points

New in version 3.12.

size(self) → int

Number of points digitized

Return type

int

Returns

Number of points

snappingMatches(self) → List[QgsPointLocator.Match]

Returns a list of matches for each point on the captureCurve.

New in version 3.0.

Return type

List[QgsPointLocator.Match]

startCapturing(self)

Start capturing

stopCapturing(self)

Stop capturing

takeRubberBand(self) → QgsRubberBand

Returns the rubberBand currently owned by this map tool and transfers ownership to the caller.

New in version 3.8.

Return type

QgsRubberBand

timerEvent()
toCanvasCoordinates()
toLayerCoordinates()
toMapCoordinates()
toMapCoordinatesV2()
undo(self)

Removes the last vertex from mRubberBand and mCaptureList