2012-09-24 02:28:15 +02:00
|
|
|
struct QgsRasterCalculatorEntry
|
|
|
|
{
|
|
|
|
%TypeHeaderCode
|
|
|
|
#include <qgsrastercalculator.h>
|
|
|
|
%End
|
|
|
|
|
|
|
|
QString ref; //name
|
|
|
|
QgsRasterLayer* raster; //pointer to rasterlayer
|
|
|
|
int bandNumber; //raster band number
|
|
|
|
};
|
|
|
|
|
2015-07-29 11:52:14 +02:00
|
|
|
/** Raster calculator class*/
|
2012-09-24 02:28:15 +02:00
|
|
|
class QgsRasterCalculator
|
|
|
|
{
|
|
|
|
%TypeHeaderCode
|
|
|
|
#include <qgsrastercalculator.h>
|
|
|
|
%End
|
|
|
|
|
|
|
|
public:
|
2015-06-08 14:10:39 +10:00
|
|
|
|
2016-01-27 10:46:20 +11:00
|
|
|
//! Result of the calculation
|
|
|
|
enum Result
|
|
|
|
{
|
|
|
|
Success, /*!< Calculation sucessful */
|
|
|
|
CreateOutputError, /*!< Error creating output data file */
|
|
|
|
InputLayerError, /*!< Error reading input layer */
|
|
|
|
Cancelled, /*!< User cancelled calculation */
|
|
|
|
ParserError, /*!< Error parsing formula */
|
|
|
|
MemoryError, /*!< Error allocating memory for result */
|
|
|
|
};
|
|
|
|
|
2015-06-08 14:10:39 +10:00
|
|
|
/** QgsRasterCalculator constructor.
|
|
|
|
* @param formulaString formula for raster calculation
|
|
|
|
* @param outputFile output file path
|
|
|
|
* @param outputFormat output file format
|
|
|
|
* @param outputExtent output extent. CRS for output is taken from first entry in rasterEntries.
|
|
|
|
* @param nOutputColumns number of columns in output raster
|
|
|
|
* @param nOutputRows number of rows in output raster
|
|
|
|
* @param rasterEntries list of referenced raster layers
|
|
|
|
*/
|
2012-09-24 02:28:15 +02:00
|
|
|
QgsRasterCalculator( const QString& formulaString, const QString& outputFile, const QString& outputFormat,
|
|
|
|
const QgsRectangle& outputExtent, int nOutputColumns, int nOutputRows, const QVector<QgsRasterCalculatorEntry>& rasterEntries );
|
2015-06-08 14:10:39 +10:00
|
|
|
|
|
|
|
/** QgsRasterCalculator constructor.
|
|
|
|
* @param formulaString formula for raster calculation
|
|
|
|
* @param outputFile output file path
|
|
|
|
* @param outputFormat output file format
|
2015-07-26 14:39:30 +02:00
|
|
|
* @param outputExtent output extent, CRS is specified by outputCrs parameter
|
2015-06-08 14:10:39 +10:00
|
|
|
* @param outputCrs destination CRS for output raster
|
|
|
|
* @param nOutputColumns number of columns in output raster
|
|
|
|
* @param nOutputRows number of rows in output raster
|
|
|
|
* @param rasterEntries list of referenced raster layers
|
|
|
|
* @note added in QGIS 2.10
|
|
|
|
*/
|
|
|
|
QgsRasterCalculator( const QString& formulaString, const QString& outputFile, const QString& outputFormat,
|
|
|
|
const QgsRectangle& outputExtent, const QgsCoordinateReferenceSystem& outputCrs, int nOutputColumns, int nOutputRows, const QVector<QgsRasterCalculatorEntry>& rasterEntries );
|
|
|
|
|
2015-07-29 11:52:14 +02:00
|
|
|
/** Starts the calculation and writes new raster
|
2012-09-24 02:28:15 +02:00
|
|
|
@param p progress bar (or 0 if called from non-gui code)
|
|
|
|
@return 0 in case of success*/
|
|
|
|
int processCalculation( QProgressDialog* p = 0 );
|
|
|
|
};
|