27#include "qgis_analysis.h" 
   43      ReliefColor( 
const QColor &
c, 
double min, 
double max ): color( 
c ), minElevation( min ), maxElevation( max ) { }
 
   49    QgsRelief( 
const QString &inputFile, 
const QString &outputFile, 
const QString &outputFormat );
 
   62    int processRaster( 
QgsFeedback *feedback = 
nullptr );
 
   64    double zFactor()
 const { 
return mZFactor; }
 
   67    void clearReliefColors();
 
   69    QList< QgsRelief::ReliefColor > 
reliefColors()
 const { 
return mReliefColors; }
 
   76    QList< QgsRelief::ReliefColor > calculateOptimizedReliefClasses();
 
   79    bool exportFrequencyDistributionToCsv( 
const QString &file );
 
   88    QString mOutputFormat;
 
   90    double mCellSizeX = 0.0;
 
   91    double mCellSizeY = 0.0;
 
   93    float mInputNodataValue = -1;
 
   95    float mOutputNodataValue = -1;
 
   99    std::unique_ptr< QgsSlopeFilter > mSlopeFilter;
 
  100    std::unique_ptr< QgsAspectFilter > mAspectFilter;
 
  101    std::unique_ptr< QgsHillshadeFilter > mHillshadeFilter285;
 
  102    std::unique_ptr< QgsHillshadeFilter > mHillshadeFilter300;
 
  103    std::unique_ptr< QgsHillshadeFilter > mHillshadeFilter315;
 
  106    QList< ReliefColor > mReliefColors;
 
  108    bool processNineCellWindow( 
float *x1, 
float *x2, 
float *x3, 
float *x4, 
float *x5, 
float *x6, 
float *x7, 
float *x8, 
float *x9,
 
  109                                unsigned char *red, 
unsigned char *green, 
unsigned char *blue );
 
  118    GDALDriverH openOutputDriver();
 
  127    bool setElevationColor( 
double elevation, 
int *red, 
int *green, 
int *blue );
 
  130    void setDefaultReliefColors();
 
  136    int frequencyClassForElevation( 
double elevation, 
double minElevation, 
double elevationClassRange );
 
  138    void optimiseClassBreaks( QList<int> &breaks, 
double *frequencies );
 
  146    bool calculateRegression( 
const QList< QPair < int, double > > &input, 
double &a, 
double &b );
 
Calculates aspect values in a window of 3x3 cells based on first order derivatives in x- and y- direc...
 
Base class for feedback objects to be used for cancellation of something running in a worker thread.
 
Produces colored relief rasters from DEM.
 
void setZFactor(double factor)
 
QList< QgsRelief::ReliefColor > reliefColors() const
 
void setReliefColors(const QList< QgsRelief::ReliefColor > &c)
 
QgsRelief & operator=(const QgsRelief &rh)=delete
QgsRelief cannot be copied.
 
QgsRelief(const QgsRelief &rh)=delete
QgsRelief cannot be copied.
 
Calculates slope values in a window of 3x3 cells based on first order derivatives in x- and y- direct...
 
std::unique_ptr< std::remove_pointer< GDALDatasetH >::type, GDALDatasetCloser > dataset_unique_ptr
Scoped GDAL dataset.
 
As part of the API refactoring and improvements which landed in the Processing API was substantially reworked from the x version This was done in order to allow much of the underlying Processing framework to be ported into c
 
ReliefColor(const QColor &c, double min, double max)