18#ifndef QGSALGORITHMRASTERFREQUENCYBYCOMPARISON_H
19#define QGSALGORITHMRASTERFREQUENCYBYCOMPARISON_H
35 QgsRasterFrequencyByComparisonOperatorBase() =
default;
36 void initAlgorithm(
const QVariantMap &configuration = QVariantMap() )
override;
37 QString
group()
const override;
38 QString
groupId()
const override;
43 virtual int applyComparisonOperator(
double value, std::vector<double> cellValueStack ) = 0;
46 std::unique_ptr<QgsRasterInterface> mInputValueRasterInterface;
47 int mInputValueRasterBand = 1;
48 std::vector<QgsRasterAnalysisUtils::RasterLogicInput> mInputs;
49 bool mIgnoreNoData =
false;
50 double mNoDataValue = -9999;
55 double mRasterUnitsPerPixelX = 0;
56 double mRasterUnitsPerPixelY = 0;
59class QgsRasterFrequencyByEqualOperatorAlgorithm :
public QgsRasterFrequencyByComparisonOperatorBase
62 QgsRasterFrequencyByEqualOperatorAlgorithm() =
default;
63 QString name()
const override;
64 QString displayName()
const override;
65 QStringList tags()
const override;
66 QString shortHelpString()
const override;
67 QString shortDescription()
const override;
68 QgsRasterFrequencyByEqualOperatorAlgorithm *createInstance() const override
SIP_FACTORY;
71 int applyComparisonOperator(
double searchValue, std::vector<
double> cellValueStack ) override;
74class QgsRasterFrequencyByGreaterThanOperatorAlgorithm : public QgsRasterFrequencyByComparisonOperatorBase
77 QgsRasterFrequencyByGreaterThanOperatorAlgorithm() =
default;
78 QString name()
const override;
79 QString displayName()
const override;
80 QStringList tags()
const override;
81 QString shortHelpString()
const override;
82 QString shortDescription()
const override;
83 QgsRasterFrequencyByGreaterThanOperatorAlgorithm *createInstance() const override
SIP_FACTORY;
86 int applyComparisonOperator(
double value, std::vector<
double> cellValueStack ) override;
89class QgsRasterFrequencyByLessThanOperatorAlgorithm : public QgsRasterFrequencyByComparisonOperatorBase
92 QgsRasterFrequencyByLessThanOperatorAlgorithm() =
default;
93 QString name()
const override;
94 QString displayName()
const override;
95 QStringList tags()
const override;
96 QString shortHelpString()
const override;
97 QString shortDescription()
const override;
98 QgsRasterFrequencyByLessThanOperatorAlgorithm *createInstance() const override
SIP_FACTORY;
101 int applyComparisonOperator(
double value, std::vector<
double> cellValueStack ) override;
Represents a coordinate reference system (CRS).
Abstract base class for processing algorithms.
virtual QString group() const
Returns the name of the group this algorithm belongs to.
virtual bool prepareAlgorithm(const QVariantMap ¶meters, QgsProcessingContext &context, QgsProcessingFeedback *feedback)
Prepares the algorithm to run using the specified parameters.
virtual QString groupId() const
Returns the unique ID of the group this algorithm belongs to.
virtual QVariantMap processAlgorithm(const QVariantMap ¶meters, QgsProcessingContext &context, QgsProcessingFeedback *feedback)=0
Runs the algorithm using the specified parameters.
virtual void initAlgorithm(const QVariantMap &configuration=QVariantMap())=0
Initializes the algorithm using the specified configuration.
Contains information about the context in which a processing algorithm is executed.
Base class for providing feedback from a processing algorithm.
A rectangle specified with double values.