13#ifndef GDALALG_RASTER_SCALE_INCLUDED
14#define GDALALG_RASTER_SCALE_INCLUDED
18#include "gdalalg_raster_pipeline.h"
26class GDALRasterScaleAlgorithm
27 :
public GDALRasterPipelineStepAlgorithm
30 static constexpr const char *NAME =
"scale";
31 static constexpr const char *DESCRIPTION =
32 "Scale the values of the bands of a raster dataset.";
33 static constexpr const char *HELP_URL =
"/programs/gdal_raster_scale.html";
35 explicit GDALRasterScaleAlgorithm(
bool standaloneStep =
false);
38 bool RunStep(GDALPipelineStepRunContext &ctxt)
override;
42 double m_srcMin = std::numeric_limits<double>::quiet_NaN();
43 double m_srcMax = std::numeric_limits<double>::quiet_NaN();
44 double m_dstMin = std::numeric_limits<double>::quiet_NaN();
45 double m_dstMax = std::numeric_limits<double>::quiet_NaN();
46 double m_exponent = std::numeric_limits<double>::quiet_NaN();
47 bool m_noClip =
false;
54class GDALRasterScaleAlgorithmStandalone final :
public GDALRasterScaleAlgorithm
57 GDALRasterScaleAlgorithmStandalone()
58 : GDALRasterScaleAlgorithm( true)
62 ~GDALRasterScaleAlgorithmStandalone()
override;