Class: QgsRasterCalculator

Performs raster layer calculations.

Enums

Result

Result of the calculation

Methods

creationOptions

Returns the list of data source creation options which will be used when creating the output raster file.

lastError

Returns a description of the last error encountered.

noDataValue

Returns no data value used for output file.

processCalculation

Starts the calculation and writes a new raster.

setCreationOptions

Sets a list of data source creation options to use when creating the output raster file.

setNoDataValue

Set no data value for output file.

class qgis.analysis.QgsRasterCalculator[source]

Bases: object

__init__(formulaString: str | None, outputFile: str | None, outputFormat: str | None, outputExtent: QgsRectangle, outputCrs: QgsCoordinateReferenceSystem, nOutputColumns: int, nOutputRows: int, rasterEntries: Iterable[QgsRasterCalculatorEntry], transformContext: QgsCoordinateTransformContext)

QgsRasterCalculator constructor.

Parameters:
  • formulaString (Optional[str]) – formula for raster calculation

  • outputFile (Optional[str]) – output file path

  • outputFormat (Optional[str]) – output file format

  • outputExtent (QgsRectangle) – output extent, CRS is specified by outputCrs parameter

  • outputCrs (QgsCoordinateReferenceSystem) – destination CRS for output raster

  • nOutputColumns (int) – number of columns in output raster

  • nOutputRows (int) – number of rows in output raster

  • rasterEntries (Iterable[QgsRasterCalculatorEntry]) – list of referenced raster layers

  • transformContext (QgsCoordinateTransformContext) – coordinate transformation context

Added in version 3.8.

__init__(formulaString: str | None, outputFile: str | None, outputFormat: str | None, outputExtent: QgsRectangle, nOutputColumns: int, nOutputRows: int, rasterEntries: Iterable[QgsRasterCalculatorEntry], transformContext: QgsCoordinateTransformContext)

QgsRasterCalculator constructor.

Parameters:
  • formulaString (Optional[str]) – formula for raster calculation

  • outputFile (Optional[str]) – output file path

  • outputFormat (Optional[str]) – output file format

  • outputExtent (QgsRectangle) – output extent. CRS for output is taken from first entry in rasterEntries.

  • nOutputColumns (int) – number of columns in output raster

  • nOutputRows (int) – number of rows in output raster

  • rasterEntries (Iterable[QgsRasterCalculatorEntry]) – list of referenced raster layers

  • transformContext (QgsCoordinateTransformContext) – coordinate transformation context

Added in version 3.8.

__init__(formulaString: str | None, outputFile: str | None, outputFormat: str | None, outputExtent: QgsRectangle, outputCrs: QgsCoordinateReferenceSystem, nOutputColumns: int, nOutputRows: int, rasterEntries: Iterable[QgsRasterCalculatorEntry])

QgsRasterCalculator constructor.

Parameters:
  • formulaString (Optional[str]) – formula for raster calculation

  • outputFile (Optional[str]) – output file path

  • outputFormat (Optional[str]) – output file format

  • outputExtent (QgsRectangle) – output extent, CRS is specified by outputCrs parameter

  • outputCrs (QgsCoordinateReferenceSystem) – destination CRS for output raster

  • nOutputColumns (int) – number of columns in output raster

  • nOutputRows (int) – number of rows in output raster

  • rasterEntries (Iterable[QgsRasterCalculatorEntry]) – list of referenced raster layers

Deprecated since version 3.8: Use the version with transformContext instead.

__init__(formulaString: str | None, outputFile: str | None, outputFormat: str | None, outputExtent: QgsRectangle, nOutputColumns: int, nOutputRows: int, rasterEntries: Iterable[QgsRasterCalculatorEntry])

QgsRasterCalculator constructor.

Parameters:
  • formulaString (Optional[str]) – formula for raster calculation

  • outputFile (Optional[str]) – output file path

  • outputFormat (Optional[str]) – output file format

  • outputExtent (QgsRectangle) – output extent. CRS for output is taken from first entry in rasterEntries.

  • nOutputColumns (int) – number of columns in output raster

  • nOutputRows (int) – number of rows in output raster

  • rasterEntries (Iterable[QgsRasterCalculatorEntry]) – list of referenced raster layers

Deprecated since version 3.8: Use the version with transformContext instead.

__init__(a0: QgsRasterCalculator)
Parameters:

a0 (QgsRasterCalculator)

class Result(*values)

Bases: IntEnum

Result of the calculation

  • Success: Calculation successful

  • CreateOutputError: Error creating output data file

  • InputLayerError: Error reading input layer

  • Canceled: User canceled calculation

  • ParserError: Error parsing formula

  • MemoryError: Error allocating memory for result

  • BandError: Invalid band number for input

  • CalculationError: Error occurred while performing calculation

creationOptions(self) List[str][source]

Returns the list of data source creation options which will be used when creating the output raster file.

Added in version 3.44.

Return type:

List[str]

lastError(self) str[source]

Returns a description of the last error encountered.

Added in version 3.4.

Return type:

str

noDataValue(self) float[source]

Returns no data value used for output file.

See also

setNoDataValue()

Added in version 3.44.

Return type:

float

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

Starts the calculation and writes a new raster.

The optional feedback argument can be used for progress reporting and cancellation support.

Return type:

QgsRasterCalculator.Result

Returns:

QgsRasterCalculator.Result.Success in case of success. If an error is encountered then a description of the error can be obtained by calling lastError().

Parameters:

feedback (Optional[QgsFeedback] = None)

setCreationOptions(self, options: Iterable[str | None])[source]

Sets a list of data source creation options to use when creating the output raster file.

Added in version 3.44.

Parameters:

options (Iterable[Optional[str]])

setNoDataValue(self, noDataValue: float)[source]

Set no data value for output file.

See also

noDataValue()

Added in version 3.44.

Parameters:

noDataValue (float)