18#ifndef QGSALGORITHMSTRAHLERORDER_H
19#define QGSALGORITHMSTRAHLERORDER_H
33class QgsStrahlerOrderAlgorithmBase :
public QgsD8AnalysisAlgorithmBase
36 QgsStrahlerOrderAlgorithmBase() =
default;
38 QStringList tags()
const override;
41 void addCommonParameters();
46 QVariantMap writeOutputRaster(
QgsRasterBlock *outputBlock,
const QString &outputFile,
const QString &outputFormat,
const QString &creationOptions );
54 std::unique_ptr<QgsRasterInterface> mDemInterface;
56 int mOutputNoData = -9999;
62class QgsStrahlerOrderFromDemAlgorithm :
public QgsStrahlerOrderAlgorithmBase
65 QgsStrahlerOrderFromDemAlgorithm() =
default;
67 QString name()
const override;
68 QString displayName()
const override;
69 QString shortDescription()
const override;
70 QString shortHelpString()
const override;
71 QgsProcessingAlgorithm *createInstance()
const override;
73 void initAlgorithm(
const QVariantMap &configuration = QVariantMap() )
override;
76 bool prepareAlgorithm(
const QVariantMap ¶meters, QgsProcessingContext &context, QgsProcessingFeedback *feedback )
override;
77 QVariantMap processAlgorithm(
const QVariantMap ¶meters, QgsProcessingContext &context, QgsProcessingFeedback *feedback )
override;
80 double mCellSizeX = 0.0;
81 double mCellSizeY = 0.0;
87class QgsStrahlerOrderFromFlowDirectionAlgorithm :
public QgsStrahlerOrderAlgorithmBase
90 QgsStrahlerOrderFromFlowDirectionAlgorithm() =
default;
92 QString name()
const override;
93 QString displayName()
const override;
94 QString shortDescription()
const override;
95 QString shortHelpString()
const override;
96 QgsProcessingAlgorithm *createInstance()
const override;
98 void initAlgorithm(
const QVariantMap &configuration = QVariantMap() )
override;
101 bool prepareAlgorithm(
const QVariantMap ¶meters, QgsProcessingContext &context, QgsProcessingFeedback *feedback )
override;
102 QVariantMap processAlgorithm(
const QVariantMap ¶meters, QgsProcessingContext &context, QgsProcessingFeedback *feedback )
override;
105 std::unique_ptr<QgsRasterInterface> mFlowDirInterface;
Represents a coordinate reference system (CRS).
A rectangle specified with double values.