13#ifndef GDALALG_VECTOR_COMBINE_INCLUDED
14#define GDALALG_VECTOR_COMBINE_INCLUDED
16#include "gdalalg_vector_pipeline.h"
17#include "cpl_progress.h"
27class GDALVectorCombineAlgorithm :
public GDALVectorPipelineStepAlgorithm
30 static constexpr const char *NAME =
"combine";
31 static constexpr const char *DESCRIPTION =
32 "Combine features into collections";
33 static constexpr const char *HELP_URL =
34 "/programs/gdal_vector_combine.html";
36 explicit GDALVectorCombineAlgorithm(
bool standaloneStep =
false);
38 static constexpr const char *NO =
"no";
39 static constexpr const char *SOMETIMES_IDENTICAL =
"sometimes-identical";
40 static constexpr const char *ALWAYS_IDENTICAL =
"always-identical";
43 bool RunStep(GDALPipelineStepRunContext &ctxt)
override;
45 std::vector<std::string> m_groupBy{};
46 bool m_keepNested{
false};
47 std::string m_addExtraFields{NO};
54class GDALVectorCombineAlgorithmStandalone final
55 :
public GDALVectorCombineAlgorithm
58 GDALVectorCombineAlgorithmStandalone()
59 : GDALVectorCombineAlgorithm( true)
63 ~GDALVectorCombineAlgorithmStandalone()
override;