Quantum GIS API Documentation
1.7.4
|
Raster calculator class. More...
#include <qgsrastercalculator.h>
Public Member Functions | |
QgsRasterCalculator (const QString &formulaString, const QString &outputFile, const QString &outputFormat, const QgsRectangle &outputExtent, int nOutputColumns, int nOutputRows, const QVector< QgsRasterCalculatorEntry > &rasterEntries) | |
~QgsRasterCalculator () | |
int | processCalculation (QProgressDialog *p=0) |
Starts the calculation and writes new raster. | |
Private Member Functions | |
QgsRasterCalculator () | |
GDALDriverH | openOutputDriver () |
Opens the output driver and tests if it supports the creation of a new dataset. | |
GDALDatasetH | openOutputFile (GDALDriverH outputDriver) |
Opens the output file and sets the same geotransform and CRS as the input data. | |
void | readRasterPart (double *targetGeotransform, int xOffset, int yOffset, int nCols, int nRows, double *sourceTransform, GDALRasterBandH sourceBand, float *rasterBuffer) |
Reads raster pixels from a dataset/band. | |
bool | transformationsEqual (double *t1, double *t2) const |
Compares two geotransformations (six parameter double arrays. | |
void | outputGeoTransform (double *transform) const |
Sets gdal 6 parameters array from mOutputRectangle, mNumOutputColumns, mNumOutputRows. | |
Private Attributes | |
QString | mFormulaString |
QString | mOutputFile |
QString | mOutputFormat |
QgsRectangle | mOutputRectangle |
Output raster extent. | |
int | mNumOutputColumns |
Number of output columns. | |
int | mNumOutputRows |
Number of output rows. | |
QVector< QgsRasterCalculatorEntry > | mRasterEntries |
Raster calculator class.
Definition at line 39 of file qgsrastercalculator.h.
QgsRasterCalculator::QgsRasterCalculator | ( | const QString & | formulaString, |
const QString & | outputFile, | ||
const QString & | outputFormat, | ||
const QgsRectangle & | outputExtent, | ||
int | nOutputColumns, | ||
int | nOutputRows, | ||
const QVector< QgsRasterCalculatorEntry > & | rasterEntries | ||
) |
Definition at line 34 of file qgsrastercalculator.cpp.
Definition at line 40 of file qgsrastercalculator.cpp.
QgsRasterCalculator::QgsRasterCalculator | ( | ) | [private] |
Definition at line 248 of file qgsrastercalculator.cpp.
GDALDriverH QgsRasterCalculator::openOutputDriver | ( | ) | [private] |
Opens the output driver and tests if it supports the creation of a new dataset.
Definition at line 252 of file qgsrastercalculator.cpp.
References mOutputFormat.
Referenced by processCalculation().
GDALDatasetH QgsRasterCalculator::openOutputFile | ( | GDALDriverH | outputDriver | ) | [private] |
Opens the output file and sets the same geotransform and CRS as the input data.
Definition at line 273 of file qgsrastercalculator.cpp.
References mNumOutputColumns, mNumOutputRows, mOutputFile, and outputGeoTransform().
Referenced by processCalculation().
void QgsRasterCalculator::outputGeoTransform | ( | double * | transform | ) | const [private] |
Sets gdal 6 parameters array from mOutputRectangle, mNumOutputColumns, mNumOutputRows.
transform | double[6] array that receives the GDAL parameters |
Definition at line 378 of file qgsrastercalculator.cpp.
References QgsRectangle::height(), mNumOutputColumns, mNumOutputRows, mOutputRectangle, QgsRectangle::width(), QgsRectangle::xMinimum(), and QgsRectangle::yMaximum().
Referenced by openOutputFile(), and processCalculation().
int QgsRasterCalculator::processCalculation | ( | QProgressDialog * | p = 0 | ) |
Starts the calculation and writes new raster.
p | progress bar (or 0 if called from non-gui code) |
Definition at line 44 of file qgsrastercalculator.cpp.
References QgsCoordinateReferenceSystem::authid(), QgsRasterCalcNode::calculate(), QgsMapLayer::crs(), QgsRasterMatrix::data(), QgsRasterMatrix::isNumber(), mFormulaString, mNumOutputColumns, mNumOutputRows, mOutputFile, mRasterEntries, QgsRasterMatrix::nodataValue(), QgsRasterMatrix::number(), openOutputDriver(), openOutputFile(), outputGeoTransform(), QgsRasterCalcNode::parseRasterCalcString(), readRasterPart(), TO8, and QgsCoordinateReferenceSystem::toWkt().
void QgsRasterCalculator::readRasterPart | ( | double * | targetGeotransform, |
int | xOffset, | ||
int | yOffset, | ||
int | nCols, | ||
int | nRows, | ||
double * | sourceTransform, | ||
GDALRasterBandH | sourceBand, | ||
float * | rasterBuffer | ||
) | [private] |
Reads raster pixels from a dataset/band.
targetGeotransform | transformation parameters of the requested raster array (not necessarily the same as the transform of the source dataset) |
xOffset | x offset |
yOffset | y offset |
nCols | number of columns |
nRows | number of rows |
sourceTransform | source transformation |
sourceBand | source band |
rasterBuffer | raster buffer |
Definition at line 291 of file qgsrastercalculator.cpp.
References QgsRectangle::intersect(), QgsRectangle::isEmpty(), transformationsEqual(), QgsRectangle::xMaximum(), QgsRectangle::xMinimum(), QgsRectangle::yMaximum(), and QgsRectangle::yMinimum().
Referenced by processCalculation().
bool QgsRasterCalculator::transformationsEqual | ( | double * | t1, |
double * | t2 | ||
) | const [private] |
Compares two geotransformations (six parameter double arrays.
Definition at line 366 of file qgsrastercalculator.cpp.
References doubleNear().
Referenced by readRasterPart().
QString QgsRasterCalculator::mFormulaString [private] |
Definition at line 88 of file qgsrastercalculator.h.
Referenced by processCalculation().
int QgsRasterCalculator::mNumOutputColumns [private] |
Number of output columns.
Definition at line 95 of file qgsrastercalculator.h.
Referenced by openOutputFile(), outputGeoTransform(), and processCalculation().
int QgsRasterCalculator::mNumOutputRows [private] |
Number of output rows.
Definition at line 97 of file qgsrastercalculator.h.
Referenced by openOutputFile(), outputGeoTransform(), and processCalculation().
QString QgsRasterCalculator::mOutputFile [private] |
Definition at line 89 of file qgsrastercalculator.h.
Referenced by openOutputFile(), and processCalculation().
QString QgsRasterCalculator::mOutputFormat [private] |
Definition at line 90 of file qgsrastercalculator.h.
Referenced by openOutputDriver().
Output raster extent.
Definition at line 93 of file qgsrastercalculator.h.
Referenced by outputGeoTransform().
QVector<QgsRasterCalculatorEntry> QgsRasterCalculator::mRasterEntries [private] |
Definition at line 100 of file qgsrastercalculator.h.
Referenced by processCalculation().