Line data Source code
1 : /****************************************************************************** 2 : * 3 : * Project: GDAL 4 : * Purpose: gdal "raster" subcommand 5 : * Author: Even Rouault <even dot rouault at spatialys.com> 6 : * 7 : ****************************************************************************** 8 : * Copyright (c) 2024, Even Rouault <even dot rouault at spatialys.com> 9 : * 10 : * SPDX-License-Identifier: MIT 11 : ****************************************************************************/ 12 : 13 : #include "gdalalgorithm.h" 14 : 15 : #include "gdalalg_raster_info.h" 16 : #include "gdalalg_raster_astype.h" 17 : #include "gdalalg_raster_calc.h" 18 : #include "gdalalg_raster_clip.h" 19 : #include "gdalalg_raster_convert.h" 20 : #include "gdalalg_raster_edit.h" 21 : #include "gdalalg_raster_contour.h" 22 : #include "gdalalg_raster_mosaic.h" 23 : #include "gdalalg_raster_overview.h" 24 : #include "gdalalg_raster_pipeline.h" 25 : #include "gdalalg_raster_reproject.h" 26 : #include "gdalalg_raster_resize.h" 27 : #include "gdalalg_raster_scale.h" 28 : #include "gdalalg_raster_select.h" 29 : #include "gdalalg_raster_stack.h" 30 : #include "gdalalg_raster_unscale.h" 31 : 32 : /************************************************************************/ 33 : /* GDALRasterAlgorithm */ 34 : /************************************************************************/ 35 : 36 : class GDALRasterAlgorithm final : public GDALAlgorithm 37 : { 38 : public: 39 : static constexpr const char *NAME = "raster"; 40 : static constexpr const char *DESCRIPTION = "Raster commands."; 41 : static constexpr const char *HELP_URL = "/programs/gdal_raster.html"; 42 : 43 1419 : static std::vector<std::string> GetAliases() 44 : { 45 1419 : return {}; 46 : } 47 : 48 305 : GDALRasterAlgorithm() : GDALAlgorithm(NAME, DESCRIPTION, HELP_URL) 49 : { 50 305 : RegisterSubAlgorithm<GDALRasterInfoAlgorithm>(); 51 305 : RegisterSubAlgorithm<GDALRasterAsTypeAlgorithmStandalone>(); 52 305 : RegisterSubAlgorithm<GDALRasterCalcAlgorithm>(); 53 305 : RegisterSubAlgorithm<GDALRasterConvertAlgorithm>(); 54 305 : RegisterSubAlgorithm<GDALRasterClipAlgorithmStandalone>(); 55 305 : RegisterSubAlgorithm<GDALRasterEditAlgorithmStandalone>(); 56 305 : RegisterSubAlgorithm<GDALRasterOverviewAlgorithm>(); 57 305 : RegisterSubAlgorithm<GDALRasterPipelineAlgorithm>(); 58 305 : RegisterSubAlgorithm<GDALRasterReprojectAlgorithmStandalone>(); 59 305 : RegisterSubAlgorithm<GDALRasterMosaicAlgorithm>(); 60 305 : RegisterSubAlgorithm<GDALRasterResizeAlgorithmStandalone>(); 61 305 : RegisterSubAlgorithm<GDALRasterContourAlgorithm>(); 62 305 : RegisterSubAlgorithm<GDALRasterScaleAlgorithmStandalone>(); 63 305 : RegisterSubAlgorithm<GDALRasterSelectAlgorithmStandalone>(); 64 305 : RegisterSubAlgorithm<GDALRasterStackAlgorithm>(); 65 305 : RegisterSubAlgorithm<GDALRasterUnscaleAlgorithmStandalone>(); 66 305 : } 67 : 68 : private: 69 1 : bool RunImpl(GDALProgressFunc, void *) override 70 : { 71 1 : CPLError(CE_Failure, CPLE_AppDefined, 72 : "The Run() method should not be called directly on the \"gdal " 73 : "raster\" program."); 74 1 : return false; 75 : } 76 : }; 77 : 78 : GDAL_STATIC_REGISTER_ALG(GDALRasterAlgorithm);