18 #ifndef QGSALGORITHMRASTERSTACKPOSITION_H
19 #define QGSALGORITHMRASTERSTACKPOSITION_H
34 QgsRasterStackPositionAlgorithmBase() =
default;
35 void initAlgorithm(
const QVariantMap &configuration = QVariantMap() )
override;
36 QString
group()
const override;
37 QString
groupId()
const override;
42 virtual int findPosition( std::vector< std::unique_ptr< QgsRasterBlock > > &rasterBlockStack,
int &row,
int &col,
bool &noDataInRasterBlockStack ) = 0;
43 double mNoDataValue = -9999;
46 std::vector< QgsRasterAnalysisUtils::RasterLogicInput > mInputs;
52 double mRasterUnitsPerPixelX;
53 double mRasterUnitsPerPixelY;
56 class QgsRasterStackLowestPositionAlgorithm :
public QgsRasterStackPositionAlgorithmBase
59 QgsRasterStackLowestPositionAlgorithm() =
default;
60 QString name()
const override;
61 QString displayName()
const override;
62 QStringList tags()
const override;
63 QString shortHelpString()
const override;
64 QgsRasterStackLowestPositionAlgorithm *createInstance() const override
SIP_FACTORY;
67 int findPosition( std::vector< std::
unique_ptr<
QgsRasterBlock > > &rasterBlockStack,
int &row,
int &col,
bool &noDataInRasterBlockStack ) override;
70 class QgsRasterStackHighestPositionAlgorithm : public QgsRasterStackPositionAlgorithmBase
73 QgsRasterStackHighestPositionAlgorithm() =
default;
74 QString name()
const override;
75 QString displayName()
const override;
76 QStringList tags()
const override;
77 QString shortHelpString()
const override;
78 QgsRasterStackHighestPositionAlgorithm *createInstance() const override
SIP_FACTORY;
81 int findPosition( std::vector< std::
unique_ptr<
QgsRasterBlock > > &rasterBlockStack,
int &row,
int &col,
bool &noDataInRasterBlockStack ) override;
86 #endif // QGSALGORITHMRASTERSTACKPOSITION_H