QGIS API Documentation 3.99.0-Master (21b3aa880ba)
Loading...
Searching...
No Matches
QgsHillshadeFilter Class Reference

A hillshade filter. More...

#include <qgshillshadefilter.h>

Inheritance diagram for QgsHillshadeFilter:

Public Member Functions

 QgsHillshadeFilter (const QString &inputFile, const QString &outputFile, const QString &outputFormat, double lightAzimuth=300, double lightAngle=40)
float lightAngle () const
float lightAzimuth () const
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.
void setLightAngle (float angle)
void setLightAzimuth (float azimuth)
Public Member Functions inherited from QgsDerivativeFilter
 QgsDerivativeFilter (const QString &inputFile, const QString &outputFile, const QString &outputFormat)
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).
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
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

Additional Inherited Members

Public Types inherited from QgsNineCellFilter
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...
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).
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).
Protected Attributes inherited from QgsNineCellFilter
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).

Detailed Description

A hillshade filter.

Definition at line 29 of file qgshillshadefilter.h.

Constructor & Destructor Documentation

◆ QgsHillshadeFilter()

QgsHillshadeFilter::QgsHillshadeFilter ( const QString & inputFile,
const QString & outputFile,
const QString & outputFormat,
double lightAzimuth = 300,
double lightAngle = 40 )

Definition at line 22 of file qgshillshadefilter.cpp.

Member Function Documentation

◆ lightAngle()

float QgsHillshadeFilter::lightAngle ( ) const
inline

Definition at line 38 of file qgshillshadefilter.h.

◆ lightAzimuth()

float QgsHillshadeFilter::lightAzimuth ( ) const
inline

Definition at line 36 of file qgshillshadefilter.h.

◆ processNineCellWindow()

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

Parameters
x11surrounding cell top left
x21surrounding cell central left
x31surrounding cell bottom left
x12surrounding cell top central
x22the central cell for which the value will be calculated
x32surrounding cell bottom central
x13surrounding cell top right
x23surrounding cell central right
x33surrounding cell bottom right
Returns
the calculated cell value for the central cell x22

Implements QgsDerivativeFilter.

Definition at line 32 of file qgshillshadefilter.cpp.

◆ setLightAngle()

void QgsHillshadeFilter::setLightAngle ( float angle)

Definition at line 61 of file qgshillshadefilter.cpp.

◆ setLightAzimuth()

void QgsHillshadeFilter::setLightAzimuth ( float azimuth)

Definition at line 55 of file qgshillshadefilter.cpp.


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