13#ifndef GDALALG_VECTOR_FILTER_INCLUDED
14#define GDALALG_VECTOR_FILTER_INCLUDED
16#include "gdalalg_vector_pipeline.h"
24class GDALVectorFilterAlgorithm
25 :
public GDALVectorPipelineStepAlgorithm
28 static constexpr const char *NAME =
"filter";
29 static constexpr const char *DESCRIPTION =
"Filter a vector dataset.";
30 static constexpr const char *HELP_URL =
"/programs/gdal_vector_filter.html";
32 explicit GDALVectorFilterAlgorithm(
bool standaloneStep =
false);
34 bool IsNativelyStreamingCompatible()
const override
36 return !m_updateExtent;
40 bool RunStep(GDALPipelineStepRunContext &ctxt)
override;
42 std::string m_activeLayer{};
43 std::vector<double> m_bbox{};
44 std::string m_where{};
45 bool m_updateExtent =
false;
52class GDALVectorFilterAlgorithmStandalone final
53 :
public GDALVectorFilterAlgorithm
56 GDALVectorFilterAlgorithmStandalone()
57 : GDALVectorFilterAlgorithm( true)
61 ~GDALVectorFilterAlgorithmStandalone()
override;