Class: QgsMapToolCapture¶
- class qgis.gui.QgsMapToolCapture(canvas: QgsMapCanvas, cadDockWidget: QgsAdvancedDigitizingDockWidget, mode: QgsMapToolCapture.CaptureMode)¶
Bases:
QgsMapToolAdvancedDigitizing
constructor
Methods
Adds a whole curve (e.g.
Adds a list of
vertices
to other features to keep topology up to date, e.g.Adds a point to the rubber band (in map coordinates) and to the capture list (in layer coordinates)
- param e
Returns flags containing the supported capabilities
Gets the capture curve
convenient method to clean members
Clear capture curve.
Close an open polygon
Creates a rubber band with the color/line width from the QGIS settings.
Returns the current vector layer of the map canvas or 0
Clean a temporary rubberband
Returns fill color for rubber bands (from global settings)
Returns stroke color for rubber bands (from global settings)
Returns stroke width for rubber bands (from global settings)
Fetches the original point from the source layer if it has the same CRS as the current layer.
Are we currently capturing?
Intercept key events like Esc or Del to delete the last point
Creates a
QgsPoint
with ZM support if necessary (according to the WkbType of the current layer).The capture mode
Converts a map point to layer coordinates
Display a timed message bar noting the active vector layer is not editable.
Display a timed message bar noting the active layer is not vector.
List of digitized points
List of digitized points
Sets whether functionality of advanced digitizing dock widget is currently allowed.
Sets whether mouse events (press/move/release) should automatically try to snap mouse position This method is protected because it should be a decision of the map tool and not from elsewhere.
Enable the digitizing with curve
Set the points on which to work
Number of points digitized
Returns a list of matches for each point on the captureCurve.
Start capturing
Stop capturing
Returns the rubberBand currently owned by this map tool and transfers ownership to the caller.
transformation from map coordinates to screen coordinates
transformation from screen coordinates to layer's coordinates
transformation from screen coordinates to map coordinates
transformation from layer's coordinates to map coordinates (which is different in case reprojection is used)
Removes the last vertex from mRubberBand and mCaptureList
Attributes
- class Capabilities¶
- class Capabilities(Union[QgsMapToolCapture.Capabilities, QgsMapToolCapture.Capability]) None
- class Capabilities(QgsMapToolCapture.Capabilities) None
Bases:
sip.wrapper
- class Capability¶
Bases:
int
- CaptureLine = 2¶
- class CaptureMode¶
Bases:
int
- CaptureNone = 0¶
- CapturePoint = 1¶
- CapturePolygon = 3¶
- NoCapabilities = 0¶
- SupportsCurves = 1¶
- 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(self, vertices: Iterable[QgsPointXY]) QgsMapToolEdit.TopologicalResult ¶
Adds a list of
vertices
to other features to keep topology up to date, e.g. to neighbouring polygons. Thevertices
list specifies a set of topological points to add, in the layer’s coordinate reference system.Deprecated since version QGIS: 3.12 - will be removed in QGIS 4.0. Use the variant which accepts
QgsPoint
objects instead of QgsPointXY.addTopologicalPoints(self, vertices: Iterable[QgsPoint]) -> QgsMapToolEdit.TopologicalResult Adds a list of
vertices
to other features to keep topology up to date, e.g. to neighbouring polygons. Thevertices
list specifies a set of topological points to add, in the layer’s coordinate reference system.New in version 3.10.
- 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) –
- capabilities(self) QgsMapToolCapture.Capabilities ¶
Returns flags containing the supported capabilities
- Return type
- captureCurve(self) QgsCompoundCurve ¶
Gets the capture curve
- Return type
- Returns
Capture curve
- childEvent(self, QChildEvent)¶
- clean(self)¶
convenient method to clean members
- clearCurve(self)¶
Clear capture curve.
New in version 3.0.
- closePolygon(self)¶
Close an open polygon
- connectNotify(self, QMetaMethod)¶
- createGeometryRubberBand(self, geometryType: QgsWkbTypes.GeometryType = QgsWkbTypes.LineGeometry, alternativeBand: bool = False) QgsGeometryRubberBand ¶
- createRubberBand(self, geometryType: QgsWkbTypes.GeometryType = QgsWkbTypes.LineGeometry, alternativeBand: bool = False) QgsRubberBand ¶
Creates a rubber band with the color/line width from the QGIS settings. The caller takes ownership of the returned object
- Parameters
geometryType –
alternativeBand – if
True
, rubber band will be set with more transparency and a dash pattern. default isFalse
.
- currentVectorLayer(self) QgsVectorLayer ¶
Returns the current vector layer of the map canvas or 0
- customEvent(self, QEvent)¶
- deactivate(self)¶
- deleteTempRubberBand(self)¶
Clean a temporary rubberband
- digitizingFillColor() QColor ¶
Returns fill color for rubber bands (from global settings)
- digitizingStrokeColor() QColor ¶
Returns stroke color for rubber bands (from global settings)
- digitizingStrokeWidth() int ¶
Returns stroke width for rubber bands (from global settings)
- disconnectNotify(self, QMetaMethod)¶
- 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
match (QgsPointLocator.Match) –
layerPoint (QgsPoint) –
- isCapturing(self) bool ¶
Are we currently capturing?
- Return type
bool
- Returns
Is the tool in capture mode?
- isSignalConnected(self, QMetaMethod) bool ¶
- 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 aQgsPoint
with ZM support if necessary (according to the WkbType of the current layer).- Parameters
point – A point in 2D
- Return type
- Returns
a point with ZM support if necessary
New in version 3.0.
- mode(self) QgsMapToolCapture.CaptureMode ¶
The capture mode
- Return type
- 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(self)¶
Display a timed message bar noting the active vector layer is not editable.
- notifyNotVectorLayer(self)¶
Display a timed message bar noting the active layer is not vector.
- 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(self, PYQT_SIGNAL) int ¶
- sender(self) QObject ¶
- senderSignalIndex(self) int ¶
- setAdvancedDigitizingAllowed(self, allowed: bool)¶
Sets whether functionality of advanced digitizing dock widget is currently allowed. This method is protected because it should be a decision of the map tool and not from elsewhere. sa
isAdvancedDigitizingAllowed()
New in version 3.0.
- setAutoSnapEnabled(self, enabled: bool)¶
Sets whether mouse events (press/move/release) should automatically try to snap mouse position This method is protected because it should be a decision of the map tool and not from elsewhere. sa
isAutoSnapEnabled()
New in version 3.0.
- setCircularDigitizingEnabled(self, enable: bool)¶
Enable the digitizing with curve
- Parameters
enable (bool) –
- 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
- timerEvent(self, QTimerEvent)¶
- toCanvasCoordinates(self, point: QgsPointXY) QPoint ¶
transformation from map coordinates to screen coordinates
- toLayerCoordinates(self, layer: QgsMapLayer, point: QPoint) QgsPointXY ¶
transformation from screen coordinates to layer’s coordinates
toLayerCoordinates(self, layer:
QgsMapLayer
, point:QgsPointXY
) -> QgsPointXY transformation from map coordinates to layer’s coordinatestoLayerCoordinates(self, layer:
QgsMapLayer
, rect:QgsRectangle
) -> QgsRectangle trnasformation of the rect from map coordinates to layer’s coordinates
- toMapCoordinates(self, point: QPoint) QgsPointXY ¶
transformation from screen coordinates to map coordinates
toMapCoordinates(self, layer:
QgsMapLayer
, point:QgsPointXY
) -> QgsPointXY transformation from layer’s coordinates to map coordinates (which is different in case reprojection is used)
- toMapCoordinatesV2(self, layer: QgsMapLayer, point: QgsPoint) QgsPoint ¶
transformation from layer’s coordinates to map coordinates (which is different in case reprojection is used)
Note
available in Python bindings as toMapCoordinatesV2
- undo(self)¶
Removes the last vertex from mRubberBand and mCaptureList