13#ifndef GDALALG_RASTER_FOOTPRINT_INCLUDED
14#define GDALALG_RASTER_FOOTPRINT_INCLUDED
16#include "gdalalg_abstract_pipeline.h"
24class GDALRasterFootprintAlgorithm
25 :
public GDALPipelineStepAlgorithm
28 static constexpr const char *NAME =
"footprint";
29 static constexpr const char *DESCRIPTION =
30 "Compute the footprint of a raster dataset.";
31 static constexpr const char *HELP_URL =
32 "/programs/gdal_raster_footprint.html";
34 explicit GDALRasterFootprintAlgorithm(
bool standaloneStep =
false);
36 bool IsNativelyStreamingCompatible()
const override
41 int GetInputType()
const override
46 int GetOutputType()
const override
52 bool RunStep(GDALPipelineStepRunContext &ctxt)
override;
53 bool RunImpl(GDALProgressFunc pfnProgress,
void *pProgressData)
override;
55 std::vector<int> m_bands{};
56 std::string m_combineBands =
"union";
58 std::vector<double> m_srcNoData{};
59 std::string m_coordinateSystem{};
60 std::string m_dstCrs{};
61 bool m_splitMultiPolygons =
false;
62 bool m_convexHull =
false;
63 double m_densifyVal = 0;
64 double m_simplifyVal = 0;
65 double m_minRingArea = 0;
66 std::string m_maxPoints =
"100";
67 std::string m_locationField =
"location";
68 bool m_noLocation =
false;
69 bool m_writeAbsolutePaths =
false;
76class GDALRasterFootprintAlgorithmStandalone final
77 :
public GDALRasterFootprintAlgorithm
80 GDALRasterFootprintAlgorithmStandalone()
81 : GDALRasterFootprintAlgorithm( true)
85 ~GDALRasterFootprintAlgorithmStandalone()
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