Quantum GIS API Documentation
1.7.5-Wroclaw
|
Base class for raster analysis methods that work with a 3x3 cell filter and calculate the value of each cell based on \ the cell value and the eight neighbour cells. More...
#include <qgsninecellfilter.h>
Public Member Functions | |
QgsNineCellFilter (const QString &inputFile, const QString &outputFile, const QString &outputFormat) | |
Constructor that takes input file, output file and output format (GDAL string) | |
virtual | ~QgsNineCellFilter () |
int | processRaster (QProgressDialog *p) |
Starts the calculation, reads from mInputFile and stores the result in mOutputFile. |
Protected Member Functions | |
virtual float | processNineCellWindow (float *x11, float *x21, float *x31, float *x12, float *x22, float *x32, float *x13, float *x23, float *x33)=0 |
Calculates output value from nine input values. |
Protected Attributes | |
QString | mInputFile |
QString | mOutputFile |
QString | mOutputFormat |
double | mCellSizeX |
double | mCellSizeY |
float | mInputNodataValue |
The nodata value of the input layer. | |
float | mOutputNodataValue |
The nodata value of the output layer. |
Private Member Functions | |
QgsNineCellFilter () | |
GDALDatasetH | openInputFile (int &nCellsX, int &nCellsY) |
Opens the input file and returns the dataset handle and the number of pixels in x-/y- direction. | |
GDALDriverH | openOutputDriver () |
Opens the output driver and tests if it supports the creation of a new dataset. | |
GDALDatasetH | openOutputFile (GDALDatasetH inputDataset, GDALDriverH outputDriver) |
Opens the output file and sets the same geotransform and CRS as the input data. |
Base class for raster analysis methods that work with a 3x3 cell filter and calculate the value of each cell based on \ the cell value and the eight neighbour cells.
Common examples are slope and aspect calculation in DEMs. Subclasses only implement \ the method that calculates the new value from the nine values. Everything else (reading file, writing file) is done by this subclass
Definition at line 30 of file qgsninecellfilter.h.
QgsNineCellFilter::QgsNineCellFilter | ( | const QString & | inputFile, |
const QString & | outputFile, | ||
const QString & | outputFormat | ||
) |
Constructor that takes input file, output file and output format (GDAL string)
Definition at line 28 of file qgsninecellfilter.cpp.
|
virtual |
Definition at line 39 of file qgsninecellfilter.cpp.
|
private |
Definition at line 34 of file qgsninecellfilter.cpp.
|
private |
Opens the input file and returns the dataset handle and the number of pixels in x-/y- direction.
Definition at line 197 of file qgsninecellfilter.cpp.
References mInputFile, and TO8.
Referenced by processRaster().
|
private |
Opens the output driver and tests if it supports the creation of a new dataset.
Definition at line 215 of file qgsninecellfilter.cpp.
References mOutputFormat.
Referenced by processRaster().
|
private |
Opens the output file and sets the same geotransform and CRS as the input data.
Definition at line 236 of file qgsninecellfilter.cpp.
References mCellSizeX, mCellSizeY, and mOutputFile.
Referenced by processRaster().
|
protectedpure virtual |
Calculates output value from nine input values.
The input values and the output value can be equal to the \ nodata value if not present or outside of the border. Must be implemented by subclasses
Implemented in QgsAspectFilter, QgsRuggednessFilter, QgsSlopeFilter, QgsTotalCurvatureFilter, and QgsDerivativeFilter.
Referenced by processRaster().
int QgsNineCellFilter::processRaster | ( | QProgressDialog * | p | ) |
Starts the calculation, reads from mInputFile and stores the result in mOutputFile.
p | progress dialog that receives update and that is checked for abort. 0 if no progress bar is needed. |
Definition at line 44 of file qgsninecellfilter.cpp.
References mInputNodataValue, mOutputFile, mOutputNodataValue, openInputFile(), openOutputDriver(), openOutputFile(), and processNineCellWindow().
|
protected |
Definition at line 64 of file qgsninecellfilter.h.
Referenced by QgsDerivativeFilter::calcFirstDerX(), openOutputFile(), and QgsTotalCurvatureFilter::processNineCellWindow().
|
protected |
Definition at line 65 of file qgsninecellfilter.h.
Referenced by QgsDerivativeFilter::calcFirstDerY(), openOutputFile(), and QgsTotalCurvatureFilter::processNineCellWindow().
|
protected |
Definition at line 60 of file qgsninecellfilter.h.
Referenced by openInputFile().
|
protected |
The nodata value of the input layer.
Definition at line 67 of file qgsninecellfilter.h.
Referenced by QgsDerivativeFilter::calcFirstDerX(), QgsDerivativeFilter::calcFirstDerY(), QgsTotalCurvatureFilter::processNineCellWindow(), QgsRuggednessFilter::processNineCellWindow(), and processRaster().
|
protected |
Definition at line 61 of file qgsninecellfilter.h.
Referenced by openOutputFile(), and processRaster().
|
protected |
Definition at line 62 of file qgsninecellfilter.h.
Referenced by openOutputDriver().
|
protected |
The nodata value of the output layer.
Definition at line 69 of file qgsninecellfilter.h.
Referenced by QgsDerivativeFilter::calcFirstDerX(), QgsDerivativeFilter::calcFirstDerY(), QgsSlopeFilter::processNineCellWindow(), QgsTotalCurvatureFilter::processNineCellWindow(), QgsAspectFilter::processNineCellWindow(), QgsRuggednessFilter::processNineCellWindow(), and processRaster().