Class: QgsRasterCalculator

Performs raster layer calculations.

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)