13#ifndef GDALALG_RASTER_CONTOUR_INCLUDED
14#define GDALALG_RASTER_CONTOUR_INCLUDED
18#include "gdalalg_abstract_pipeline.h"
26class GDALRasterContourAlgorithm
27 :
public GDALPipelineStepAlgorithm
30 static constexpr const char *NAME =
"contour";
31 static constexpr const char *DESCRIPTION =
32 "Creates a vector contour from a raster elevation model (DEM).";
33 static constexpr const char *HELP_URL =
34 "/programs/gdal_raster_contour.html";
36 explicit GDALRasterContourAlgorithm(
bool standaloneStep =
false);
38 bool IsNativelyStreamingCompatible()
const override
43 int GetInputType()
const override
48 int GetOutputType()
const override
54 bool RunStep(GDALPipelineStepRunContext &ctxt)
override;
55 bool RunImpl(GDALProgressFunc pfnProgress,
void *pProgressData)
override;
59 std::string m_elevAttributeName{};
65 std::numeric_limits<double>::quiet_NaN();
67 std::numeric_limits<double>::quiet_NaN();
69 std::numeric_limits<double>::quiet_NaN();
70 std::vector<std::string>
73 bool m_polygonize =
false;
74 int m_groupTransactions = 0;
81class GDALRasterContourAlgorithmStandalone final
82 :
public GDALRasterContourAlgorithm
85 GDALRasterContourAlgorithmStandalone()
86 : GDALRasterContourAlgorithm( true)
90 ~GDALRasterContourAlgorithmStandalone()
override;
#define GDAL_OF_RASTER
Allow raster drivers to be used.
Definition gdal.h:1086
#define GDAL_OF_VECTOR
Allow vector drivers to be used.
Definition gdal.h:1091