13#ifndef GDALALG_RASTER_CREATE_INCLUDED
14#define GDALALG_RASTER_CREATE_INCLUDED
16#include "gdalalg_raster_pipeline.h"
24class GDALRasterCreateAlgorithm :
public GDALRasterPipelineStepAlgorithm
27 static constexpr const char *NAME =
"create";
28 static constexpr const char *DESCRIPTION =
"Create a new raster dataset.";
29 static constexpr const char *HELP_URL =
"/programs/gdal_raster_create.html";
31 explicit GDALRasterCreateAlgorithm(
bool standaloneStep =
false) noexcept;
33 bool CanBeMiddleStep()
const override
38 bool CanBeFirstStep()
const override
44 bool RunStep(GDALPipelineStepRunContext &ctxt)
override;
45 bool RunImpl(GDALProgressFunc pfnProgress,
void *pProgressData)
override;
47 std::vector<int> m_size{};
49 std::string m_type =
"Byte";
51 std::vector<double> m_bbox{};
52 std::vector<std::string> m_metadata{};
53 std::string m_nodata{};
54 std::vector<double> m_burnValues{};
55 bool m_copyOverviews =
false;
56 bool m_copyMetadata =
false;
63class GDALRasterCreateAlgorithmStandalone final
64 :
public GDALRasterCreateAlgorithm
67 GDALRasterCreateAlgorithmStandalone()
68 : GDALRasterCreateAlgorithm( true)
72 ~GDALRasterCreateAlgorithmStandalone()
override;