QGIS API Documentation 3.28.0-Firenze (ed3ad0430f)
|
Calculates aspect values in a window of 3x3 cells based on first order derivatives in x- and y- directions. More...
#include <qgsaspectfilter.h>
Public Member Functions | |
QgsAspectFilter (const QString &inputFile, const QString &outputFile, const QString &outputFormat) | |
float | processNineCellWindow (float *x11, float *x21, float *x31, float *x12, float *x22, float *x32, float *x13, float *x23, float *x33) override |
Calculates output value from nine input values. More... | |
Public Member Functions inherited from QgsDerivativeFilter | |
QgsDerivativeFilter (const QString &inputFile, const QString &outputFile, const QString &outputFormat) | |
float | processNineCellWindow (float *x11, float *x21, float *x31, float *x12, float *x22, float *x32, float *x13, float *x23, float *x33) override=0 |
Calculates output value from nine input values. More... | |
Public Member Functions inherited from QgsNineCellFilter | |
QgsNineCellFilter (const QString &inputFile, const QString &outputFile, const QString &outputFormat) | |
Constructor that takes input file, output file and output format (GDAL string) More... | |
virtual | ~QgsNineCellFilter ()=default |
double | cellSizeX () const |
double | cellSizeY () const |
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. More... | |
int | processRaster (QgsFeedback *feedback=nullptr) |
Starts the calculation, reads from mInputFile and stores the result in mOutputFile. More... | |
void | setCellSizeX (double size) |
void | setCellSizeY (double size) |
void | setInputNodataValue (double value) |
void | setOutputNodataValue (double value) |
void | setZFactor (double factor) |
double | zFactor () const |
Additional Inherited Members | |
Protected Member Functions inherited from QgsDerivativeFilter | |
float | calcFirstDerX (float *x11, float *x21, float *x31, float *x12, float *x22, float *x32, float *x13, float *x23, float *x33) const |
Calculates the first order derivative in x-direction according to Horn (1981) More... | |
float | calcFirstDerY (float *x11, float *x21, float *x31, float *x12, float *x22, float *x32, float *x13, float *x23, float *x33) const |
Calculates the first order derivative in y-direction according to Horn (1981) More... | |
Protected Attributes inherited from QgsNineCellFilter | |
double | mCellSizeX = -1.0 |
double | mCellSizeY = -1.0 |
QString | mInputFile |
float | mInputNodataValue = -1.0 |
The nodata value of the input layer. More... | |
QString | mOutputFile |
QString | mOutputFormat |
float | mOutputNodataValue = -1.0 |
The nodata value of the output layer. More... | |
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) More... | |
Calculates aspect values in a window of 3x3 cells based on first order derivatives in x- and y- directions.
Direction is clockwise starting from north.
Definition at line 30 of file qgsaspectfilter.h.
QgsAspectFilter::QgsAspectFilter | ( | const QString & | inputFile, |
const QString & | outputFile, | ||
const QString & | outputFormat | ||
) |
Definition at line 21 of file qgsaspectfilter.cpp.
|
overridevirtual |
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 |
Implements QgsDerivativeFilter.
Definition at line 27 of file qgsaspectfilter.cpp.