18#ifndef QGSRASTERCALCULATOR_H
19#define QGSRASTERCALCULATOR_H
23#include "qgis_analysis.h"
83 CreateOutputError = 1,
90 OpenCLKernelBuildError = 8
108 const QString &formulaString,
109 const QString &outputFile,
110 const QString &outputFormat,
115 const QVector<QgsRasterCalculatorEntry> &rasterEntries,
132 const QString &formulaString,
133 const QString &outputFile,
134 const QString &outputFormat,
138 const QVector<QgsRasterCalculatorEntry> &rasterEntries,
155 const QString &formulaString,
156 const QString &outputFile,
157 const QString &outputFormat,
162 const QVector<QgsRasterCalculatorEntry> &rasterEntries
177 const QString &formulaString,
const QString &outputFile,
const QString &outputFormat,
const QgsRectangle &outputExtent,
int nOutputColumns,
int nOutputRows,
const QVector<QgsRasterCalculatorEntry> &rasterEntries
188 Result processCalculation(
QgsFeedback *feedback =
nullptr );
194 QString lastError()
const;
236 GDALDriverH openOutputDriver();
248 void outputGeoTransform(
double *transform )
const;
251 Result processCalculationGPU( std::unique_ptr<QgsRasterCalcNode> calcNode,
QgsFeedback *feedback =
nullptr );
253 QString mFormulaString;
255 QString mOutputFormat;
262 int mNumOutputColumns = 0;
264 int mNumOutputRows = 0;
267 QStringList mCreationOptions;
268 double mNoDataValue = -FLT_MAX;
271 QVector<QgsRasterCalculatorEntry> mRasterEntries;
Represents a coordinate reference system (CRS).
Contains information about the context in which a coordinate transform is executed.
Base class for feedback objects to be used for cancellation of something running in a worker thread.
Represents an individual raster layer/band number entry within a raster calculation.
QgsRasterLayer * raster
Raster layer associated with entry.
static QVector< QgsRasterCalculatorEntry > rasterEntries()
Creates a list of raster entries from the current project.
int bandNumber
Band number for entry.
QString ref
Name of entry.
Performs raster layer calculations.
QStringList creationOptions() const
Returns the list of data source creation options which will be used when creating the output raster f...
void setNoDataValue(double noDataValue)
Set no data value for output file.
QgsRasterCalculator(const QString &formulaString, const QString &outputFile, const QString &outputFormat, const QgsRectangle &outputExtent, const QgsCoordinateReferenceSystem &outputCrs, int nOutputColumns, int nOutputRows, const QVector< QgsRasterCalculatorEntry > &rasterEntries, const QgsCoordinateTransformContext &transformContext)
QgsRasterCalculator constructor.
double noDataValue() const
Returns no data value used for output file.
Result
Result of the calculation.
void setCreationOptions(const QStringList &options)
Sets a list of data source creation options to use when creating the output raster file.
Represents a raster layer.
A rectangle specified with double values.
std::unique_ptr< std::remove_pointer< GDALDatasetH >::type, GDALDatasetCloser > dataset_unique_ptr
Scoped GDAL dataset.
#define SIP_MONKEYPATCH_SCOPEENUM_UNNEST(OUTSIDE_CLASS, FORMERNAME)