13#ifndef GDALALG_RASTER_PROXIMITY_INCLUDED
14#define GDALALG_RASTER_PROXIMITY_INCLUDED
16#include "gdalalg_raster_pipeline.h"
24class GDALRasterProximityAlgorithm
25 :
public GDALRasterPipelineNonNativelyStreamingAlgorithm
28 static constexpr const char *NAME =
"proximity";
29 static constexpr const char *DESCRIPTION =
30 "Produces a raster proximity map.";
31 static constexpr const char *HELP_URL =
32 "/programs/gdal_raster_proximity.html";
34 explicit GDALRasterProximityAlgorithm(
bool standaloneStep =
false);
37 bool RunStep(GDALPipelineStepRunContext &ctxt)
override;
39 double m_noDataValue = 0.0;
41 std::string m_outputDataType =
43 std::vector<double> m_targetPixelValues{};
44 std::string m_distanceUnits =
"pixel";
45 double m_maxDistance = 0.0;
46 double m_fixedBufferValue = 0.0;
53class GDALRasterProximityAlgorithmStandalone final
54 :
public GDALRasterProximityAlgorithm
57 GDALRasterProximityAlgorithmStandalone()
58 : GDALRasterProximityAlgorithm( true)
62 ~GDALRasterProximityAlgorithmStandalone()
override;