53 QgsRelief(
const QString &inputFile,
const QString &outputFile,
const QString &outputFormat );
66 double zFactor()
const {
return mZFactor; }
69 void clearReliefColors();
71 QList<QgsRelief::ReliefColor>
reliefColors()
const {
return mReliefColors; }
78 QList<QgsRelief::ReliefColor> calculateOptimizedReliefClasses();
81 bool exportFrequencyDistributionToCsv(
const QString &file );
90 QString mOutputFormat;
92 double mCellSizeX = 0.0;
93 double mCellSizeY = 0.0;
95 float mInputNodataValue = -1;
97 float mOutputNodataValue = -1;
101 std::unique_ptr<QgsSlopeFilter> mSlopeFilter;
102 std::unique_ptr<QgsAspectFilter> mAspectFilter;
103 std::unique_ptr<QgsHillshadeFilter> mHillshadeFilter285;
104 std::unique_ptr<QgsHillshadeFilter> mHillshadeFilter300;
105 std::unique_ptr<QgsHillshadeFilter> mHillshadeFilter315;
108 QList<ReliefColor> mReliefColors;
110 bool processNineCellWindow(
float *x1,
float *x2,
float *x3,
float *x4,
float *x5,
float *x6,
float *x7,
float *x8,
float *x9,
unsigned char *red,
unsigned char *green,
unsigned char *blue );
119 GDALDriverH openOutputDriver();
130 bool getElevationColor(
double elevation,
int *red,
int *green,
int *blue )
const;
133 void setDefaultReliefColors();
139 int frequencyClassForElevation(
double elevation,
double minElevation,
double elevationClassRange );
141 void optimiseClassBreaks( QList<int> &breaks,
double *frequencies );
149 bool calculateRegression(
const QList<QPair<int, double>> &input,
double &a,
double &b );