Skip to content

Commit 53efd38

Browse files
authored
Merge pull request OSGeo#13412 from rouault/gdal_vector_update
Add 'gdal vector update'
2 parents bfef202 + 8de7793 commit 53efd38

23 files changed

+1031
-574
lines changed

apps/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,7 @@ target_sources(appslib PRIVATE
133133
gdalalg_vector_select.cpp
134134
gdalalg_vector_set_field_type.cpp
135135
gdalalg_vector_sql.cpp
136+
gdalalg_vector_update.cpp
136137
gdalalg_vector_write.cpp
137138
gdalalg_vsi.cpp
138139
gdalalg_vsi_copy.cpp

apps/gdalalg_raster_pipeline.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,8 @@ void GDALRasterPipelineAlgorithm::RegisterAlgorithms(
223223
registry.Register<GDALRasterTPIAlgorithm>();
224224
registry.Register<GDALRasterTRIAlgorithm>();
225225
registry.Register<GDALRasterUnscaleAlgorithm>();
226-
registry.Register<GDALRasterUpdateAlgorithm>();
226+
registry.Register<GDALRasterUpdateAlgorithm>(
227+
addSuffixIfNeeded(GDALRasterUpdateAlgorithm::NAME));
227228
registry.Register<GDALRasterViewshedAlgorithm>();
228229
registry.Register<GDALTeeRasterAlgorithm>(
229230
addSuffixIfNeeded(GDALTeeRasterAlgorithm::NAME));

apps/gdalalg_vector.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
#include "gdalalg_vector_index.h"
2828
#include "gdalalg_vector_layer_algebra.h"
2929
#include "gdalalg_vector_make_point.h"
30+
#include "gdalalg_vector_make_valid.h"
3031
#include "gdalalg_vector_pipeline.h"
3132
#include "gdalalg_vector_rasterize.h"
3233
#include "gdalalg_vector_filter.h"
@@ -39,7 +40,7 @@
3940
#include "gdalalg_vector_simplify.h"
4041
#include "gdalalg_vector_simplify_coverage.h"
4142
#include "gdalalg_vector_sql.h"
42-
#include "gdalalg_vector_make_valid.h"
43+
#include "gdalalg_vector_update.h"
4344
#include "gdalalg_vector_swap_xy.h"
4445

4546
#include "gdal_priv.h"
@@ -95,6 +96,7 @@ class GDALVectorAlgorithm final : public GDALAlgorithm
9596
RegisterSubAlgorithm<GDALVectorSimplifyAlgorithmStandalone>();
9697
RegisterSubAlgorithm<GDALVectorSimplifyCoverageAlgorithmStandalone>();
9798
RegisterSubAlgorithm<GDALVectorSQLAlgorithmStandalone>();
99+
RegisterSubAlgorithm<GDALVectorUpdateAlgorithmStandalone>();
98100
RegisterSubAlgorithm<GDALVectorSwapXYAlgorithmStandalone>();
99101
}
100102

apps/gdalalg_vector_info.cpp

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,15 +38,21 @@ GDALVectorInfoAlgorithm::GDALVectorInfoAlgorithm(bool standaloneStep)
3838
AddInputFormatsArg(&m_inputFormats)
3939
.AddMetadataItem(GAAMDI_REQUIRED_CAPABILITIES, {GDAL_DCAP_VECTOR})
4040
.SetHiddenForCLI(!standaloneStep);
41-
auto &datasetArg =
42-
AddInputDatasetArg(&m_inputDataset, GDAL_OF_VECTOR,
43-
/* positionalAndRequired = */ standaloneStep)
44-
.AddAlias("dataset")
45-
.SetHiddenForCLI(!standaloneStep);
41+
GDALInConstructionAlgorithmArg *pDatasetArg = nullptr;
42+
if (standaloneStep)
43+
{
44+
auto &datasetArg =
45+
AddInputDatasetArg(&m_inputDataset, GDAL_OF_VECTOR,
46+
/* positionalAndRequired = */ standaloneStep)
47+
.AddAlias("dataset")
48+
.SetHiddenForCLI(!standaloneStep);
49+
pDatasetArg = &datasetArg;
50+
}
4651
auto &layerArg = AddLayerNameArg(&m_layerNames)
4752
.SetMutualExclusionGroup("layer-sql")
4853
.AddAlias("layer");
49-
SetAutoCompleteFunctionForLayerName(layerArg, datasetArg);
54+
if (pDatasetArg)
55+
SetAutoCompleteFunctionForLayerName(layerArg, *pDatasetArg);
5056
auto &argFeature =
5157
AddArg(
5258
"features", 0,

apps/gdalalg_vector_pipeline.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
#include "gdalalg_vector_simplify_coverage.h"
3838
#include "gdalalg_vector_sql.h"
3939
#include "gdalalg_vector_swap_xy.h"
40+
#include "gdalalg_vector_update.h"
4041
#include "gdalalg_vector_write.h"
4142
#include "gdalalg_tee.h"
4243

@@ -180,6 +181,8 @@ void GDALVectorPipelineAlgorithm::RegisterAlgorithms(
180181
registry.Register<GDALVectorSimplifyAlgorithm>();
181182
registry.Register<GDALVectorSimplifyCoverageAlgorithm>();
182183
registry.Register<GDALVectorSQLAlgorithm>();
184+
registry.Register<GDALVectorUpdateAlgorithm>(
185+
addSuffixIfNeeded(GDALVectorUpdateAlgorithm::NAME));
183186
registry.Register<GDALVectorSwapXYAlgorithm>();
184187

185188
registry.Register<GDALTeeVectorAlgorithm>(

0 commit comments

Comments
 (0)