13#ifndef GDALALG_VECTOR_LAYER_ALGEBRA_INCLUDED
14#define GDALALG_VECTOR_LAYER_ALGEBRA_INCLUDED
16#include "gdalalgorithm.h"
26class GDALVectorLayerAlgebraAlgorithm final :
public GDALAlgorithm
29 static constexpr const char *NAME =
"layer-algebra";
30 static constexpr const char *DESCRIPTION =
31 "Perform algebraic operation between 2 layers.";
32 static constexpr const char *HELP_URL =
33 "/programs/gdal_vector_layer_algebra.html";
35 GDALVectorLayerAlgebraAlgorithm();
38 std::string m_operation{};
40 std::vector<std::string> m_inputFormats{};
41 std::vector<std::string> m_openOptions{};
42 GDALArgDatasetValue m_inputDataset{};
43 GDALArgDatasetValue m_methodDataset{};
44 std::string m_inputLayerName{};
45 std::string m_methodLayerName{};
48 GDALArgDatasetValue m_outputDataset{};
49 std::string m_format{};
50 std::vector<std::string> m_creationOptions{};
51 std::vector<std::string> m_layerCreationOptions{};
52 bool m_overwrite =
false;
53 bool m_update =
false;
54 bool m_overwriteLayer =
false;
55 bool m_appendLayer =
false;
56 std::string m_outputLayerName{};
57 std::string m_geometryType{};
59 std::string m_inputPrefix{};
60 std::vector<std::string> m_inputFields{};
61 bool m_noInputFields =
false;
62 bool m_allInputFields =
false;
64 std::string m_methodPrefix{};
65 std::vector<std::string> m_methodFields{};
66 bool m_noMethodFields =
false;
67 bool m_allMethodFields =
false;
69 bool RunImpl(GDALProgressFunc pfnProgress,
void *pProgressData)
override;
GDAL algorithm.
Definition gdalalgorithm_cpp.h:2261