Class: QgsMeshLayer¶
-
class
qgis.core.
QgsMeshLayer
(path: str = '', baseName: str = '', providerLib: str = '', options: QgsMeshLayer.LayerOptions = QgsMeshLayer.LayerOptions())¶ Bases:
QgsMapLayer
Constructor - creates a mesh layer
The
QgsMeshLayer
is constructed by instantiating a data provider. The provider interprets the supplied path (url) of the data source to connect to and access the data.- Parameters
path (str = '') – The path or url of the parameter. Typically this encodes parameters used by the data provider as url query items.
baseName (str = '') – The name used to represent the layer in the legend
providerLib (str = '') – The name of the data provider, e.g., “mesh_memory”, “mdal”
options (QgsMeshLayer.LayerOptions = QgsMeshLayer.LayerOptions()) – general mesh layer options
Represents a mesh layer supporting display of data on structured or unstructured meshes
The
QgsMeshLayer
is instantiated by specifying the name of a data provider, such as mdal, and url defining the specific data set to connect to. The vector layer constructor in turn instantiates aQgsMeshDataProvider
subclass corresponding to the provider type, and passes it the url. The data provider connects to the data source.The
QgsMeshLayer
provides a common interface to the different data types. It does not yet support editing transactions.The main data providers supported by QGIS are listed below.
The memory data provider is used to construct in memory data, for example scratch data. There is no inherent persistent storage of the data. The data source uri is constructed. Data can be populated by setMesh(const QString &vertices, const QString &faces), where vertices and faces is comma separated coordinates and connections for mesh. E.g. to create mesh with one quad and one triangle
QString uri( "1.0, 2.0 \n" \ "2.0, 2.0 \n" \ "3.0, 2.0 \n" \ "2.0, 3.0 \n" \ "1.0, 3.0 \n" \ "---" "0, 1, 3, 4 \n" \ "1, 2, 3 \n" ); :py:class:`.QgsMeshLayer` *scratchLayer = new QgsMeshLayer(uri, "My Scratch layer", "memory_mesh");
Accesses data using the MDAL drivers (https://github.com/lutraconsulting/MDAL). The url is the MDAL connection string. QGIS must be built with MDAL support to allow this provider.
QString uri = "test/land.2dm"; :py:class:`.QgsMeshLayer` *scratchLayer = new QgsMeshLayer(uri, "My Scratch Layer", "mdal");
Note
The API is considered EXPERIMENTAL and can be changed without a notice
Methods
Add error message
- rtype
QgsMeshLayer
- param rendererContext
QgsMeshLayer
cannot be copied.Interpolates the value on the given point from given dataset.
- param source
- param source
- rtype
QgsRectangle
Returns (date) time in hours formatted to human readable form
Checks whether a new set of dependencies will introduce a cycle this method is now deprecated and always return false, because circular dependencies are now correctly managed.
Returns the provider type for this layer
Read style data common to all layer types
Read custom properties from project file.
Read style manager’s configuration (if any).
- param node
- param layer_node
Returns renderer settings
Sets error message
Sets the extent
Sets the
providerType
(provider key)Sets new renderer settings
Sets time format settings
Sets the coordinate transform context to
transformContext
.Sets whether layer is valid or not - should be used in constructor.
Returns time format settings
Write style data common to all layer types
Write custom properties to project file.
Write style manager’s configuration (if exists).
- param node
- param layer_node
Signals
Emitted when active scalar dataset is changed
Emitted when active vector dataset is changed
Emitted when time format is changed
-
class
LayerOptions
(transformContext: QgsCoordinateTransformContext = QgsCoordinateTransformContext())¶ Bases:
sip.wrapper
Constructor for LayerOptions with optional
transformContext
.Note
transformContext argument was added in QGIS 3.8
QgsMeshLayer.LayerOptions(QgsMeshLayer.LayerOptions)
- Parameters
transformContext (
QgsCoordinateTransformContext
= QgsCoordinateTransformContext()) –
-
skipCrsValidation
¶
-
transformContext
¶
-
activeScalarDatasetChanged
¶ Emitted when active scalar dataset is changed
New in version 3.4: [signal]
- Parameters
index (QgsMeshDatasetIndex) –
-
activeVectorDatasetChanged
¶ Emitted when active vector dataset is changed
New in version 3.4: [signal]
- Parameters
index (QgsMeshDatasetIndex) –
-
appendError
(self, error: QgsErrorMessage)¶ Add error message
-
childEvent
(self, QChildEvent)¶
-
clone
(self) → QgsMeshLayer¶ - Return type
-
connectNotify
(self, QMetaMethod)¶
-
createMapRenderer
(self, rendererContext: QgsRenderContext) → QgsMapLayerRenderer¶ - Parameters
rendererContext (QgsRenderContext) –
- Return type
-
customEvent
(self, QEvent)¶
-
dataProvider
(self) → QgsMeshDataProvider¶ QgsMeshLayer
cannot be copied.- Return type
-
datasetValue
(self, index: QgsMeshDatasetIndex, point: QgsPointXY) → QgsMeshDatasetValue¶ Interpolates the value on the given point from given dataset.
Note
It uses previously cached and indexed triangular mesh and so if the layer has not been rendered previously (e.g. when used in a script) it returns NaN value
- Parameters
index (QgsMeshDatasetIndex) – dataset index specifying group and dataset to extract value from
point (QgsPointXY) – point to query in map coordinates
- Return type
- Returns
interpolated value at the point. Returns NaN values for values outside the mesh layer, nodata values and in case triangular mesh was not previously used for rendering
New in version 3.4.
-
decodedSource
(self, source: str, provider: str, context: QgsReadWriteContext) → str¶ - Parameters
source (str) –
provider (str) –
context (QgsReadWriteContext) –
- Return type
str
-
disconnectNotify
(self, QMetaMethod)¶
-
encodedSource
(self, source: str, context: QgsReadWriteContext) → str¶ - Parameters
source (str) –
context (QgsReadWriteContext) –
- Return type
str
-
extent
(self) → QgsRectangle¶ - Return type
-
formatTime
(self, hours: float) → str¶ Returns (date) time in hours formatted to human readable form
- Parameters
hours (float) – time in double in hours
- Return type
str
- Returns
formatted time string
New in version 3.8.
-
hasDependencyCycle
(self, Iterable[QgsMapLayerDependency]) → bool¶ Checks whether a new set of dependencies will introduce a cycle this method is now deprecated and always return false, because circular dependencies are now correctly managed.
Deprecated since version QGIS: 3.10
-
isSignalConnected
(self, QMetaMethod) → bool¶
-
providerType
(self) → str¶ Returns the provider type for this layer
- Return type
str
-
readCommonStyle
(self, layerElement: QDomElement, context: QgsReadWriteContext, categories: Union[QgsMapLayer.StyleCategories, QgsMapLayer.StyleCategory] = QgsMapLayer.AllStyleCategories)¶ Read style data common to all layer types
New in version 3.0.
-
readCustomProperties
(self, layerNode: QDomNode, keyStartsWith: str = '')¶ Read custom properties from project file.
- Parameters
layerNode – note to read from
keyStartsWith – reads only properties starting with the specified string (or all if the string is empty)*
-
readStyleManager
(self, layerNode: QDomNode)¶ Read style manager’s configuration (if any). To be called by subclasses.
-
readSymbology
(self, node: QDomNode, errorMessage: str, context: QgsReadWriteContext, categories: Union[QgsMapLayer.StyleCategories, QgsMapLayer.StyleCategory] = QgsMapLayer.AllStyleCategories) → bool¶ - Parameters
node (QDomNode) –
errorMessage (str) –
context (QgsReadWriteContext) –
categories (Union[QgsMapLayer.StyleCategories) –
- Return type
bool
-
readXml
(self, layer_node: QDomNode, context: QgsReadWriteContext) → bool¶ - Parameters
layer_node (QDomNode) –
context (QgsReadWriteContext) –
- Return type
bool
-
receivers
(self, PYQT_SIGNAL) → int¶
-
reload
(self)¶
-
rendererSettings
(self) → QgsMeshRendererSettings¶ Returns renderer settings
- Return type
-
sender
(self) → QObject¶
-
senderSignalIndex
(self) → int¶
-
setExtent
(self, rect: QgsRectangle)¶ Sets the extent
-
setProviderType
(self, providerType: str)¶ Sets the
providerType
(provider key)
-
setRendererSettings
(self, settings: QgsMeshRendererSettings)¶ Sets new renderer settings
- Parameters
settings (QgsMeshRendererSettings) –
-
setTimeSettings
(self, settings: QgsMeshTimeSettings)¶ Sets time format settings
New in version 3.8.
- Parameters
settings (QgsMeshTimeSettings) –
-
setTransformContext
(self, transformContext: QgsCoordinateTransformContext)¶ Sets the coordinate transform context to
transformContext
.New in version 3.8.
- Parameters
transformContext (QgsCoordinateTransformContext) –
-
setValid
(self, valid: bool)¶ Sets whether layer is valid or not - should be used in constructor.
-
timeSettings
(self) → QgsMeshTimeSettings¶ Returns time format settings
New in version 3.8.
- Return type
-
timeSettingsChanged
¶ Emitted when time format is changed
New in version 3.8: [signal]
-
timerEvent
(self, QTimerEvent)¶
-
writeCommonStyle
(self, layerElement: QDomElement, document: QDomDocument, context: QgsReadWriteContext, categories: Union[QgsMapLayer.StyleCategories, QgsMapLayer.StyleCategory] = QgsMapLayer.AllStyleCategories)¶ Write style data common to all layer types
New in version 3.0.
-
writeCustomProperties
(self, layerNode: QDomNode, doc: QDomDocument)¶ Write custom properties to project file.
-
writeStyleManager
(self, layerNode: QDomNode, doc: QDomDocument)¶ Write style manager’s configuration (if exists). To be called by subclasses.
-
writeSymbology
(self, node: QDomNode, doc: QDomDocument, errorMessage: str, context: QgsReadWriteContext, categories: Union[QgsMapLayer.StyleCategories, QgsMapLayer.StyleCategory] = QgsMapLayer.AllStyleCategories) → bool¶ - Parameters
node (QDomNode) –
doc (QDomDocument) –
errorMessage (str) –
context (QgsReadWriteContext) –
categories (Union[QgsMapLayer.StyleCategories) –
- Return type
bool
-
writeXml
(self, layer_node: QDomNode, doc: QDomDocument, context: QgsReadWriteContext) → bool¶ - Parameters
layer_node (QDomNode) –
doc (QDomDocument) –
context (QgsReadWriteContext) –
- Return type
bool