GDAL
gdalalg_vector_dissolve.h
1/******************************************************************************
2*
3 * Project: GDAL
4 * Purpose: "gdal vector dissolve"
5 * Author: Daniel Baston
6 *
7 ******************************************************************************
8 * Copyright (c) 2025, ISciences LLC
9 *
10 * SPDX-License-Identifier: MIT
11 ****************************************************************************/
12
13#ifndef GDALALG_VECTOR_DISSOLVE_INCLUDED
14#define GDALALG_VECTOR_DISSOLVE_INCLUDED
15
16#include "gdalalg_vector_geom.h"
17#include "cpl_progress.h"
18
19#include <string>
20
22
23/************************************************************************/
24/* GDALVectorDissolveAlgorithm */
25/************************************************************************/
26
27class GDALVectorDissolveAlgorithm : public GDALVectorGeomAbstractAlgorithm
28{
29 public:
30 static constexpr const char *NAME = "dissolve";
31 static constexpr const char *DESCRIPTION = "Dissolves multipart features";
32 static constexpr const char *HELP_URL =
33 "/programs/gdal_vector_dissolve.html";
34
35 explicit GDALVectorDissolveAlgorithm(bool standaloneStep = false);
36
37 std::unique_ptr<OGRLayerWithTranslateFeature>
38 CreateAlgLayer(OGRLayer &srcLayer) override;
39
40 struct Options : OptionsBase
41 {
42 };
43
44 private:
45 bool RunStep(GDALPipelineStepRunContext &ctxt) override;
46
47 Options m_opts{};
48};
49
50/************************************************************************/
51/* GDALVectorDissolveAlgorithmStandalone */
52/************************************************************************/
53
54class GDALVectorDissolveAlgorithmStandalone final
55 : public GDALVectorDissolveAlgorithm
56{
57 public:
58 GDALVectorDissolveAlgorithmStandalone()
59 : GDALVectorDissolveAlgorithm(/* standaloneStep = */ true)
60 {
61 }
62
63 ~GDALVectorDissolveAlgorithmStandalone() override;
64};
65
67
68#endif /* GDALALG_VECTOR_DISSOLVE_INCLUDED */
This class represents a layer of simple features, with access methods.
Definition ogrsf_frmts.h:61