Class: QgsMapToolIdentifyFeature¶
-
class
qgis.gui.
QgsMapToolIdentifyFeature
(canvas: QgsMapCanvas, vl: QgsVectorLayer = None)¶ Bases:
QgsMapToolIdentify
QgsMapToolIdentifyFeature
is a map tool to identify a feature on a chosen layer- Parameters
canvas (QgsMapCanvas) – the map canvas
vl (
QgsVectorLayer
= None) – the vector layer. The map tool can be initialized without any layer and can be set afterward.
The
QgsMapToolIdentifyFeature
class is a map tool to identify a feature on a chosen layer. Once the map tool is enable, user can click on the map canvas to identify a feature. A signal will then be emitted.Methods
- param e
Returns derived attributes map for a clicked point in map coordinates.
Performs the identification.
Call the right method depending on layer type
Identifies data from active scalar and vector dataset from the mesh layer
- param e
Clears canvas properties overrides previously set with setCanvasPropertiesOverrides()
Overrides some map canvas properties inside the map tool for the upcoming identify requests.
change the layer used by the map tool to identify
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)
Signals
featureIdentified(self,
QgsFeature
) [signal] featureIdentified(self, int) [signal]-
canvasReleaseEvent
(self, e: QgsMapMouseEvent)¶ - Parameters
e (QgsMapMouseEvent) –
-
childEvent
(self, QChildEvent)¶
-
connectNotify
(self, QMetaMethod)¶
-
customEvent
(self, QEvent)¶
-
derivedAttributesForPoint
(self, point: QgsPoint) → Dict[str, str]¶ Returns derived attributes map for a clicked point in map coordinates. May be 2D or 3D point.
-
disconnectNotify
(self, QMetaMethod)¶
-
featureIdentified
¶ featureIdentified(self,
QgsFeature
) [signal] featureIdentified(self, int) [signal]
-
identify
(self, x: int, y: int, layerList: Iterable[QgsMapLayer] = [], mode: QgsMapToolIdentify.IdentifyMode = QgsMapToolIdentify.DefaultQgsSetting) → List[QgsMapToolIdentify.IdentifyResult]¶ Performs the identification.
- Parameters
x – x coordinates of mouseEvent
y – y coordinates of mouseEvent
layerList – Performs the identification within the given list of layers. Default value is an empty list, i.e. uses all the layers.
mode – Identification mode. Can use Qgis default settings or a defined mode. Default mode is DefaultQgsSetting.
- Returns
a list of IdentifyResult*
identify(self, x: int, y: int, mode: QgsMapToolIdentify.IdentifyMode, layerType: Union[QgsMapToolIdentify.LayerType, QgsMapToolIdentify.Type] = QgsMapToolIdentify.AllLayers) -> List[QgsMapToolIdentify.IdentifyResult] Performs the identification. To avoid being forced to specify IdentifyMode with a list of layers this has been made private and two publics methods are offered
- Parameters
x – x coordinates of mouseEvent
y – y coordinates of mouseEvent
mode – Identification mode. Can use Qgis default settings or a defined mode.
layerType – Only performs identification in a certain type of layers (raster, vector, mesh). Default value is AllLayers.
- Returns
a list of IdentifyResult
identify(self, geometry:
QgsGeometry
, mode: QgsMapToolIdentify.IdentifyMode, layerType: Union[QgsMapToolIdentify.LayerType, QgsMapToolIdentify.Type]) -> List[QgsMapToolIdentify.IdentifyResult] Performs identification based on a geometry (in map coordinates)identify(self, geometry:
QgsGeometry
, mode: QgsMapToolIdentify.IdentifyMode, layerList: Iterable[QgsMapLayer], layerType: Union[QgsMapToolIdentify.LayerType, QgsMapToolIdentify.Type]) -> List[QgsMapToolIdentify.IdentifyResult] Performs identification based on a geometry (in map coordinates)identify(self, x: int, y: int, mode: QgsMapToolIdentify.IdentifyMode, layerList: Iterable[QgsMapLayer], layerType: Union[QgsMapToolIdentify.LayerType, QgsMapToolIdentify.Type] = QgsMapToolIdentify.AllLayers) -> List[QgsMapToolIdentify.IdentifyResult] Performs the identification. To avoid being forced to specify IdentifyMode with a list of layers this has been made private and two publics methods are offered
- Parameters
x – x coordinates of mouseEvent
y – y coordinates of mouseEvent
mode – Identification mode. Can use Qgis default settings or a defined mode.
layerList – Performs the identification within the given list of layers.
layerType – Only performs identification in a certain type of layers (raster, vector, mesh).
- Returns
a list of IdentifyResult
-
identifyLayer
(self, results: Iterable[QgsMapToolIdentify.IdentifyResult], layer: QgsMapLayer, point: QgsPointXY, viewExtent: QgsRectangle, mapUnitsPerPixel: float, layerType: Union[QgsMapToolIdentify.LayerType, QgsMapToolIdentify.Type] = QgsMapToolIdentify.AllLayers) → bool¶ Call the right method depending on layer type
-
identifyMeshLayer
(self, results: Iterable[QgsMapToolIdentify.IdentifyResult], layer: QgsMeshLayer, point: QgsPointXY) → bool¶ Identifies data from active scalar and vector dataset from the mesh layer
Works only if layer was already rendered (triangular mesh is created)
New in version 3.6.
-
identifyRasterLayer
(self, results: Iterable[QgsMapToolIdentify.IdentifyResult], layer: QgsRasterLayer, point: QgsPointXY, viewExtent: QgsRectangle, mapUnitsPerPixel: float) → bool¶
-
identifyVectorLayer
(self, results: Iterable[QgsMapToolIdentify.IdentifyResult], layer: QgsVectorLayer, point: QgsPointXY) → bool¶
-
isSignalConnected
(self, QMetaMethod) → bool¶
-
keyPressEvent
(self, e: QKeyEvent)¶ - Parameters
e (QKeyEvent) –
-
receivers
(self, PYQT_SIGNAL) → int¶
-
restoreCanvasPropertiesOverrides
(self)¶ Clears canvas properties overrides previously set with setCanvasPropertiesOverrides()
See also
New in version 3.4.
-
sender
(self) → QObject¶
-
senderSignalIndex
(self) → int¶
-
setCanvasPropertiesOverrides
(self, searchRadiusMapUnits: float)¶ Overrides some map canvas properties inside the map tool for the upcoming identify requests.
This is useful when the identification is triggered by some other piece of GUI like a 3D map view and some properties like search radius need to be adjusted so that identification returns correct results. Currently only search radius may be overridden.
When the custom identification has finished, restoreCanvasPropertiesOverrides() should be called to erase any overrides.
See also
New in version 3.4.
-
setLayer
(self, vl: QgsVectorLayer)¶ change the layer used by the map tool to identify
- Parameters
vl (QgsVectorLayer) –
-
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