13#ifndef GDALALG_RASTER_HILLSHADE_INCLUDED
14#define GDALALG_RASTER_HILLSHADE_INCLUDED
16#include "gdalalg_raster_pipeline.h"
26class GDALRasterHillshadeAlgorithm
27 :
public GDALRasterPipelineStepAlgorithm
30 static constexpr const char *NAME =
"hillshade";
31 static constexpr const char *DESCRIPTION =
"Generate a shaded relief map";
32 static constexpr const char *HELP_URL =
33 "/programs/gdal_raster_hillshade.html";
35 explicit GDALRasterHillshadeAlgorithm(
bool standaloneStep =
false);
37 bool CanHandleNextStep(GDALPipelineStepAlgorithm *)
const override;
40 bool RunStep(GDALPipelineStepRunContext &ctxt)
override;
44 double m_xscale = std::numeric_limits<double>::quiet_NaN();
45 double m_yscale = std::numeric_limits<double>::quiet_NaN();
46 double m_azimuth = 315;
47 double m_altitude = 45;
48 std::string m_gradientAlg =
"Horn";
49 std::string m_variant =
"regular";
50 bool m_noEdges =
false;
57class GDALRasterHillshadeAlgorithmStandalone final
58 :
public GDALRasterHillshadeAlgorithm
61 GDALRasterHillshadeAlgorithmStandalone()
62 : GDALRasterHillshadeAlgorithm( true)
66 ~GDALRasterHillshadeAlgorithmStandalone()
override;