13#ifndef GDALALG_RASTER_ZONAL_STATS_INCLUDED
14#define GDALALG_RASTER_ZONAL_STATS_INCLUDED
16#include "gdalalg_abstract_pipeline.h"
24class GDALRasterZonalStatsAlgorithm
25 :
public GDALPipelineStepAlgorithm
28 static constexpr const char *NAME =
"zonal-stats";
29 static constexpr const char *DESCRIPTION =
30 "Calculate raster zonal statistics";
31 static constexpr const char *HELP_URL =
32 "/programs/gdal_raster_zonal_stats.html";
34 explicit GDALRasterZonalStatsAlgorithm(
bool bStandalone =
false);
36 int GetInputType()
const override
41 int GetOutputType()
const override
47 bool RunStep(GDALPipelineStepRunContext &ctxt)
override;
48 bool RunImpl(GDALProgressFunc pfnProgress,
void *pProgressData)
override;
50 GDALArgDatasetValue m_weights{};
51 GDALArgDatasetValue m_zones{};
52 std::string m_zonesLayer{};
54 std::vector<int> m_bands{};
55 std::vector<std::string> m_stats{};
56 std::vector<std::string> m_includeFields{};
57 std::string m_strategy{};
58 std::string m_memoryStr{
"5%"};
59 std::string m_pixels{
"default"};
62 static_cast<size_t>(100) * 1024 *
70class GDALRasterZonalStatsAlgorithmStandalone final
71 :
public GDALRasterZonalStatsAlgorithm
74 GDALRasterZonalStatsAlgorithmStandalone()
75 : GDALRasterZonalStatsAlgorithm( true)
79 ~GDALRasterZonalStatsAlgorithmStandalone()
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