13#ifndef GDALALG_VECTOR_CLEAN_COVERAGE_INCLUDED
14#define GDALALG_VECTOR_CLEAN_COVERAGE_INCLUDED
16#include "gdalalg_vector_pipeline.h"
17#include "cpl_progress.h"
27class GDALVectorCleanCoverageAlgorithm :
public GDALVectorPipelineStepAlgorithm
30 static constexpr const char *NAME =
"clean-coverage";
31 static constexpr const char *DESCRIPTION =
32 "Alter polygon boundaries to make shared edges identical, removing "
34 static constexpr const char *HELP_URL =
35 "/programs/gdal_vector_clean_coverage.html";
37 explicit GDALVectorCleanCoverageAlgorithm(
bool standaloneStep =
false);
39 bool IsNativelyStreamingCompatible()
const override
46 double snappingTolerance = -1;
47 double maximumGapWidth = 0;
48 std::string mergeStrategy =
"longest-border";
52 bool RunStep(GDALPipelineStepRunContext &ctxt)
override;
54 std::string m_activeLayer{};
63class GDALVectorCleanCoverageAlgorithmStandalone final
64 :
public GDALVectorCleanCoverageAlgorithm
67 GDALVectorCleanCoverageAlgorithmStandalone()
68 : GDALVectorCleanCoverageAlgorithm( true)
72 ~GDALVectorCleanCoverageAlgorithmStandalone()
override;