|
QGIS API Documentation 3.99.0-Master (26c88405ac0)
|
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 Types | |
| enum class | Result : int { Success = 0 , InputLayerError = 1 , DriverError = 2 , CreateOutputError = 3 , InputBandError = 4 , OutputBandError = 5 , RasterSizeError = 6 , Canceled = 7 } |
| Result of the calculation. More... | |
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 ()=default |
| double | cellSizeX () const |
| double | cellSizeY () const |
| QStringList | creationOptions () const |
| Returns the list of data source creation options which will be used when creating the output raster file. | |
| double | inputNodataValue () const |
| double | outputNodataValue () const |
| 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. | |
| Result | processRaster (QgsFeedback *feedback=nullptr) |
| Starts the calculation, reads from mInputFile and stores the result in mOutputFile. | |
| void | setCellSizeX (double size) |
| void | setCellSizeY (double size) |
| void | setCreationOptions (const QStringList &options) |
| Sets a list of data source creation options to use when creating the output raster file. | |
| void | setInputNodataValue (double value) |
| void | setOutputNodataValue (double value) |
| void | setZFactor (double factor) |
| double | zFactor () const |
Protected Attributes | |
| double | mCellSizeX = -1.0 |
| double | mCellSizeY = -1.0 |
| QStringList | mCreationOptions |
| QString | mInputFile |
| double | mInputNodataValue = -1.0 |
| The nodata value of the input layer. | |
| QString | mOutputFile |
| QString | mOutputFormat |
| double | mOutputNodataValue = -9999.0 |
| The nodata value of the output layer. | |
| double | mZFactor = 1.0 |
| Scale factor for z-value if x-/y- units are different to z-units (111120 for degree->meters and 370400 for degree->feet). | |
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 40 of file qgsninecellfilter.h.
|
strong |
Result of the calculation.
Definition at line 44 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 38 of file qgsninecellfilter.cpp.
|
virtualdefault |
|
inline |
Definition at line 67 of file qgsninecellfilter.h.
|
inline |
Definition at line 69 of file qgsninecellfilter.h.
|
inline |
Returns the list of data source creation options which will be used when creating the output raster file.
Definition at line 94 of file qgsninecellfilter.h.
|
inline |
Definition at line 75 of file qgsninecellfilter.h.
|
inline |
Definition at line 77 of file qgsninecellfilter.h.
|
pure 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.
First index of the input cell is the row, second index is the column
| x11 | surrounding cell top left |
| x21 | surrounding cell central left |
| x31 | surrounding cell bottom left |
| x12 | surrounding cell top central |
| x22 | the central cell for which the value will be calculated |
| x32 | surrounding cell bottom central |
| x13 | surrounding cell top right |
| x23 | surrounding cell central right |
| x33 | surrounding cell bottom right |
Implemented in QgsAspectFilter, QgsDerivativeFilter, QgsHillshadeFilter, QgsRuggednessFilter, QgsSlopeFilter, and QgsTotalCurvatureFilter.
| QgsNineCellFilter::Result QgsNineCellFilter::processRaster | ( | QgsFeedback * | feedback = nullptr | ) |
Starts the calculation, reads from mInputFile and stores the result in mOutputFile.
| feedback | feedback object that receives update and that is checked for cancellation. |
Definition at line 45 of file qgsninecellfilter.cpp.
|
inline |
Definition at line 68 of file qgsninecellfilter.h.
|
inline |
Definition at line 70 of file qgsninecellfilter.h.
|
inline |
Sets a list of data source creation options to use when creating the output raster file.
Definition at line 86 of file qgsninecellfilter.h.
|
inline |
Definition at line 76 of file qgsninecellfilter.h.
|
inline |
Definition at line 78 of file qgsninecellfilter.h.
|
inline |
Definition at line 73 of file qgsninecellfilter.h.
|
inline |
Definition at line 72 of file qgsninecellfilter.h.
|
protected |
Definition at line 175 of file qgsninecellfilter.h.
|
protected |
Definition at line 176 of file qgsninecellfilter.h.
|
protected |
Definition at line 173 of file qgsninecellfilter.h.
|
protected |
Definition at line 170 of file qgsninecellfilter.h.
|
protected |
The nodata value of the input layer.
Definition at line 178 of file qgsninecellfilter.h.
|
protected |
Definition at line 171 of file qgsninecellfilter.h.
|
protected |
Definition at line 172 of file qgsninecellfilter.h.
|
protected |
The nodata value of the output layer.
Definition at line 180 of file qgsninecellfilter.h.
|
protected |
Scale factor for z-value if x-/y- units are different to z-units (111120 for degree->meters and 370400 for degree->feet).
Definition at line 182 of file qgsninecellfilter.h.