Class: QgsMeshCalculator

Performs mesh layer calculations.

Mesh calculator can do various mathematical operations between dataset groups from a single mesh layer. Resulting dataset group is added to the mesh layer. Result can be filtered by extent or a vector layer mask spatially and by selection of times.

Resulting dataset is always scalar

Added in version 3.6.

class qgis.core.QgsMeshCalculator[source]

Bases: object

__init__(formulaString: str | None, outputFile: str | None, outputExtent: QgsRectangle, startTime: float, endTime: float, layer: QgsMeshLayer | None)

Creates calculator with bounding box (rectangular) mask

Parameters:
  • formulaString (Optional[str]) – formula/expression to evaluate. Consists of dataset group names, operators and numbers

  • outputFile (Optional[str]) – file to store the resulting dataset group data

  • outputExtent (QgsRectangle) – spatial filter defined by rectangle

  • startTime (float) – time filter defining the starting dataset

  • endTime (float) – time filter defining the ending dataset

  • layer (Optional[QgsMeshLayer]) – mesh layer with dataset groups references in formulaString

Deprecated since version 3.12.

__init__(formulaString: str | None, outputFile: str | None, outputMask: QgsGeometry, startTime: float, endTime: float, layer: QgsMeshLayer | None)

Creates calculator with geometry mask

Parameters:
  • formulaString (Optional[str]) – formula/expression to evaluate. Consists of dataset group names, operators and numbers

  • outputFile (Optional[str]) – file to store the resulting dataset group data

  • outputMask (QgsGeometry) – spatial filter defined by geometry

  • startTime (float) – time filter defining the starting dataset

  • endTime (float) – time filter defining the ending dataset

  • layer (Optional[QgsMeshLayer]) – mesh layer with dataset groups references in formulaString

Deprecated since version 3.12.

__init__(formulaString: str | None, outputDriver: str | None, outputGroupName: str | None, outputFile: str | None, outputExtent: QgsRectangle, startTime: float, endTime: float, layer: QgsMeshLayer | None)

Creates calculator with bounding box (rectangular) mask

Parameters:
  • formulaString (Optional[str]) – formula/expression to evaluate. Consists of dataset group names, operators and numbers

  • outputDriver (Optional[str]) – output driver name

  • outputGroupName (Optional[str]) – output group name

  • outputFile (Optional[str]) – file to store the resulting dataset group data

  • outputExtent (QgsRectangle) – spatial filter defined by rectangle

  • startTime (float) – time filter defining the starting dataset

  • endTime (float) – time filter defining the ending dataset

  • layer (Optional[QgsMeshLayer]) – mesh layer with dataset groups references in formulaString

Added in version 3.12.

__init__(formulaString: str | None, outputDriver: str | None, outputGroupName: str | None, outputFile: str | None, outputMask: QgsGeometry, startTime: float, endTime: float, layer: QgsMeshLayer | None)

Creates calculator with geometry mask

Parameters:
  • formulaString (Optional[str]) – formula/expression to evaluate. Consists of dataset group names, operators and numbers

  • outputDriver (Optional[str]) – output driver name

  • outputGroupName (Optional[str]) – output group name

  • outputFile (Optional[str]) – file to store the resulting dataset group data

  • outputMask (QgsGeometry) – spatial filter defined by geometry

  • startTime (float) – time filter defining the starting dataset

  • endTime (float) – time filter defining the ending dataset

  • layer (Optional[QgsMeshLayer]) – mesh layer with dataset groups references in formulaString

Added in version 3.12.

__init__(formulaString: str | None, outputGroupName: str | None, outputExtent: QgsRectangle, destination: QgsMeshDatasetGroup.Type, layer: QgsMeshLayer | None, startTime: float, endTime: float)

Creates calculator with bounding box (rectangular) mask, store the result in destination (must be on memory or virtual), see QgsMeshCalculator.Destination

Parameters:
  • formulaString (Optional[str]) – formula/expression to evaluate. Consists of dataset group names, operators and numbers

  • outputGroupName (Optional[str]) – output group name

  • outputExtent (QgsRectangle) – spatial filter defined by rectangle

  • destination (QgsMeshDatasetGroup.Type) – destination of the calculation (memory or virtual)

  • startTime (float) – time filter defining the starting dataset

  • endTime (float) – time filter defining the ending dataset

  • layer (Optional[QgsMeshLayer]) – mesh layer with dataset groups references in formulaString

Added in version 3.16.

__init__(formulaString: str | None, outputGroupName: str | None, outputMask: QgsGeometry, destination: QgsMeshDatasetGroup.Type, layer: QgsMeshLayer | None, startTime: float, endTime: float)

Creates calculator with with geometry mask, store the result in destination (must be on memory or virtual), see QgsMeshCalculator.Destination

Parameters:
  • formulaString (Optional[str]) – formula/expression to evaluate. Consists of dataset group names, operators and numbers

  • outputGroupName (Optional[str]) – output group name

  • outputMask (QgsGeometry) – spatial filter defined by geometry

  • destination (QgsMeshDatasetGroup.Type) – destination of the calculation (memory or virtual)

  • startTime (float) – time filter defining the starting dataset

  • endTime (float) – time filter defining the ending dataset

  • layer (Optional[QgsMeshLayer]) – mesh layer with dataset groups references in formulaString

Added in version 3.16.

__init__(a0: QgsMeshCalculator)
Parameters:

a0 (QgsMeshCalculator)

Canceled = 1
CreateOutputError = 2
EvaluateError = 6
InputLayerError = 3
InvalidDatasets = 5
MemoryError = 7
ParserError = 4
class Result

Bases: int

Success = 0
static expressionIsValid(formulaString: str | None, layer: QgsMeshLayer | None)[source]

Returns whether formula is valid for particular mesh layer

Parameters:
  • formulaString (Optional[str]) – formula/expression to evaluate. Consists of dataset group names, operators and numbers

  • layer (Optional[QgsMeshLayer]) -> (QgsMeshCalculator.Result) – mesh layer with dataset groups references in formulaString

  • requiredCapability – returns required capability of driver to store results of the calculation

Returns:

QgsMeshCalculator.Success in case of success

Added in version 3.12.

static expression_valid(formulaString: str | None, layer: QgsMeshLayer | None) QgsMeshCalculator.Result[source]

Returns whether formula is valid for particular mesh layer

Parameters:
  • formulaString (Optional[str]) – formula/expression to evaluate. Consists of dataset group names, operators and numbers

  • layer (Optional[QgsMeshLayer]) – mesh layer with dataset groups references in formulaString

Return type:

QgsMeshCalculator.Result

Returns:

QgsMeshCalculator.Success in case of success

Deprecated since version 3.12: Use expressionIsValid.

processCalculation(self, feedback: QgsFeedback | None = None) QgsMeshCalculator.Result[source]

Starts the calculation, creates new dataset group and adds it to the mesh layer

Parameters:

feedback (Optional[QgsFeedback] = None) – The optional feedback argument for progress reporting and cancellation support

Return type:

QgsMeshCalculator.Result

Returns:

QgsMeshCalculator.Success in case of success