LCOV - code coverage report
Current view: top level - apps - gdalalg_raster.cpp (source / functions) Hit Total Coverage
Test: gdal_filtered.info Lines: 55 55 100.0 %
Date: 2026-01-08 02:20:26 Functions: 2 2 100.0 %

          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             : //! @cond Doxygen_Suppress
      14             : 
      15             : #include "gdalalg_raster.h"
      16             : 
      17             : #include "gdalalg_raster_info.h"
      18             : #include "gdalalg_raster_aspect.h"
      19             : #include "gdalalg_raster_blend.h"
      20             : #include "gdalalg_raster_calc.h"
      21             : #include "gdalalg_raster_clip.h"
      22             : #include "gdalalg_raster_clean_collar.h"
      23             : #include "gdalalg_raster_color_map.h"
      24             : #include "gdalalg_raster_compare.h"
      25             : #include "gdalalg_raster_convert.h"
      26             : #include "gdalalg_raster_create.h"
      27             : #include "gdalalg_raster_edit.h"
      28             : #include "gdalalg_raster_as_features.h"
      29             : #include "gdalalg_raster_contour.h"
      30             : #include "gdalalg_raster_footprint.h"
      31             : #include "gdalalg_raster_fill_nodata.h"
      32             : #include "gdalalg_raster_hillshade.h"
      33             : #include "gdalalg_raster_index.h"
      34             : #include "gdalalg_raster_mosaic.h"
      35             : #include "gdalalg_raster_neighbors.h"
      36             : #include "gdalalg_raster_nodata_to_alpha.h"
      37             : #include "gdalalg_raster_overview.h"
      38             : #include "gdalalg_raster_pansharpen.h"
      39             : #include "gdalalg_raster_pipeline.h"
      40             : #include "gdalalg_raster_pixel_info.h"
      41             : #include "gdalalg_raster_polygonize.h"
      42             : #include "gdalalg_raster_proximity.h"
      43             : #include "gdalalg_raster_rgb_to_palette.h"
      44             : #include "gdalalg_raster_reclassify.h"
      45             : #include "gdalalg_raster_reproject.h"
      46             : #include "gdalalg_raster_resize.h"
      47             : #include "gdalalg_raster_roughness.h"
      48             : #include "gdalalg_raster_scale.h"
      49             : #include "gdalalg_raster_select.h"
      50             : #include "gdalalg_raster_set_type.h"
      51             : #include "gdalalg_raster_sieve.h"
      52             : #include "gdalalg_raster_slope.h"
      53             : #include "gdalalg_raster_stack.h"
      54             : #include "gdalalg_raster_tile.h"
      55             : #include "gdalalg_raster_tpi.h"
      56             : #include "gdalalg_raster_tri.h"
      57             : #include "gdalalg_raster_unscale.h"
      58             : #include "gdalalg_raster_update.h"
      59             : #include "gdalalg_raster_viewshed.h"
      60             : #include "gdalalg_raster_zonal_stats.h"
      61             : 
      62             : #include "gdal_priv.h"
      63             : 
      64             : #ifndef _
      65             : #define _(x) (x)
      66             : #endif
      67             : 
      68             : /************************************************************************/
      69             : /*                         GDALRasterAlgorithm                          */
      70             : /************************************************************************/
      71             : 
      72        1651 : GDALRasterAlgorithm::GDALRasterAlgorithm()
      73        1651 :     : GDALAlgorithm(NAME, DESCRIPTION, HELP_URL)
      74             : {
      75             :     AddArg("drivers", 0, _("Display raster driver list as JSON document"),
      76        1651 :            &m_drivers);
      77             : 
      78        1651 :     AddOutputStringArg(&m_output);
      79             : 
      80        1651 :     RegisterSubAlgorithm<GDALRasterInfoAlgorithmStandalone>();
      81        1651 :     RegisterSubAlgorithm<GDALRasterAsFeaturesAlgorithmStandalone>();
      82        1651 :     RegisterSubAlgorithm<GDALRasterAspectAlgorithmStandalone>();
      83        1651 :     RegisterSubAlgorithm<GDALRasterBlendAlgorithmStandalone>();
      84        1651 :     RegisterSubAlgorithm<GDALRasterCalcAlgorithmStandalone>();
      85        1651 :     RegisterSubAlgorithm<GDALRasterCleanCollarAlgorithm>();
      86        1651 :     RegisterSubAlgorithm<GDALRasterClipAlgorithmStandalone>();
      87        1651 :     RegisterSubAlgorithm<GDALRasterColorMapAlgorithmStandalone>();
      88        1651 :     RegisterSubAlgorithm<GDALRasterCompareAlgorithmStandalone>();
      89        1651 :     RegisterSubAlgorithm<GDALRasterConvertAlgorithm>();
      90        1651 :     RegisterSubAlgorithm<GDALRasterCreateAlgorithmStandalone>();
      91        1651 :     RegisterSubAlgorithm<GDALRasterEditAlgorithmStandalone>();
      92        1651 :     RegisterSubAlgorithm<GDALRasterFootprintAlgorithmStandalone>();
      93        1651 :     RegisterSubAlgorithm<GDALRasterHillshadeAlgorithmStandalone>();
      94        1651 :     RegisterSubAlgorithm<GDALRasterFillNodataAlgorithmStandalone>();
      95        1651 :     RegisterSubAlgorithm<GDALRasterIndexAlgorithm>();
      96        1651 :     RegisterSubAlgorithm<GDALRasterNeighborsAlgorithmStandalone>();
      97        1651 :     RegisterSubAlgorithm<GDALRasterOverviewAlgorithmStandalone>();
      98        1651 :     RegisterSubAlgorithm<GDALRasterPipelineAlgorithm>();
      99        1651 :     RegisterSubAlgorithm<GDALRasterPixelInfoAlgorithm>();
     100        1651 :     RegisterSubAlgorithm<GDALRasterProximityAlgorithmStandalone>();
     101        1651 :     RegisterSubAlgorithm<GDALRasterRGBToPaletteAlgorithmStandalone>();
     102        1651 :     RegisterSubAlgorithm<GDALRasterReclassifyAlgorithmStandalone>();
     103        1651 :     RegisterSubAlgorithm<GDALRasterReprojectAlgorithmStandalone>();
     104        1651 :     RegisterSubAlgorithm<GDALRasterMosaicAlgorithmStandalone>();
     105        1651 :     RegisterSubAlgorithm<GDALRasterNoDataToAlphaAlgorithmStandalone>();
     106        1651 :     RegisterSubAlgorithm<GDALRasterPansharpenAlgorithmStandalone>();
     107        1651 :     RegisterSubAlgorithm<GDALRasterPolygonizeAlgorithmStandalone>();
     108        1651 :     RegisterSubAlgorithm<GDALRasterResizeAlgorithmStandalone>();
     109        1651 :     RegisterSubAlgorithm<GDALRasterRoughnessAlgorithmStandalone>();
     110        1651 :     RegisterSubAlgorithm<GDALRasterContourAlgorithmStandalone>();
     111        1651 :     RegisterSubAlgorithm<GDALRasterScaleAlgorithmStandalone>();
     112        1651 :     RegisterSubAlgorithm<GDALRasterSelectAlgorithmStandalone>();
     113        1651 :     RegisterSubAlgorithm<GDALRasterSetTypeAlgorithmStandalone>();
     114        1651 :     RegisterSubAlgorithm<GDALRasterSieveAlgorithmStandalone>();
     115        1651 :     RegisterSubAlgorithm<GDALRasterSlopeAlgorithmStandalone>();
     116        1651 :     RegisterSubAlgorithm<GDALRasterStackAlgorithmStandalone>();
     117        1651 :     RegisterSubAlgorithm<GDALRasterTileAlgorithmStandalone>();
     118        1651 :     RegisterSubAlgorithm<GDALRasterTPIAlgorithmStandalone>();
     119        1651 :     RegisterSubAlgorithm<GDALRasterTRIAlgorithmStandalone>();
     120        1651 :     RegisterSubAlgorithm<GDALRasterUnscaleAlgorithmStandalone>();
     121        1651 :     RegisterSubAlgorithm<GDALRasterUpdateAlgorithmStandalone>();
     122        1651 :     RegisterSubAlgorithm<GDALRasterViewshedAlgorithmStandalone>();
     123        1651 :     RegisterSubAlgorithm<GDALRasterZonalStatsAlgorithmStandalone>();
     124        1651 : }
     125             : 
     126           2 : bool GDALRasterAlgorithm::RunImpl(GDALProgressFunc, void *)
     127             : {
     128           2 :     if (m_drivers)
     129             :     {
     130           1 :         m_output = GDALPrintDriverList(GDAL_OF_RASTER, true);
     131           1 :         return true;
     132             :     }
     133             :     else
     134             :     {
     135           1 :         CPLError(CE_Failure, CPLE_AppDefined,
     136             :                  "The Run() method should not be called directly on the \"gdal "
     137             :                  "raster\" program.");
     138           1 :         return false;
     139             :     }
     140             : }
     141             : 
     142             : //! @endcond

Generated by: LCOV version 1.14