GDAL
gdalalg_vector_grid_average.h
1/******************************************************************************
2 *
3 * Project: GDAL
4 * Purpose: gdal "vector grid average" subcommand
5 * Author: Even Rouault <even dot rouault at spatialys.com>
6 *
7 ******************************************************************************
8 * Copyright (c) 2025, Even Rouault <even dot rouault at spatialys.com>
9 *
10 * SPDX-License-Identifier: MIT
11 ****************************************************************************/
12
13#ifndef GDALALG_VECTOR_GRID_AVERAGE_INCLUDED
14#define GDALALG_VECTOR_GRID_AVERAGE_INCLUDED
15
16#include "gdalalg_vector_grid.h"
17
18#include <limits>
19
21
22/************************************************************************/
23/* GDALVectorGridAverageAlgorithm */
24/************************************************************************/
25
26class GDALVectorGridAverageAlgorithm /* non final */
27 : public GDALVectorGridAbstractAlgorithm
28{
29 public:
30 static constexpr const char *NAME = "average";
31 static constexpr const char *DESCRIPTION =
32 "Create a regular grid from scattered points using moving average "
33 "interpolation.";
34 static constexpr const char *HELP_URL = "/programs/gdal_vector_grid.html";
35
36 explicit GDALVectorGridAverageAlgorithm(bool standaloneStep = false);
37
38 std::string GetGridAlgorithm() const override;
39};
40
41/************************************************************************/
42/* GDALVectorGridAverageAlgorithmStandalone */
43/************************************************************************/
44
45class GDALVectorGridAverageAlgorithmStandalone final
46 : public GDALVectorGridAverageAlgorithm
47{
48 public:
49 GDALVectorGridAverageAlgorithmStandalone()
50 : GDALVectorGridAverageAlgorithm(/* standaloneStep = */ true)
51 {
52 }
53
54 ~GDALVectorGridAverageAlgorithmStandalone() override;
55};
56
58
59#endif