Class: QgsMapToolCapture¶
-
class
qgis.gui.
QgsMapToolCapture
(canvas: QgsMapCanvas, cadDockWidget: QgsAdvancedDigitizingDockWidget, mode: QgsMapToolCapture.CaptureMode)¶ Bases:
QgsMapToolAdvancedDigitizing
constructor
- Parameters
canvas (QgsMapCanvas) –
cadDockWidget (QgsAdvancedDigitizingDockWidget) –
mode –
-
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
(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) –
-
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.
-
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