18#ifndef QGSALGORITHMCHANNELNETWORK_H
19#define QGSALGORITHMCHANNELNETWORK_H
33class QgsChannelNetworkAlgorithmBase :
public QgsD8AnalysisAlgorithmBase
36 QgsChannelNetworkAlgorithmBase() =
default;
38 QStringList tags()
const override;
41 void addCommonParameters();
51 void extractChannelNetwork(
53 const std::vector<int8_t> &d8Directions,
54 const std::vector<int16_t> &strahlerOrders,
65 const QVariantMap ¶meters
72 std::unique_ptr<QgsRasterInterface> mDemInterface;
75 double mCellSizeX = 0.0;
76 double mCellSizeY = 0.0;
84class QgsChannelNetworkFromDemAlgorithm :
public QgsChannelNetworkAlgorithmBase
87 QgsChannelNetworkFromDemAlgorithm() =
default;
89 QString name()
const override;
90 QString displayName()
const override;
91 QString shortDescription()
const override;
92 QString shortHelpString()
const override;
93 QgsProcessingAlgorithm *createInstance()
const override;
95 void initAlgorithm(
const QVariantMap &configuration = QVariantMap() )
override;
98 bool prepareAlgorithm(
const QVariantMap ¶meters, QgsProcessingContext &context, QgsProcessingFeedback *feedback )
override;
99 QVariantMap processAlgorithm(
const QVariantMap ¶meters, QgsProcessingContext &context, QgsProcessingFeedback *feedback )
override;
105class QgsChannelNetworkFromFlowDirAndOrderAlgorithm :
public QgsChannelNetworkAlgorithmBase
108 QgsChannelNetworkFromFlowDirAndOrderAlgorithm() =
default;
110 QString name()
const override;
111 QString displayName()
const override;
112 QString shortDescription()
const override;
113 QString shortHelpString()
const override;
114 QgsProcessingAlgorithm *createInstance()
const override;
116 void initAlgorithm(
const QVariantMap &configuration = QVariantMap() )
override;
119 bool prepareAlgorithm(
const QVariantMap ¶meters, QgsProcessingContext &context, QgsProcessingFeedback *feedback )
override;
120 QVariantMap processAlgorithm(
const QVariantMap ¶meters, QgsProcessingContext &context, QgsProcessingFeedback *feedback )
override;
123 std::unique_ptr<QgsRasterInterface> mFlowDirInterface;
124 std::unique_ptr<QgsRasterInterface> mStrahlerInterface;
Represents a coordinate reference system (CRS).
An interface for objects which accept features via addFeature(s) methods.
Container of fields for a vector layer.
Base class for providing feedback from a processing algorithm.
A rectangle specified with double values.