QgsRasterCalculator class

Performs raster layer calculations.

Public types

enum Result { Success = 0, CreateOutputError = 1, InputLayerError = 2, Canceled = 3, ParserError = 4, MemoryError = 5, BandError = 6 }
Result of the calculation.

Constructors, destructors, conversion operators

QgsRasterCalculator(const QString& formulaString, const QString& outputFile, const QString& outputFormat, const QgsRectangle& outputExtent, int nOutputColumns, int nOutputRows, const QVector<QgsRasterCalculatorEntry>& rasterEntries)
QgsRasterCalculator constructor.
QgsRasterCalculator(const QString& formulaString, const QString& outputFile, const QString& outputFormat, const QgsRectangle& outputExtent, const QgsCoordinateReferenceSystem& outputCrs, int nOutputColumns, int nOutputRows, const QVector<QgsRasterCalculatorEntry>& rasterEntries)
QgsRasterCalculator constructor.

Public functions

auto lastError() const -> QString
Returns a description of the last error encountered.
auto processCalculation(QgsFeedback* feedback = nullptr) -> Result
Starts the calculation and writes a new raster.

Enum documentation

enum QgsRasterCalculator::Result

Result of the calculation.

Enumerators
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.

Function documentation

QgsRasterCalculator::QgsRasterCalculator(const QString& formulaString, const QString& outputFile, const QString& outputFormat, const QgsRectangle& outputExtent, int nOutputColumns, int nOutputRows, const QVector<QgsRasterCalculatorEntry>& rasterEntries)

QgsRasterCalculator constructor.

Parameters
formulaString formula for raster calculation
outputFile output file path
outputFormat output file format
outputExtent output extent. CRS for output is taken from first entry in rasterEntries.
nOutputColumns number of columns in output raster
nOutputRows number of rows in output raster
rasterEntries list of referenced raster layers

QgsRasterCalculator::QgsRasterCalculator(const QString& formulaString, const QString& outputFile, const QString& outputFormat, const QgsRectangle& outputExtent, const QgsCoordinateReferenceSystem& outputCrs, int nOutputColumns, int nOutputRows, const QVector<QgsRasterCalculatorEntry>& rasterEntries)

QgsRasterCalculator constructor.

Parameters
formulaString formula for raster calculation
outputFile output file path
outputFormat output file format
outputExtent output extent, CRS is specified by outputCrs parameter
outputCrs destination CRS for output raster
nOutputColumns number of columns in output raster
nOutputRows number of rows in output raster
rasterEntries list of referenced raster layers

QString QgsRasterCalculator::lastError() const

Returns a description of the last error encountered.

Result QgsRasterCalculator::processCalculation(QgsFeedback* feedback = nullptr)

Starts the calculation and writes a new raster.

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

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