18#ifndef QGSRECLASSIFYUTILS
19#define QGSRECLASSIFYUTILS
22#include "qgis_analysis.h"
42class ANALYSIS_EXPORT QgsReclassifyUtils
52 RasterClass() =
default;
70 static void reportClasses(
const QVector<RasterClass> &classes, QgsProcessingFeedback *feedback );
76 static void checkForOverlaps(
const QVector<RasterClass> &classes, QgsProcessingFeedback *feedback );
99 static void reclassify(
100 const QVector<RasterClass> &classes,
101 QgsRasterInterface *sourceRaster,
103 const QgsRectangle &extent,
104 int sourceWidthPixels,
105 int sourceHeightPixels,
106 std::unique_ptr<QgsRasterDataProvider> destinationRaster,
107 double destNoDataValue,
108 bool useNoDataForMissingValues,
109 QgsProcessingFeedback *feedback =
nullptr
121 static double reclassifyValue(
const QVector<RasterClass> &classes,
double input,
bool &reclassified )
123 reclassified =
false;
124 for (
const QgsReclassifyUtils::RasterClass &
c : classes )
126 if (
c.contains( input ) )
Base class for providing feedback from a processing algorithm.
Base class for raster data providers.
Base class for processing filters like renderers, reprojector, resampler etc.
Represents a range of raster values between min and max, optionally including the min and max value.
BoundsType
Handling for min and max bounds.
A rectangle specified with double values.
As part of the API refactoring and improvements which landed in the Processing API was substantially reworked from the x version This was done in order to allow much of the underlying Processing framework to be ported into c
Q_DECLARE_TYPEINFO(QgsMargins, Q_MOVABLE_TYPE)