QGIS API Documentation  2.5.0-Master
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Member Functions | Protected Member Functions | List of all members
QgsDerivativeFilter Class Referenceabstract

Adds the ability to calculate derivatives in x- and y-directions. More...

#include <qgsderivativefilter.h>

Inheritance diagram for QgsDerivativeFilter:
Inheritance graph
[legend]

Public Member Functions

 QgsDerivativeFilter (const QString &inputFile, const QString &outputFile, const QString &outputFormat)
 
virtual ~QgsDerivativeFilter ()
 
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...
 
- 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 ()
 
int processRaster (QProgressDialog *p)
 Starts the calculation, reads from mInputFile and stores the result in mOutputFile. More...
 
double cellSizeX () const
 
void setCellSizeX (double size)
 
double cellSizeY () const
 
void setCellSizeY (double size)
 
double zFactor () const
 
void setZFactor (double factor)
 
double inputNodataValue () const
 
void setInputNodataValue (double value)
 
double outputNodataValue () const
 
void setOutputNodataValue (double value)
 

Protected Member Functions

float calcFirstDerX (float *x11, float *x21, float *x31, float *x12, float *x22, float *x32, float *x13, float *x23, float *x33)
 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)
 Calculates the first order derivative in y-direction according to Horn (1981) More...
 

Additional Inherited Members

- Protected Attributes inherited from QgsNineCellFilter
QString mInputFile
 
QString mOutputFile
 
QString mOutputFormat
 
double mCellSizeX
 
double mCellSizeY
 
float mInputNodataValue
 The nodata value of the input layer. More...
 
float mOutputNodataValue
 The nodata value of the output layer. More...
 
double mZFactor
 Scale factor for z-value if x-/y- units are different to z-units (111120 for degree->meters and 370400 for degree->feet) More...
 

Detailed Description

Adds the ability to calculate derivatives in x- and y-directions.

Needs to be subclassed (e.g. for slope and aspect)

Constructor & Destructor Documentation

QgsDerivativeFilter::QgsDerivativeFilter ( const QString &  inputFile,
const QString &  outputFile,
const QString &  outputFormat 
)
QgsDerivativeFilter::~QgsDerivativeFilter ( )
virtual

Member Function Documentation

float QgsDerivativeFilter::calcFirstDerX ( float *  x11,
float *  x21,
float *  x31,
float *  x12,
float *  x22,
float *  x32,
float *  x13,
float *  x23,
float *  x33 
)
protected

Calculates the first order derivative in x-direction according to Horn (1981)

float QgsDerivativeFilter::calcFirstDerY ( float *  x11,
float *  x21,
float *  x31,
float *  x12,
float *  x22,
float *  x32,
float *  x13,
float *  x23,
float *  x33 
)
protected

Calculates the first order derivative in y-direction according to Horn (1981)

virtual float QgsDerivativeFilter::processNineCellWindow ( float *  x11,
float *  x21,
float *  x31,
float *  x12,
float *  x22,
float *  x32,
float *  x13,
float *  x23,
float *  x33 
)
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

Implements QgsNineCellFilter.

Implemented in QgsAspectFilter, QgsHillshadeFilter, and QgsSlopeFilter.


The documentation for this class was generated from the following files: