[
  {
    "name": "g.extension.list",
    "display_name": "g.extension.list",
    "command": "g.extension",
    "short_description": "g.extension.list - List GRASS addons.",
    "group": "General (g.*)",
    "group_id": "general",
    "ext_path": "g_extension_list",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterEnum|list|List|Locally installed extensions;Extensions available in the official GRASS GIS Addons repository;Extensions available in the official GRASS GIS Addons repository including module description|False|0|False",
      "QgsProcessingParameterFileDestination|html|List of addons|Html files (*.html)|addons_list.html|True"
    ]
  },
  {
    "name": "g.extension.manage",
    "display_name": "g.extension.manage",
    "command": "g.extension",
    "short_description": "g.extension.manage - Install or uninstall GRASS addons.",
    "group": "General (g.*)",
    "group_id": "general",
    "ext_path": "g_extension_manage",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterString|extension|Name of Extension|None|False",
      "QgsProcessingParameterEnum|operation|Operation|add;remove|False|None|False",
      "QgsProcessingParameterBoolean|-f|Force (required for removal)|False",
      "QgsProcessingParameterBoolean|-t|Operate on toolboxes instead of single modules (experimental)|False"
    ]
  },
  {
    "name": "g.version",
    "display_name": "g.version",
    "command": "g.version",
    "short_description": "g.version - Display GRASS GIS version info. <p>Prints only version if run with no options checked.",
    "group": "General (g.*)",
    "group_id": "general",
    "ext_path": "g_version",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterBoolean|-c|Print copyright message|False",
      "QgsProcessingParameterBoolean|-x|Print citation options|False",
      "QgsProcessingParameterBoolean|-b|Print build information|False",
      "QgsProcessingParameterBoolean|-r|Print GIS library revision number and date|True",
      "QgsProcessingParameterBoolean|-e|Print info for additional libraries|True",
      "QgsProcessingParameterBoolean|-g|Print in shell script style (with Git commit reference)|False",
      "QgsProcessingParameterBoolean|--verbose|Print verbose output|False",
      "QgsProcessingParameterFileDestination|html|Output file|Html files (*.html)|grass_version_info.html|True"
    ]
  },
  {
    "name": "i.albedo",
    "display_name": "i.albedo",
    "command": "i.albedo",
    "short_description": "Computes broad band albedo from surface reflectance.",
    "group": "Imagery (i.*)",
    "group_id": "imagery",
    "ext_path": "i_albedo",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterMultipleLayers|input|Name of input raster maps|3|None|False",
      "QgsProcessingParameterBoolean|-m|MODIS (7 input bands:1,2,3,4,5,6,7)|False",
      "QgsProcessingParameterBoolean|-n|NOAA AVHRR (2 input bands:1,2)|False",
      "QgsProcessingParameterBoolean|-l|Landsat 5+7 (6 input bands:1,2,3,4,5,7)|False",
      "QgsProcessingParameterBoolean|-8|Landsat 8 (7 input bands:1,2,3,4,5,6,7)|False",
      "QgsProcessingParameterBoolean|-a|ASTER (6 input bands:1,3,5,6,8,9)|False",
      "QgsProcessingParameterBoolean|-c|Aggressive mode (Landsat)|False",
      "QgsProcessingParameterBoolean|-d|Soft mode (MODIS)|False",
      "QgsProcessingParameterRasterDestination|output|Albedo"
    ]
  },
  {
    "name": "i.aster.toar",
    "display_name": "i.aster.toar",
    "command": "i.aster.toar",
    "short_description": "Calculates Top of Atmosphere Radiance/Reflectance/Brightness Temperature from ASTER DN.",
    "group": "Imagery (i.*)",
    "group_id": "imagery",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterMultipleLayers|input|Names of ASTER DN layers (15 layers)|3|None|False",
      "QgsProcessingParameterNumber|dayofyear|Day of Year of satellite overpass [0-366]|QgsProcessingParameterNumber.Integer|0|False|0|366",
      "QgsProcessingParameterNumber|sun_elevation|Sun elevation angle (degrees, < 90.0)|QgsProcessingParameterNumber.Double|None|False|0.0|90.0",
      "QgsProcessingParameterBoolean|-r|Output is radiance (W/m2)|False",
      "QgsProcessingParameterBoolean|-a|VNIR is High Gain|False",
      "QgsProcessingParameterBoolean|-b|SWIR is High Gain|False",
      "QgsProcessingParameterBoolean|-c|VNIR is Low Gain 1|False",
      "QgsProcessingParameterBoolean|-d|SWIR is Low Gain 1|False",
      "QgsProcessingParameterBoolean|-e|SWIR is Low Gain 2|False",
      "QgsProcessingParameterFolderDestination|output|Output Directory"
    ]
  },
  {
    "name": "i.atcorr",
    "display_name": "i.atcorr",
    "command": "i.atcorr",
    "short_description": "Performs atmospheric correction using the 6S algorithm.",
    "group": "Imagery (i.*)",
    "group_id": "imagery",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False",
      "QgsProcessingParameterRange|range|Input imagery range [0,255]|QgsProcessingParameterNumber.Integer|0,255|True",
      "QgsProcessingParameterRasterLayer|elevation|Input altitude raster map in m (optional)|None|True",
      "QgsProcessingParameterRasterLayer|visibility|Input visibility raster map in km (optional)|None|True",
      "QgsProcessingParameterFile|parameters|Name of input text file|QgsProcessingParameterFile.File|txt|None|False",
      "QgsProcessingParameterRange|rescale|Rescale output raster map [0,255]|QgsProcessingParameterNumber.Integer|0,255|True",
      "QgsProcessingParameterRasterDestination|output|Atmospheric correction",
      "*QgsProcessingParameterBoolean|-i|Output raster map as integer|False",
      "*QgsProcessingParameterBoolean|-r|Input raster map converted to reflectance (default is radiance)|False",
      "*QgsProcessingParameterBoolean|-a|Input from ETM+ image taken after July 1, 2000|False",
      "*QgsProcessingParameterBoolean|-b|Input from ETM+ image taken before July 1, 2000|False"
    ]
  },
  {
    "name": "i.biomass",
    "display_name": "i.biomass",
    "command": "i.biomass",
    "short_description": "Computes biomass growth, precursor of crop yield calculation.",
    "group": "Imagery (i.*)",
    "group_id": "imagery",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|fpar|Name of fPAR raster map|None|False",
      "QgsProcessingParameterRasterLayer|lightuse_efficiency|Name of light use efficiency raster map (UZB:cotton=1.9)|None|False",
      "QgsProcessingParameterRasterLayer|latitude|Name of degree latitude raster map [dd.ddd]|None|False",
      "QgsProcessingParameterRasterLayer|dayofyear|Name of Day of Year raster map [1-366]|None|False",
      "QgsProcessingParameterRasterLayer|transmissivity_singleway|Name of single-way transmissivity raster map [0.0-1.0]|None|False",
      "QgsProcessingParameterRasterLayer|water_availability|Value of water availability raster map [0.0-1.0]|None|False",
      "QgsProcessingParameterRasterDestination|output|Biomass"
    ]
  },
  {
    "name": "i.cca",
    "display_name": "i.cca",
    "command": "i.cca",
    "short_description": "Canonical components analysis (CCA) program for image processing.",
    "group": "Imagery (i.*)",
    "group_id": "imagery",
    "ext_path": "i_cca",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterMultipleLayers|input|Input rasters (2 to 8)|3|None|False",
      "QgsProcessingParameterFile|signature|File containing spectral signatures|QgsProcessingParameterFile.File|txt|None|False",
      "QgsProcessingParameterFolderDestination|output|Output Directory"
    ]
  },
  {
    "name": "i.cluster",
    "display_name": "i.cluster",
    "command": "i.cluster",
    "short_description": "Generates spectral signatures for land cover types in an image using a clustering algorithm.",
    "group": "Imagery (i.*)",
    "group_id": "imagery",
    "ext_path": "i_cluster",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterMultipleLayers|input|Input rasters|3|None|False",
      "QgsProcessingParameterNumber|classes|Initial number of classes (1-255)|QgsProcessingParameterNumber.Integer|None|False|1|255",
      "QgsProcessingParameterFile|seed|Name of file containing initial signatures|QgsProcessingParameterFile.File|txt|None|True",
      "QgsProcessingParameterString|sample|Sampling intervals (by row and col)|None|False|True",
      "QgsProcessingParameterNumber|iterations|Maximum number of iterations|QgsProcessingParameterNumber.Integer|30|True|1|None",
      "QgsProcessingParameterNumber|convergence|Percent convergence|QgsProcessingParameterNumber.Double|98.0|True|0.0|100.0",
      "QgsProcessingParameterNumber|separation|Cluster separation|QgsProcessingParameterNumber.Double|0.0|True|0.0|None",
      "QgsProcessingParameterNumber|min_size|Minimum number of pixels in a class|QgsProcessingParameterNumber.Integer|17|True|1|None",
      "QgsProcessingParameterFileDestination|signaturefile|Signature File|Txt files (*.txt)|None|False",
      "QgsProcessingParameterFileDestination|reportfile|Final Report File|Txt files (*.txt)|None|True"
    ]
  },
  {
    "name": "i.colors.enhance",
    "display_name": "i.colors.enhance",
    "command": "i.colors.enhance",
    "short_description": "Performs auto-balancing of colors for RGB images.",
    "group": "Imagery (i.*)",
    "group_id": "imagery",
    "ext_path": "i_colors_enhance",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|red|Name of red channel|None|False",
      "QgsProcessingParameterRasterLayer|green|Name of green channel|None|False",
      "QgsProcessingParameterRasterLayer|blue|Name of blue channel|None|False",
      "QgsProcessingParameterNumber|strength|Cropping intensity (upper brightness level)|QgsProcessingParameterNumber.Double|98.0|True|0.0|100.0",
      "*QgsProcessingParameterBoolean|-f|Extend colors to full range of data on each channel|False",
      "*QgsProcessingParameterBoolean|-p|Preserve relative colors, adjust brightness only|False",
      "*QgsProcessingParameterBoolean|-r|Reset to standard color range|False",
      "*QgsProcessingParameterBoolean|-s|Process bands serially (default: run in parallel)|False",
      "QgsProcessingParameterRasterDestination|redoutput|Enhanced Red",
      "QgsProcessingParameterRasterDestination|greenoutput|Enhanced Green",
      "QgsProcessingParameterRasterDestination|blueoutput|Enhanced Blue"
    ]
  },
  {
    "name": "i.eb.eta",
    "display_name": "i.eb.eta",
    "command": "i.eb.eta",
    "short_description": "Actual evapotranspiration for diurnal period (Bastiaanssen, 1995).",
    "group": "Imagery (i.*)",
    "group_id": "imagery",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|netradiationdiurnal|Name of the diurnal net radiation map [W/m2]|None|False",
      "QgsProcessingParameterRasterLayer|evaporativefraction|Name of the evaporative fraction map|None|False",
      "QgsProcessingParameterRasterLayer|temperature|Name of the surface skin temperature [K]|None|False",
      "QgsProcessingParameterRasterDestination|output|Evapotranspiration"
    ]
  },
  {
    "name": "i.eb.evapfr",
    "display_name": "i.eb.evapfr",
    "command": "i.eb.evapfr",
    "short_description": "Computes evaporative fraction (Bastiaanssen, 1995) and root zone soil moisture (Makin, Molden and Bastiaanssen, 2001).",
    "group": "Imagery (i.*)",
    "group_id": "imagery",
    "ext_path": null,
    "hardcoded_strings": [
      "-m"
    ],
    "parameters": [
      "QgsProcessingParameterRasterLayer|netradiation|Name of Net Radiation raster map [W/m2]|None|False",
      "QgsProcessingParameterRasterLayer|soilheatflux|Name of soil heat flux raster map [W/m2]|None|False",
      "QgsProcessingParameterRasterLayer|sensibleheatflux|Name of sensible heat flux raster map [W/m2]|None|False",
      "Hardcoded|-m",
      "QgsProcessingParameterRasterDestination|evaporativefraction|Evaporative Fraction|None|False",
      "QgsProcessingParameterRasterDestination|soilmoisture|Root Zone Soil Moisture|None|True"
    ]
  },
  {
    "name": "i.eb.hsebal01.coords",
    "display_name": "i.eb.hsebal01.coords",
    "command": "i.eb.hsebal01",
    "short_description": "i.eb.hsebal01.coords - Computes sensible heat flux iteration SEBAL 01. Inline coordinates",
    "group": "Imagery (i.*)",
    "group_id": "imagery",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|netradiation|Name of instantaneous net radiation raster map [W/m2]|None|False",
      "QgsProcessingParameterRasterLayer|soilheatflux|Name of instantaneous soil heat flux raster map [W/m2]|None|False",
      "QgsProcessingParameterRasterLayer|aerodynresistance|Name of aerodynamic resistance to heat momentum raster map [s/m]|None|False",
      "QgsProcessingParameterRasterLayer|temperaturemeansealevel|Name of altitude corrected surface temperature raster map [K]|None|False",
      "QgsProcessingParameterNumber|frictionvelocitystar|Value of the height independent friction velocity (u*) [m/s]|QgsProcessingParameterNumber.Double|0.32407|False|0.0|None",
      "QgsProcessingParameterRasterLayer|vapourpressureactual|Name of the actual vapour pressure (e_act) map [KPa]|None|False",
      "QgsProcessingParameterNumber|row_wet_pixel|Row value of the wet pixel|QgsProcessingParameterNumber.Double|None|True|None|None",
      "QgsProcessingParameterNumber|column_wet_pixel|Column value of the wet pixel|QgsProcessingParameterNumber.Double|None|True|None|None",
      "QgsProcessingParameterNumber|row_dry_pixel|Row value of the dry pixel|QgsProcessingParameterNumber.Double|None|True|None|None",
      "QgsProcessingParameterNumber|column_dry_pixel|Column value of the dry pixel|QgsProcessingParameterNumber.Double|None|True|None|None",
      "*QgsProcessingParameterBoolean|-a|Automatic wet/dry pixel (careful!)|False",
      "*QgsProcessingParameterBoolean|-c|Dry/Wet pixels coordinates are in image projection, not row/col|False",
      "QgsProcessingParameterRasterDestination|output|Sensible Heat Flux"
    ]
  },
  {
    "name": "i.eb.netrad",
    "display_name": "i.eb.netrad",
    "command": "i.eb.netrad",
    "short_description": "Net radiation approximation (Bastiaanssen, 1995).",
    "group": "Imagery (i.*)",
    "group_id": "imagery",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|albedo|Name of albedo raster map [0.0;1.0]|None|False",
      "QgsProcessingParameterRasterLayer|ndvi|Name of NDVI raster map [-1.0;+1.0]|None|False",
      "QgsProcessingParameterRasterLayer|temperature|Name of surface temperature raster map [K]|None|False",
      "QgsProcessingParameterRasterLayer|localutctime|Name of time of satellite overpass raster map [local time in UTC]|None|False",
      "QgsProcessingParameterRasterLayer|temperaturedifference2m|Name of the difference map of temperature from surface skin to about 2 m height [K]|None|False",
      "QgsProcessingParameterRasterLayer|emissivity|Name of the emissivity map [-]|None|False",
      "QgsProcessingParameterRasterLayer|transmissivity_singleway|Name of the single-way atmospheric transmissivitymap [-]|None|False",
      "QgsProcessingParameterRasterLayer|dayofyear|Name of the Day Of Year (DOY) map [-]|None|False",
      "QgsProcessingParameterRasterLayer|sunzenithangle|Name of the sun zenith angle map [degrees]|None|False",
      "QgsProcessingParameterRasterDestination|output|Net Radiation"
    ]
  },
  {
    "name": "i.eb.soilheatflux",
    "display_name": "i.eb.soilheatflux",
    "command": "i.eb.soilheatflux",
    "short_description": "Soil heat flux approximation (Bastiaanssen, 1995).",
    "group": "Imagery (i.*)",
    "group_id": "imagery",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|albedo|Name of albedo raster map [0.0;1.0]|None|False",
      "QgsProcessingParameterRasterLayer|ndvi|Name of NDVI raster map [-1.0;+1.0]|None|False",
      "QgsProcessingParameterRasterLayer|temperature|Name of Surface temperature raster map [K]|None|False",
      "QgsProcessingParameterRasterLayer|netradiation|Name of Net Radiation raster map [W/m2]|None|False",
      "QgsProcessingParameterRasterLayer|localutctime|Name of time of satellite overpass raster map [local time in UTC]|None|False",
      "QgsProcessingParameterBoolean|-r|HAPEX-Sahel empirical correction (Roerink, 1995)|False",
      "QgsProcessingParameterRasterDestination|output|Soil Heat Flux"
    ]
  },
  {
    "name": "i.emissivity",
    "display_name": "i.emissivity",
    "command": "i.emissivity",
    "short_description": "Computes emissivity from NDVI, generic method for sparse land.",
    "group": "Imagery (i.*)",
    "group_id": "imagery",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Name of NDVI raster map [-]|None|False",
      "QgsProcessingParameterRasterDestination|output|Emissivity"
    ]
  },
  {
    "name": "i.evapo.mh",
    "display_name": "i.evapo.mh",
    "command": "i.evapo.mh",
    "short_description": "Computes evapotranspiration calculation modified or original Hargreaves formulation, 2001.",
    "group": "Imagery (i.*)",
    "group_id": "imagery",
    "ext_path": "i_evapo_mh",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|netradiation_diurnal|Name of input diurnal net radiation raster map [W/m2/d]|None|False",
      "QgsProcessingParameterRasterLayer|average_temperature|Name of input average air temperature raster map [C]|None|False",
      "QgsProcessingParameterRasterLayer|minimum_temperature|Name of input minimum air temperature raster map [C]|None|False",
      "QgsProcessingParameterRasterLayer|maximum_temperature|Name of input maximum air temperature raster map [C]|None|False",
      "QgsProcessingParameterRasterLayer|precipitation|Name of precipitation raster map [mm/month]|None|True",
      "*QgsProcessingParameterBoolean|-z|Set negative ETa to zero|False",
      "*QgsProcessingParameterBoolean|-h|Use original Hargreaves (1985)|False",
      "*QgsProcessingParameterBoolean|-s|Use Hargreaves-Samani (1985)|False",
      "QgsProcessingParameterRasterDestination|output|Evapotranspiration"
    ]
  },
  {
    "name": "i.evapo.pm",
    "display_name": "i.evapo.pm",
    "command": "i.evapo.pm",
    "short_description": "Computes potential evapotranspiration calculation with hourly Penman-Monteith.",
    "group": "Imagery (i.*)",
    "group_id": "imagery",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|elevation|Name of input elevation raster map [m a.s.l.]|None|False",
      "QgsProcessingParameterRasterLayer|temperature|Name of input temperature raster map [C]|None|False",
      "QgsProcessingParameterRasterLayer|relativehumidity|Name of input relative humidity raster map [%]|None|False",
      "QgsProcessingParameterRasterLayer|windspeed|Name of input wind speed raster map [m/s]|None|False",
      "QgsProcessingParameterRasterLayer|netradiation|Name of input net solar radiation raster map [MJ/m2/h]|None|False",
      "QgsProcessingParameterRasterLayer|cropheight|Name of input crop height raster map [m]|None|False",
      "*QgsProcessingParameterBoolean|-z|Set negative ETa to zero|False",
      "*QgsProcessingParameterBoolean|-n|Use Night-time|False",
      "QgsProcessingParameterRasterDestination|output|Evapotranspiration"
    ]
  },
  {
    "name": "i.evapo.pt",
    "display_name": "i.evapo.pt",
    "command": "i.evapo.pt",
    "short_description": "Computes evapotranspiration calculation Priestley and Taylor formulation, 1972.",
    "group": "Imagery (i.*)",
    "group_id": "imagery",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|net_radiation|Name of input net radiation raster map [W/m2]|None|False",
      "QgsProcessingParameterRasterLayer|soil_heatflux|Name of input soil heat flux raster map [W/m2]|None|False",
      "QgsProcessingParameterRasterLayer|air_temperature|Name of input air temperature raster map [K]|None|False",
      "QgsProcessingParameterRasterLayer|atmospheric_pressure|Name of input atmospheric pressure raster map [millibars]|None|False",
      "QgsProcessingParameterNumber|priestley_taylor_coeff|Priestley-Taylor coefficient|QgsProcessingParameterNumber.Double|1.26|False|0.0|None",
      "*QgsProcessingParameterBoolean|-z|Set negative ETa to zero|False",
      "QgsProcessingParameterRasterDestination|output|Evapotranspiration"
    ]
  },
  {
    "name": "i.evapo.time",
    "display_name": "i.evapo.time",
    "command": "i.evapo.time",
    "short_description": "Computes temporal integration of satellite ET actual (ETa) following the daily ET reference (ETo) from meteorological station(s).",
    "group": "Imagery (i.*)",
    "group_id": "imagery",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterMultipleLayers|eta|Names of satellite ETa raster maps [mm/d or cm/d]|3|None|False",
      "QgsProcessingParameterMultipleLayers|eta_doy|Names of satellite ETa Day of Year (DOY) raster maps [0-400] [-]|3|None|False",
      "QgsProcessingParameterMultipleLayers|eto|Names of meteorological station ETo raster maps [0-400] [mm/d or cm/d]|3|None|False",
      "QgsProcessingParameterNumber|eto_doy_min|Value of DOY for ETo first day|QgsProcessingParameterNumber.Double|1|False|0|366",
      "QgsProcessingParameterNumber|start_period|Value of DOY for the first day of the period studied|QgsProcessingParameterNumber.Double|1.0|False|0.0|366.0",
      "QgsProcessingParameterNumber|end_period|Value of DOY for the last day of the period studied|QgsProcessingParameterNumber.Double|1.0|False|0.0|366.0",
      "QgsProcessingParameterRasterDestination|output|Temporal integration"
    ]
  },
  {
    "name": "i.fft",
    "display_name": "i.fft",
    "command": "i.fft",
    "short_description": "Fast Fourier Transform (FFT) for image processing.",
    "group": "Imagery (i.*)",
    "group_id": "imagery",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False",
      "QgsProcessingParameterRasterDestination|real|Real part arrays",
      "QgsProcessingParameterRasterDestination|imaginary|Imaginary part arrays"
    ]
  },
  {
    "name": "i.gensig",
    "display_name": "i.gensig",
    "command": "i.gensig",
    "short_description": "Generates statistics for i.maxlik from raster map.",
    "group": "Imagery (i.*)",
    "group_id": "imagery",
    "ext_path": "i_gensig",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|trainingmap|Ground truth training map|None|False",
      "QgsProcessingParameterMultipleLayers|input|Input rasters|3|None|False",
      "QgsProcessingParameterFileDestination|signaturefile|Signature File|Txt files (*.txt)|None|False"
    ]
  },
  {
    "name": "i.gensigset",
    "display_name": "i.gensigset",
    "command": "i.gensigset",
    "short_description": "Generates statistics for i.smap from raster map.",
    "group": "Imagery (i.*)",
    "group_id": "imagery",
    "ext_path": "i_gensigset",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|trainingmap|Ground truth training map|None|False",
      "QgsProcessingParameterMultipleLayers|input|Input rasters|3|None|False",
      "QgsProcessingParameterNumber|maxsig|Maximum number of sub-signatures in any class|QgsProcessingParameterNumber.Integer|5|True|0|None",
      "QgsProcessingParameterFileDestination|signaturefile|Signature File|Txt files (*.txt)|None|False"
    ]
  },
  {
    "name": "i.group",
    "display_name": "i.group",
    "command": "i.group",
    "short_description": "Regroup multiple mono-band rasters into a single multiband raster.",
    "group": "Imagery (i.*)",
    "group_id": "imagery",
    "ext_path": "i_group",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterMultipleLayers|input|Input rasters|3|None|False",
      "QgsProcessingParameterRasterDestination|group|Multiband raster"
    ]
  },
  {
    "name": "i.his.rgb",
    "display_name": "i.his.rgb",
    "command": "i.his.rgb",
    "short_description": "Transforms raster maps from HIS (Hue-Intensity-Saturation) color space to RGB (Red-Green-Blue) color space.",
    "group": "Imagery (i.*)",
    "group_id": "imagery",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|hue|Name of input raster map (hue)|None|False",
      "QgsProcessingParameterRasterLayer|intensity|Name of input raster map (intensity)|None|False",
      "QgsProcessingParameterRasterLayer|saturation|Name of input raster map (saturation)|None|False",
      "QgsProcessingParameterRasterDestination|red|Red",
      "QgsProcessingParameterRasterDestination|green|Green",
      "QgsProcessingParameterRasterDestination|blue|Blue"
    ]
  },
  {
    "name": "i.ifft",
    "display_name": "i.ifft",
    "command": "i.ifft",
    "short_description": "Inverse Fast Fourier Transform (IFFT) for image processing.",
    "group": "Imagery (i.*)",
    "group_id": "imagery",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|real|Name of input raster map (image fft, real part)|None|False",
      "QgsProcessingParameterRasterLayer|imaginary|Name of input raster map (image fft, imaginary part)|None|False",
      "QgsProcessingParameterRasterDestination|output|Inverse Fast Fourier Transform"
    ]
  },
  {
    "name": "i.image.mosaic",
    "display_name": "i.image.mosaic",
    "command": "i.image.mosaic",
    "short_description": "Mosaics several images and extends colormap.",
    "group": "Imagery (i.*)",
    "group_id": "imagery",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterMultipleLayers|input|Input rasters|3|None|False",
      "QgsProcessingParameterRasterDestination|output|Mosaic Raster"
    ]
  },
  {
    "name": "i.in.spotvgt",
    "display_name": "i.in.spotvgt",
    "command": "i.in.spotvgt",
    "short_description": "Imports SPOT VGT NDVI data into a raster map.",
    "group": "Imagery (i.*)",
    "group_id": "imagery",
    "ext_path": "i_in_spotvgt",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFile|input|Name of input SPOT VGT NDVI HDF file|QgsProcessingParameterFile.File|hdf|None|False",
      "*QgsProcessingParameterBoolean|-a|Also import quality map (SM status map layer) and filter NDVI map|False",
      "QgsProcessingParameterRasterDestination|output|SPOT NDVI Raster"
    ]
  },
  {
    "name": "i.landsat.acca",
    "display_name": "i.landsat.acca",
    "command": "i.landsat.acca",
    "short_description": "Performs Landsat TM/ETM+ Automatic Cloud Cover Assessment (ACCA).",
    "group": "Imagery (i.*)",
    "group_id": "imagery",
    "ext_path": "i_landsat_acca",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterMultipleLayers|rasters|Landsat input rasters|3|None|False",
      "QgsProcessingParameterNumber|b56composite|B56composite (step 6)|QgsProcessingParameterNumber.Double|225.0|True|0.0|None",
      "QgsProcessingParameterNumber|b45ratio|B45ratio: Desert detection (step 10)|QgsProcessingParameterNumber.Double|1.0|True|0.0|None",
      "QgsProcessingParameterNumber|histogram|Number of classes in the cloud temperature histogram|QgsProcessingParameterNumber.Integer|100|True|0|None",
      "*QgsProcessingParameterBoolean|-5|Data is Landsat-5 TM|False",
      "*QgsProcessingParameterBoolean|-f|Apply post-processing filter to remove small holes|False",
      "*QgsProcessingParameterBoolean|-x|Always use cloud signature (step 14)|False",
      "*QgsProcessingParameterBoolean|-2|Bypass second-pass processing, and merge warm (not ambiguous) and cold clouds|False",
      "*QgsProcessingParameterBoolean|-s|Include a category for cloud shadows|False",
      "QgsProcessingParameterRasterDestination|output|ACCA Raster"
    ]
  },
  {
    "name": "i.landsat.toar",
    "display_name": "i.landsat.toar",
    "command": "i.landsat.toar",
    "short_description": "Calculates top-of-atmosphere radiance or reflectance and temperature for Landsat MSS/TM/ETM+/OLI",
    "group": "Imagery (i.*)",
    "group_id": "imagery",
    "ext_path": "i_landsat_toar",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterMultipleLayers|rasters|Landsat input rasters|3|None|False",
      "QgsProcessingParameterFile|metfile|Name of Landsat metadata file (.met or MTL.txt)|QgsProcessingParameterFile.File|None|None|True|Landsat metadata (*.met *.MET *.txt *.TXT)",
      "QgsProcessingParameterEnum|sensor|Spacecraft sensor|mss1;mss2;mss3;mss4;mss5;tm4;tm5;tm7;oli8|False|7|True",
      "QgsProcessingParameterEnum|method|Atmospheric correction method|uncorrected;dos1;dos2;dos2b;dos3;dos4|False|0|True",
      "QgsProcessingParameterString|date|Image acquisition date (yyyy-mm-dd)|None|False|True",
      "QgsProcessingParameterNumber|sun_elevation|Sun elevation in degrees|QgsProcessingParameterNumber.Double|None|True|0.0|360.0",
      "QgsProcessingParameterString|product_date|Image creation date (yyyy-mm-dd)|None|False|True",
      "QgsProcessingParameterString|gain|Gain (H/L) of all Landsat ETM+ bands (1-5,61,62,7,8)|None|False|True",
      "QgsProcessingParameterNumber|percent|Percent of solar radiance in path radiance|QgsProcessingParameterNumber.Double|0.01|True|0.0|100.0",
      "QgsProcessingParameterNumber|pixel|Minimum pixels to consider digital number as dark object|QgsProcessingParameterNumber.Integer|1000|True|0|None",
      "QgsProcessingParameterNumber|rayleigh|Rayleigh atmosphere (diffuse sky irradiance)|QgsProcessingParameterNumber.Double|0.0|True|0.0|None",
      "QgsProcessingParameterNumber|scale|Scale factor for output|QgsProcessingParameterNumber.Double|1.0|True|0.0|None",
      "*QgsProcessingParameterBoolean|-r|Output at-sensor radiance instead of reflectance for all bands|False",
      "*QgsProcessingParameterBoolean|-n|Input raster maps use as extension the number of the band instead the code|False",
      "QgsProcessingParameterFolderDestination|output|Output Directory"
    ]
  },
  {
    "name": "i.maxlik",
    "display_name": "i.maxlik",
    "command": "i.maxlik",
    "short_description": "Classifies the cell spectral reflectances in imagery data.",
    "group": "Imagery (i.*)",
    "group_id": "imagery",
    "ext_path": "i_maxlik",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterMultipleLayers|input|Input rasters|3|None|False",
      "QgsProcessingParameterFile|signaturefile|Name of input file containing signatures|QgsProcessingParameterFile.File|txt|None|False",
      "QgsProcessingParameterRasterDestination|output|Classification|None|False",
      "QgsProcessingParameterRasterDestination|reject|Reject Threshold|None|True"
    ]
  },
  {
    "name": "i.modis.qc",
    "display_name": "i.modis.qc",
    "command": "i.modis.qc",
    "short_description": "Extracts quality control parameters from MODIS QC layers.",
    "group": "Imagery (i.*)",
    "group_id": "imagery",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Name of input surface reflectance QC layer [bit array]|None|False",
      "QgsProcessingParameterEnum|productname|Name of MODIS product type|mod09Q1;mod09A1;mod09A1s;mod09CMG;mod09CMGs;mod09CMGi;mod11A1;mod11A2;mod13A2;mcd43B2;mcd43B2q;mod13Q1|False|8|False",
      "QgsProcessingParameterEnum|qcname|Name of QC type to extract|adjcorr;atcorr;cloud;data_quality;diff_orbit_from_500m;modland_qa;mandatory_qa_11A1;data_quality_flag_11A1;emis_error_11A1;lst_error_11A1;data_quality_flag_11A2;emis_error_11A2;mandatory_qa_11A2;lst_error_11A2;aerosol_quantity;brdf_correction_performed;cirrus_detected;cloud_shadow;cloud_state;internal_cloud_algorithm;internal_fire_algorithm;internal_snow_mask;land_water;mod35_snow_ice;pixel_adjacent_to_cloud;icm_cloudy;icm_clear;icm_high_clouds;icm_low_clouds;icm_snow;icm_fire;icm_sun_glint;icm_dust;icm_cloud_shadow;icm_pixel_is_adjacent_to_cloud;icm_cirrus;icm_pan_flag;icm_criteria_for_aerosol_retrieval;icm_aot_has_clim_val;modland_qa;vi_usefulness;aerosol_quantity;pixel_adjacent_to_cloud;brdf_correction_performed;mixed_clouds;land_water;possible_snow_ice;possible_shadow;platform;land_water;sun_z_angle_at_local_noon;brdf_correction_performed|False|5|False",
      "QgsProcessingParameterEnum|band|Band number of MODIS product (mod09Q1=[1,2],mod09A1=[1-7],m[o/y]d09CMG=[1-7], mcd43B2q=[1-7])|1;2;3;4;5;6;7|True|0,1|True",
      "QgsProcessingParameterRasterDestination|output|QC Classification"
    ]
  },
  {
    "name": "i.oif",
    "display_name": "i.oif",
    "command": "i.oif",
    "short_description": "Calculates Optimum-Index-Factor table for spectral bands",
    "group": "Imagery (i.*)",
    "group_id": "imagery",
    "ext_path": "i_oif",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterMultipleLayers|input|Name of input raster map(s)|3|None|False",
      "*QgsProcessingParameterBoolean|-g|Print in shell script style|False",
      "*QgsProcessingParameterBoolean|-s|Process bands serially (default: run in parallel)|False",
      "QgsProcessingParameterFileDestination|output|OIF File|Txt files (*.txt)|None|False"
    ]
  },
  {
    "name": "i.pansharpen",
    "display_name": "i.pansharpen",
    "command": "i.pansharpen",
    "short_description": "Image fusion algorithms to sharpen multispectral with high-res panchromatic channels",
    "group": "Imagery (i.*)",
    "group_id": "imagery",
    "ext_path": "i_pansharpen",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|red|Name of red channel|None|False",
      "QgsProcessingParameterRasterLayer|green|Name of green channel|None|False",
      "QgsProcessingParameterRasterLayer|blue|Name of blue channel|None|False",
      "QgsProcessingParameterRasterLayer|pan|Name of raster map to be used for high resolution panchromatic channel|None|False",
      "QgsProcessingParameterEnum|method|Method|brovey;ihs;pca|False|1|False",
      "*QgsProcessingParameterBoolean|-l|Rebalance blue channel for LANDSAT|False",
      "*QgsProcessingParameterBoolean|-s|Process bands serially (default: run in parallel)|False",
      "QgsProcessingParameterRasterDestination|redoutput|Enhanced Red",
      "QgsProcessingParameterRasterDestination|greenoutput|Enhanced Green",
      "QgsProcessingParameterRasterDestination|blueoutput|Enhanced Blue"
    ]
  },
  {
    "name": "i.pca",
    "display_name": "i.pca",
    "command": "i.pca",
    "short_description": "Principal components analysis (PCA) for image processing.",
    "group": "Imagery (i.*)",
    "group_id": "imagery",
    "ext_path": "i_pca",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterMultipleLayers|input|Name of two or more input raster maps|3|None|False",
      "QgsProcessingParameterRange|rescale|Rescaling range for output maps. For no rescaling use 0,0|QgsProcessingParameterNumber.Integer|0,255|True",
      "QgsProcessingParameterNumber|percent|Cumulative percent importance for filtering|QgsProcessingParameterNumber.Integer|99|True|50|99",
      "*QgsProcessingParameterBoolean|-n|Normalize (center and scale) input maps|False",
      "*QgsProcessingParameterBoolean|-f|Output will be filtered input bands|False",
      "QgsProcessingParameterFolderDestination|output|Output Directory"
    ]
  },
  {
    "name": "i.rgb.his",
    "display_name": "i.rgb.his",
    "command": "i.rgb.his",
    "short_description": "Transforms raster maps from RGB (Red-Green-Blue) color space to HIS (Hue-Intensity-Saturation) color space.",
    "group": "Imagery (i.*)",
    "group_id": "imagery",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|red|Name for input raster map (red)|None|True",
      "QgsProcessingParameterRasterLayer|green|Name for input raster map (green)|None|True",
      "QgsProcessingParameterRasterLayer|blue|Name for input raster map (blue)|None|True",
      "QgsProcessingParameterRasterDestination|hue|Hue|False",
      "QgsProcessingParameterRasterDestination|intensity|Intensity|False",
      "QgsProcessingParameterRasterDestination|saturation|Saturation|False"
    ]
  },
  {
    "name": "i.segment",
    "display_name": "i.segment",
    "command": "i.segment",
    "short_description": "Identifies segments (objects) from imagery data.",
    "group": "Imagery (i.*)",
    "group_id": "imagery",
    "ext_path": "i_segment",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterMultipleLayers|input|Input rasters|3|None|False",
      "QgsProcessingParameterNumber|threshold|Difference threshold between 0 and 1|QgsProcessingParameterNumber.Double|0.5|False|0.0|1.0",
      "QgsProcessingParameterEnum|method|Segmentation method|region_growing|False|0|True",
      "QgsProcessingParameterEnum|similarity|Similarity calculation method|euclidean;manhattan|False|0|True",
      "QgsProcessingParameterNumber|minsize|Minimum number of cells in a segment|QgsProcessingParameterNumber.Integer|1|True|1|100000",
      "QgsProcessingParameterNumber|memory|Amount of memory to use in MB|QgsProcessingParameterNumber.Integer|300|True|1|None",
      "QgsProcessingParameterNumber|iterations|Maximum number of iterations|QgsProcessingParameterNumber.Integer|20|True|1|None",
      "QgsProcessingParameterRasterLayer|seeds|Name for input raster map with starting seeds|None|True",
      "QgsProcessingParameterRasterLayer|bounds|Name of input bounding/constraining raster map|None|True",
      "*QgsProcessingParameterBoolean|-d|Use 8 neighbors (3x3 neighborhood) instead of the default 4 neighbors for each pixel|False",
      "*QgsProcessingParameterBoolean|-w|Weighted input, do not perform the default scaling of input raster maps|False",
      "QgsProcessingParameterRasterDestination|output|Segmented Raster|None|False",
      "QgsProcessingParameterRasterDestination|goodness|Goodness Raster|None|True"
    ]
  },
  {
    "name": "i.smap",
    "display_name": "i.smap",
    "command": "i.smap",
    "short_description": "Performs contextual image classification using sequential maximum a posteriori (SMAP) estimation.",
    "group": "Imagery (i.*)",
    "group_id": "imagery",
    "ext_path": "i_smap",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterMultipleLayers|input|Input rasters|3|None|False",
      "QgsProcessingParameterFile|signaturefile|Name of input file containing signatures|QgsProcessingParameterFile.File|txt|None|False",
      "QgsProcessingParameterNumber|blocksize|Size of submatrix to process at one time|QgsProcessingParameterNumber.Integer|1024|True|1|None",
      "*QgsProcessingParameterBoolean|-m|Use maximum likelihood estimation (instead of smap)|False",
      "QgsProcessingParameterRasterDestination|output|Classification|None|False",
      "QgsProcessingParameterRasterDestination|goodness|Goodness_of_fit|None|True"
    ]
  },
  {
    "name": "i.tasscap",
    "display_name": "i.tasscap",
    "command": "i.tasscap",
    "short_description": "Performs Tasseled Cap (Kauth Thomas) transformation.",
    "group": "Imagery (i.*)",
    "group_id": "imagery",
    "ext_path": "i_tasscap",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterMultipleLayers|input|Input rasters. Landsat4-7: bands 1,2,3,4,5,7; Landsat8: bands 2,3,4,5,6,7; MODIS: bands 1,2,3,4,5,6,7|3|None|False",
      "QgsProcessingParameterEnum|sensor|Satellite sensor|landsat4_tm;landsat5_tm;landsat7_etm;landsat8_oli;modis|False|0|False",
      "QgsProcessingParameterFolderDestination|output|Output Directory"
    ]
  },
  {
    "name": "i.topo.coor.ill",
    "display_name": "i.topo.coor.ill",
    "command": "i.topo.corr",
    "short_description": "i.topo.coor.ill - Creates illumination model for topographic correction of reflectance.",
    "group": "Imagery (i.*)",
    "group_id": "imagery",
    "ext_path": null,
    "hardcoded_strings": [
      "-i"
    ],
    "parameters": [
      "QgsProcessingParameterRasterLayer|basemap|Name of elevation raster map|None|False",
      "QgsProcessingParameterNumber|zenith|Solar zenith in degrees|QgsProcessingParameterNumber.Double|0.0|False|0.0|360.0",
      "QgsProcessingParameterNumber|azimuth|Solar azimuth in degrees|QgsProcessingParameterNumber.Double|0.0|True|0.0|360.0",
      "Hardcoded|-i",
      "QgsProcessingParameterRasterDestination|output|Illumination Model"
    ]
  },
  {
    "name": "i.topo.corr",
    "display_name": "i.topo.corr",
    "command": "i.topo.corr",
    "short_description": "Computes topographic correction of reflectance.",
    "group": "Imagery (i.*)",
    "group_id": "imagery",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterMultipleLayers|input|Name of reflectance raster maps to be corrected topographically|3|None|False",
      "QgsProcessingParameterRasterLayer|basemap|Name of illumination input base raster map|None|False",
      "QgsProcessingParameterNumber|zenith|Solar zenith in degrees|QgsProcessingParameterNumber.Double|0.0|False|0.0|360.0",
      "QgsProcessingParameterEnum|method|Topographic correction method|cosine;minnaert;c-factor;percent|False|0|True",
      "*QgsProcessingParameterBoolean|-s|Scale output to input and copy color rules|False",
      "QgsProcessingParameterFolderDestination|output|Output Directory"
    ]
  },
  {
    "name": "i.vi",
    "display_name": "i.vi",
    "command": "i.vi",
    "short_description": "Calculates different types of vegetation indices.",
    "group": "Imagery (i.*)",
    "group_id": "imagery",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|red|Name of input red channel surface reflectance map [0.0-1.0]|None|True",
      "QgsProcessingParameterEnum|viname|Type of vegetation index|arvi;dvi;evi;evi2;gvi;gari;gemi;ipvi;msavi;msavi2;ndvi;pvi;savi;sr;vari;wdvi|False|10|False",
      "QgsProcessingParameterRasterLayer|nir|Name of input nir channel surface reflectance map [0.0-1.0]|None|True",
      "QgsProcessingParameterRasterLayer|green|Name of input green channel surface reflectance map [0.0-1.0]|None|True",
      "QgsProcessingParameterRasterLayer|blue|Name of input blue channel surface reflectance map [0.0-1.0]|None|True",
      "QgsProcessingParameterRasterLayer|band5|Name of input 5th channel surface reflectance map [0.0-1.0]|None|True",
      "QgsProcessingParameterRasterLayer|band7|Name of input 7th channel surface reflectance map [0.0-1.0]|None|True",
      "QgsProcessingParameterNumber|soil_line_slope|Value of the slope of the soil line (MSAVI2 only)|QgsProcessingParameterNumber.Double|None|True|None|None",
      "QgsProcessingParameterNumber|soil_line_intercept|Value of the factor of reduction of soil noise (MSAVI2 only)|QgsProcessingParameterNumber.Double|None|True|None|None",
      "QgsProcessingParameterNumber|soil_noise_reduction|Value of the slope of the soil line (MSAVI2 only)|QgsProcessingParameterNumber.Double|None|True|None|None",
      "QgsProcessingParameterEnum|storage_bit|Maximum bits for digital numbers|7;8;9;10;16|False|1|True",
      "QgsProcessingParameterRasterDestination|output|Vegetation Index"
    ]
  },
  {
    "name": "i.zc",
    "display_name": "i.zc",
    "command": "i.zc",
    "short_description": "Zero-crossing \"edge detection\" raster function for image processing.",
    "group": "Imagery (i.*)",
    "group_id": "imagery",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False",
      "QgsProcessingParameterNumber|width|x-y extent of the Gaussian filter|QgsProcessingParameterNumber.Double|9|True|1|None",
      "QgsProcessingParameterNumber|threshold|Sensitivity of Gaussian filter|QgsProcessingParameterNumber.Double|10.0|True|0|None",
      "QgsProcessingParameterNumber|orientations|Number of azimuth directions categorized|QgsProcessingParameterNumber.Double|1|True|0|None",
      "QgsProcessingParameterRasterDestination|output|Zero crossing"
    ]
  },
  {
    "name": "m.cogo",
    "display_name": "m.cogo",
    "command": "m.cogo",
    "short_description": "A simple utility for converting bearing and distance measurements to coordinates and vice versa. It assumes a Cartesian coordinate system",
    "group": "Miscellaneous (m.*)",
    "group_id": "miscellaneous",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFile|input|Name of input file|QgsProcessingParameterFile.File|txt|None|False",
      "QgsProcessingParameterFileDestination|output|Output text file|Txt files (*.txt)|None|False",
      "QgsProcessingParameterPoint|coordinates|Starting coordinate pair|0.0,0.0",
      "*QgsProcessingParameterBoolean|-l|Lines are labelled|False",
      "*QgsProcessingParameterBoolean|-q|Suppress warnings|False",
      "*QgsProcessingParameterBoolean|-r|Convert from coordinates to bearing and distance|False",
      "*QgsProcessingParameterBoolean|-c|Repeat the starting coordinate at the end to close a loop|False"
    ]
  },
  {
    "name": "nviz",
    "display_name": "nviz",
    "command": "nviz",
    "short_description": "Visualization and animation tool for GRASS data.",
    "group": "Visualization(NVIZ)",
    "group_id": "visualization",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterMultipleLayers|elevation|Name of elevation raster map|3|None|False",
      "QgsProcessingParameterMultipleLayers|color|Name of raster map(s) for Color|3|None|False",
      "QgsProcessingParameterMultipleLayers|vector|Name of vector lines/areas overlay map(s)|-1|None|False",
      "QgsProcessingParameterMultipleLayers|point|Name of vector points overlay file(s)|0|None|True",
      "QgsProcessingParameterMultipleLayers|volume|Name of existing 3d raster map|3|None|True"
    ]
  },
  {
    "name": "r.basins.fill",
    "display_name": "r.basins.fill",
    "command": "r.basins.fill",
    "short_description": "Generates watershed subbasins raster map.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|cnetwork|Input coded stream network raster layer|None|False",
      "QgsProcessingParameterRasterLayer|tnetwork|Input thinned ridge network raster layer|None|False",
      "QgsProcessingParameterNumber|number|Number of passes through the dataset|QgsProcessingParameterNumber.Integer|1|False|1|None",
      "QgsProcessingParameterRasterDestination|output|Watersheds"
    ]
  },
  {
    "name": "r.blend.combine",
    "display_name": "r.blend.combine",
    "command": "r.blend",
    "short_description": "r.blend.combine - Blends color components of two raster maps by a given ratio and export into a unique raster.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_blend_combine",
    "hardcoded_strings": [
      "-c"
    ],
    "parameters": [
      "QgsProcessingParameterRasterLayer|first|Name of first raster map for blending|None|False",
      "QgsProcessingParameterRasterLayer|second|Name of second raster map for blending|None|False",
      "QgsProcessingParameterNumber|percent|Percentage weight of first map for color blending|QgsProcessingParameterNumber.Double|50.0|True|0.0|100.0",
      "Hardcoded|-c",
      "QgsProcessingParameterRasterDestination|output|Blended"
    ]
  },
  {
    "name": "r.blend.rgb",
    "display_name": "r.blend.rgb",
    "command": "r.blend",
    "short_description": "r.blend.rgb - Blends color components of two raster maps by a given ratio and exports into three rasters.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_blend_rgb",
    "hardcoded_strings": [
      "output=blended"
    ],
    "parameters": [
      "QgsProcessingParameterRasterLayer|first|Name of first raster map for blending|None|False",
      "QgsProcessingParameterRasterLayer|second|Name of second raster map for blending|None|False",
      "QgsProcessingParameterNumber|percent|Percentage weight of first map for color blending|QgsProcessingParameterNumber.Double|50.0|True|0.0|100.0",
      "Hardcoded|output=blended",
      "QgsProcessingParameterRasterDestination|output_red|Blended Red",
      "QgsProcessingParameterRasterDestination|output_green|Blended Green",
      "QgsProcessingParameterRasterDestination|output_blue|Blended Blue"
    ]
  },
  {
    "name": "r.buffer.lowmem",
    "display_name": "r.buffer.lowmem",
    "command": "r.buffer.lowmem",
    "short_description": "Creates a raster map layer showing buffer zones surrounding cells that contain non-NULL category values (low-memory alternative).",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Input raster layer|None|False",
      "QgsProcessingParameterString|distances|Distance zone(s) (e.g. 100,200,300)|None|False|False",
      "QgsProcessingParameterEnum|units|Units of distance|meters;kilometers;feet;miles;nautmiles|False|0|False",
      "QgsProcessingParameterBoolean|-z|Ignore zero (0) data cells instead of NULL cells|False",
      "QgsProcessingParameterRasterDestination|output|Buffer"
    ]
  },
  {
    "name": "r.buffer",
    "display_name": "r.buffer",
    "command": "r.buffer",
    "short_description": "Creates a raster map layer showing buffer zones surrounding cells that contain non-NULL category values.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Input raster layer|None|False",
      "QgsProcessingParameterString|distances|Distance zone(s) (e.g. 100,200,300)|None|False|False",
      "QgsProcessingParameterEnum|units|Units of distance|meters;kilometers;feet;miles;nautmiles|False|0|False",
      "QgsProcessingParameterBoolean|-z|Ignore zero (0) data cells instead of NULL cells|False",
      "QgsProcessingParameterRasterDestination|output|Buffer"
    ]
  },
  {
    "name": "r.carve",
    "display_name": "r.carve",
    "command": "r.carve",
    "short_description": "Takes vector stream data, transforms it to raster and subtracts depth from the output DEM.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|raster|Elevation|None|False",
      "QgsProcessingParameterFeatureSource|vector|Vector layer containing stream(s)|1|None|False",
      "QgsProcessingParameterNumber|width|Stream width (in meters). Default is raster cell width|QgsProcessingParameterNumber.Double|None|True|None|None",
      "QgsProcessingParameterNumber|depth|Additional stream depth (in meters)|QgsProcessingParameterNumber.Double|None|True|None|None",
      "QgsProcessingParameterBoolean|-n|No flat areas allowed in flow direction|False",
      "QgsProcessingParameterRasterDestination|output|Modified elevation",
      "QgsProcessingParameterVectorDestination|points|Adjusted stream points"
    ]
  },
  {
    "name": "r.category.out",
    "display_name": "r.category.out",
    "command": "r.category",
    "short_description": "r.category.out - Exports category values and labels associated with user-specified raster map layers.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|map|Name of raster map|None|False",
      "QgsProcessingParameterString|cats|Category values (for Integer rasters). Example: 1,3,7-9,13|None|False|True",
      "QgsProcessingParameterString|values|Comma separated value list (for float rasters). Example: 1.4,3.8,13|None|False|True",
      "QgsProcessingParameterString|separator|Field separator (Special characters: pipe, comma, space, tab, newline)|tab|False|True",
      "QgsProcessingParameterFileDestination|html|Category|HTML files (*.html)|None|False"
    ]
  },
  {
    "name": "r.category",
    "display_name": "r.category",
    "command": "r.category",
    "short_description": "Manages category values and labels associated with user-specified raster map layers.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_category",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|map|Name of raster map|None|False",
      "QgsProcessingParameterString|separator|Field separator (Special characters: pipe, comma, space, tab, newline)|tab|False|True",
      "QgsProcessingParameterFile|rules|File containing category label rules|QgsProcessingParameterFile.File|txt|None|True",
      "QgsProcessingParameterString|txtrules|Inline category label rules|None|True|True",
      "QgsProcessingParameterRasterLayer|raster|Raster map from which to copy category table|None|True",
      "*QgsProcessingParameterString|format|Default label or format string for dynamic labeling. Used when no explicit label exists for the category|None|False|True",
      "*QgsProcessingParameterString|coefficients|Dynamic label coefficients. Two pairs of category multiplier and offsets, for $1 and $2|None|False|True",
      "QgsProcessingParameterRasterDestination|output|Category"
    ]
  },
  {
    "name": "r.circle",
    "display_name": "r.circle",
    "command": "r.circle",
    "short_description": "Creates a raster map containing concentric rings around a given point.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterPoint|coordinates|The coordinate of the center (east,north)|0,0|False",
      "QgsProcessingParameterNumber|min|Minimum radius for ring/circle map (in meters)|QgsProcessingParameterNumber.Double|None|True|None|None",
      "QgsProcessingParameterNumber|max|Maximum radius for ring/circle map (in meters)|QgsProcessingParameterNumber.Double|None|True|None|None",
      "QgsProcessingParameterNumber|multiplier|Data value multiplier|QgsProcessingParameterNumber.Double|None|True|None|None",
      "QgsProcessingParameterBoolean|-b|Generate binary raster map|False",
      "QgsProcessingParameterRasterDestination|output|Circles"
    ]
  },
  {
    "name": "r.clump",
    "display_name": "r.clump",
    "command": "r.clump",
    "short_description": "Recategorizes data in a raster map by grouping cells that form physically discrete areas into unique categories.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Input layer|None|False",
      "QgsProcessingParameterString|title|Title for output raster map|None|True",
      "*QgsProcessingParameterBoolean|-d|Clump also diagonal cells|False",
      "QgsProcessingParameterRasterDestination|output|Clumps",
      "QgsProcessingParameterNumber|threshold|Threshold to identify similar cells|QgsProcessingParameterNumber.Double|0|False|0|1"
    ]
  },
  {
    "name": "r.coin",
    "display_name": "r.coin",
    "command": "r.coin",
    "short_description": "Tabulates the mutual occurrence (coincidence) of categories for two raster map layers.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|first|Name of first raster map|None|False",
      "QgsProcessingParameterRasterLayer|second|Name of second raster map|None|False",
      "QgsProcessingParameterEnum|units|Unit of measure|c;p;x;y;a;h;k;m",
      "QgsProcessingParameterBoolean|-w|Wide report, 132 columns (default: 80)|False",
      "QgsProcessingParameterFileDestination|html|Coincidence report|Html files (*.html)|report.html|False"
    ]
  },
  {
    "name": "r.colors.out",
    "display_name": "r.colors.out",
    "command": "r.colors.out",
    "short_description": "Exports the color table associated with a raster map.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|map|Name of raster map|None|False",
      "*QgsProcessingParameterBoolean|-p|Output values as percentages|False|True",
      "QgsProcessingParameterFileDestination|rules|Color Table|Txt files (*.txt)|None|False"
    ]
  },
  {
    "name": "r.colors.stddev",
    "display_name": "r.colors.stddev",
    "command": "r.colors.stddev",
    "short_description": "Sets color rules based on stddev from a raster map's mean value.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_colors_stddev",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|map|Name of raster map|None|False",
      "*QgsProcessingParameterBoolean|-b|Color using standard deviation bands|False",
      "*QgsProcessingParameterBoolean|-z|Force center at zero|False",
      "QgsProcessingParameterRasterDestination|output|Stddev Colors"
    ]
  },
  {
    "name": "r.colors",
    "display_name": "r.colors",
    "command": "r.colors",
    "short_description": "Creates/modifies the color table associated with a raster map.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_colors",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterMultipleLayers|map|Name of raster maps(s)|3|None|False",
      "QgsProcessingParameterEnum|color|Name of color table|not selected;aspect;aspectcolr;bcyr;bgyr;blues;byg;byr;celsius;corine;curvature;differences;elevation;etopo2;evi;fahrenheit;gdd;greens;grey;grey.eq;grey.log;grey1.0;grey255;gyr;haxby;kelvin;ndvi;ndwi;oranges;population;population_dens;precipitation;precipitation_daily;precipitation_monthly;rainbow;ramp;random;reds;rstcurv;ryb;ryg;sepia;slope;srtm;srtm_plus;terrain;wave|False|0|True",
      "QgsProcessingParameterString|rules_txt|Color rules|None|True|True",
      "QgsProcessingParameterFile|rules|Color rules file|QgsProcessingParameterFile.File|txt|None|True",
      "QgsProcessingParameterRasterLayer|raster|Raster map from which to copy color table|None|True",
      "QgsProcessingParameterBoolean|-r|Remove existing color table|False",
      "QgsProcessingParameterBoolean|-w|Only write new color table if it does not already exist|False",
      "QgsProcessingParameterBoolean|-n|Invert colors|False",
      "QgsProcessingParameterBoolean|-g|Logarithmic scaling|False",
      "QgsProcessingParameterBoolean|-a|Logarithmic-absolute scaling|False",
      "QgsProcessingParameterBoolean|-e|Histogram equalization|False",
      "QgsProcessingParameterFolderDestination|output_dir|Output Directory|None|False"
    ]
  },
  {
    "name": "r.composite",
    "display_name": "r.composite",
    "command": "r.composite",
    "short_description": "Combines red, green and blue raster maps into a single composite raster map.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|red|Red|None|False",
      "QgsProcessingParameterRasterLayer|green|Green|None|False",
      "QgsProcessingParameterRasterLayer|blue|Blue|None|False",
      "QgsProcessingParameterNumber|levels|Number of levels to be used for each component|QgsProcessingParameterNumber.Integer|32|True|1|256",
      "QgsProcessingParameterNumber|level_red|Number of levels to be used for <red>|QgsProcessingParameterNumber.Integer|None|True|1|256",
      "QgsProcessingParameterNumber|level_green|Number of levels to be used for <green>|QgsProcessingParameterNumber.Integer|None|True|1|256",
      "QgsProcessingParameterNumber|level_blue|Number of levels to be used for <blue>|QgsProcessingParameterNumber.Integer|None|True|1|256",
      "QgsProcessingParameterBoolean|-d|Dither|False",
      "QgsProcessingParameterBoolean|-c|Use closest color|False",
      "QgsProcessingParameterRasterDestination|output|Composite"
    ]
  },
  {
    "name": "r.contour",
    "display_name": "r.contour",
    "command": "r.contour",
    "short_description": "Produces a vector map of specified contours from a raster map.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Input raster|None|False",
      "QgsProcessingParameterNumber|step|Increment between contour levels|QgsProcessingParameterNumber.Double|None|True|None|None",
      "QgsProcessingParameterString|levels|List of contour levels|None|False|True",
      "QgsProcessingParameterNumber|minlevel|Minimum contour level|QgsProcessingParameterNumber.Double|None|True|None|None",
      "QgsProcessingParameterNumber|maxlevel|Maximum contour level|QgsProcessingParameterNumber.Double|None|True|None|None",
      "QgsProcessingParameterNumber|cut|Minimum number of points for a contour line (0 -> no limit)|QgsProcessingParameterNumber.Integer|0|True|0|None",
      "QgsProcessingParameterVectorDestination|output|Contours"
    ]
  },
  {
    "name": "r.cost",
    "display_name": "r.cost",
    "command": "r.cost",
    "short_description": "Creates a raster layer of cumulative cost of moving across a raster layer whose cell values represent cost.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Unit cost layer|None|False",
      "QgsProcessingParameterPoint|start_coordinates|Coordinates of starting point(s) (E,N)||True",
      "QgsProcessingParameterPoint|stop_coordinates|Coordinates of stopping point(s) (E,N)||True",
      "QgsProcessingParameterBoolean|-k|Use the 'Knight's move'; slower, but more accurate|False",
      "QgsProcessingParameterBoolean|-n|Keep null values in output raster layer|True",
      "QgsProcessingParameterFeatureSource|start_points|Start points|0|None|True",
      "QgsProcessingParameterFeatureSource|stop_points|Stop points|0|None|True",
      "QgsProcessingParameterRasterLayer|start_raster|Name of starting raster points map|None|True",
      "QgsProcessingParameterNumber|max_cost|Maximum cumulative cost|QgsProcessingParameterNumber.Double|0.0|True|None|None",
      "QgsProcessingParameterNumber|null_cost|Cost assigned to null cells. By default, null cells are excluded|QgsProcessingParameterNumber.Double|None|True|None|None",
      "QgsProcessingParameterNumber|memory|Maximum memory to be used in MB|QgsProcessingParameterNumber.Integer|300|True|1|None",
      "QgsProcessingParameterRasterDestination|output|Cumulative cost|None|False",
      "QgsProcessingParameterRasterDestination|nearest|Cost allocation map|None|True",
      "QgsProcessingParameterRasterDestination|outdir|Movement directions|None|True"
    ]
  },
  {
    "name": "r.covar",
    "display_name": "r.covar",
    "command": "r.covar",
    "short_description": "Outputs a covariance/correlation matrix for user-specified raster layer(s).",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterMultipleLayers|map|Input layers|3|None|False",
      "QgsProcessingParameterBoolean|-r|Print correlation matrix|True",
      "QgsProcessingParameterFileDestination|html|Covariance report|Html files (*.html)|report.html|False"
    ]
  },
  {
    "name": "r.cross",
    "display_name": "r.cross",
    "command": "r.cross",
    "short_description": "Creates a cross product of the category values from multiple raster map layers.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterMultipleLayers|input|Input raster layers|3|None|False",
      "QgsProcessingParameterBoolean|-z|Non-zero data only|False",
      "QgsProcessingParameterRasterDestination|output|Cross product"
    ]
  },
  {
    "name": "r.describe",
    "display_name": "r.describe",
    "command": "r.describe",
    "short_description": "Prints terse list of category values found in a raster layer.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|map|input raster layer|None|False",
      "QgsProcessingParameterString|null_value|String representing NULL value|*|False|True",
      "QgsProcessingParameterNumber|nsteps|Number of quantization steps|QgsProcessingParameterNumber.Integer|255|True|1|None",
      "QgsProcessingParameterBoolean|-r|Only print the range of the data|False",
      "QgsProcessingParameterBoolean|-n|Suppress reporting of any NULLs|False",
      "QgsProcessingParameterBoolean|-d|Use the current region|False",
      "QgsProcessingParameterBoolean|-i|Read floating-point map as integer|False",
      "QgsProcessingParameterFileDestination|html|Categories|Html files (*.html)|report.html|False"
    ]
  },
  {
    "name": "r.distance",
    "display_name": "r.distance",
    "command": "r.distance",
    "short_description": "Locates the closest points between objects in two raster maps.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterMultipleLayers|map|Name of two input raster for computing inter-class distances|3|None|False",
      "QgsProcessingParameterString|separator|Field separator (Special characters: pipe, comma, space, tab, newline)|:|False|True",
      "QgsProcessingParameterEnum|sort|Sort output by distance|asc;desc|False|0",
      "*QgsProcessingParameterBoolean|-l|Include category labels in the output|False|True",
      "*QgsProcessingParameterBoolean|-o|Report zero distance if rasters are overlapping|False|True",
      "*QgsProcessingParameterBoolean|-n|Report null objects as *|False|True",
      "QgsProcessingParameterFileDestination|html|Distance|HTML files (*.html)|None|False"
    ]
  },
  {
    "name": "r.drain",
    "display_name": "r.drain",
    "command": "r.drain",
    "short_description": "Traces a flow through an elevation model on a raster map.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_drain",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Elevation|None|False",
      "QgsProcessingParameterRasterLayer|direction|Name of input movement direction map associated with the cost surface|None|True",
      "QgsProcessingParameterPoint|start_coordinates|Map coordinates of starting point(s) (E,N)|None|True",
      "QgsProcessingParameterFeatureSource|start_points|Vector layer containing starting point(s)|0|None|True",
      "QgsProcessingParameterBoolean|-c|Copy input cell values on output|False",
      "QgsProcessingParameterBoolean|-a|Accumulate input values along the path|False",
      "QgsProcessingParameterBoolean|-n|Count cell numbers along the path|False",
      "QgsProcessingParameterBoolean|-d|The input raster map is a cost surface (direction surface must also be specified)|False",
      "QgsProcessingParameterRasterDestination|output|Least cost path",
      "QgsProcessingParameterVectorDestination|drain|Drain"
    ]
  },
  {
    "name": "r.fill.dir",
    "display_name": "r.fill.dir",
    "command": "r.fill.dir",
    "short_description": "Filters and generates a depressionless elevation layer and a flow direction layer from a given elevation raster layer.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Elevation|None|False",
      "QgsProcessingParameterEnum|format|Output aspect direction format|grass;agnps;answers|False|0|True",
      "*QgsProcessingParameterBoolean|-f|Find unresolved areas only|False",
      "QgsProcessingParameterRasterDestination|output|Depressionless DEM",
      "QgsProcessingParameterRasterDestination|direction|Flow direction",
      "QgsProcessingParameterRasterDestination|areas|Problem areas"
    ]
  },
  {
    "name": "r.fill.stats",
    "display_name": "r.fill.stats",
    "command": "r.fill.stats",
    "short_description": "Rapidly fills 'no data' cells (NULLs) of a raster map with interpolated values (IDW).",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Input raster layer with data gaps to fill|None|False",
      "QgsProcessingParameterBoolean|-k|Preserve original cell values (By default original values are smoothed)|False",
      "QgsProcessingParameterEnum|mode|Statistic for interpolated cell values|wmean;mean;median;mode|False|0|False",
      "QgsProcessingParameterBoolean|-m|Interpret distance as map units, not number of cells (Do not select with geodetic coordinates)|False",
      "QgsProcessingParameterNumber|distance|Distance threshold (default: in cells) for interpolation|QgsProcessingParameterNumber.Integer|3|True|0|100",
      "QgsProcessingParameterNumber|minimum|Minimum input data value to include in interpolation|QgsProcessingParameterNumber.Double|None|True|None|None",
      "QgsProcessingParameterNumber|maximum|Maximum input data value to include in interpolation|QgsProcessingParameterNumber.Double|None|True|None|None",
      "QgsProcessingParameterNumber|power|Power coefficient for IDW interpolation|QgsProcessingParameterNumber.Double|2.0|True|0.0|None",
      "QgsProcessingParameterNumber|cells|Minimum number of data cells within search radius|QgsProcessingParameterNumber.Integer|8|True|1|100",
      "QgsProcessingParameterRasterDestination|output|Output Map",
      "QgsProcessingParameterRasterDestination|uncertainty|Uncertainty Map|None|True"
    ]
  },
  {
    "name": "r.fillnulls",
    "display_name": "r.fillnulls",
    "command": "r.fillnulls",
    "short_description": "Fills no-data areas in raster maps using spline interpolation.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Input raster layer to fill|None|False",
      "QgsProcessingParameterEnum|method|Interpolation method to use|bilinear;bicubic;rst|False|2|False",
      "QgsProcessingParameterNumber|tension|Spline tension parameter|QgsProcessingParameterNumber.Double|40.0|True|None|None",
      "QgsProcessingParameterNumber|smooth|Spline smoothing parameter|QgsProcessingParameterNumber.Double|0.1|True|None|None",
      "QgsProcessingParameterNumber|edge|Width of hole edge used for interpolation (in cells)|QgsProcessingParameterNumber.Integer|3|True|2|100",
      "QgsProcessingParameterNumber|npmin|Minimum number of points for approximation in a segment (>segmax)|QgsProcessingParameterNumber.Integer|600|True|2|10000",
      "QgsProcessingParameterNumber|segmax|Maximum number of points in a segment|QgsProcessingParameterNumber.Integer|300|True|2|10000",
      "QgsProcessingParameterNumber|lambda|Tykhonov regularization parameter (affects smoothing)|QgsProcessingParameterNumber.Double|0.01|True|0.0|None",
      "QgsProcessingParameterRasterDestination|output|Filled"
    ]
  },
  {
    "name": "r.flow",
    "display_name": "r.flow",
    "command": "r.flow",
    "short_description": "Construction of flowlines, flowpath lengths, and flowaccumulation (contributing areas) from a raster digital elevation model (DEM).",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|elevation|Elevation|None|False",
      "QgsProcessingParameterRasterLayer|aspect|Aspect|None|True",
      "QgsProcessingParameterRasterLayer|barrier|Barrier|None|True",
      "QgsProcessingParameterNumber|skip|Number of cells between flowlines|QgsProcessingParameterNumber.Integer|None|True|None|None",
      "QgsProcessingParameterNumber|bound|Maximum number of segments per flowline|QgsProcessingParameterNumber.Integer|None|True|None|None",
      "QgsProcessingParameterBoolean|-u|Compute upslope flowlines instead of default downhill flowlines|False",
      "QgsProcessingParameterBoolean|-3|3-D lengths instead of 2-D|False",
      "*QgsProcessingParameterBoolean|-m|Use less memory, at a performance penalty|False",
      "QgsProcessingParameterVectorDestination|flowline|Flow line|QgsProcessing.TypeVectorLine|None|True",
      "QgsProcessingParameterRasterDestination|flowlength|Flow path length",
      "QgsProcessingParameterRasterDestination|flowaccumulation|Flow accumulation"
    ]
  },
  {
    "name": "r.geomorphon",
    "display_name": "r.geomorphon",
    "command": "r.geomorphon",
    "short_description": "Calculates geomorphons (terrain forms) and associated geometry using machine vision approach.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|elevation|Name of input elevation raster map|None|False",
      "QgsProcessingParameterNumber|search|Outer search radius|QgsProcessingParameterNumber.Integer|3|True|3|499",
      "QgsProcessingParameterNumber|skip|Inner search radius|QgsProcessingParameterNumber.Integer|0|True|0|499",
      "QgsProcessingParameterNumber|flat|Flatness threshold (degrees)|QgsProcessingParameterNumber.Double|1.0|True|None|None",
      "QgsProcessingParameterNumber|dist|Flatness distance, zero for none|QgsProcessingParameterNumber.Double|0.0|True|None|None",
      "QgsProcessingParameterRasterDestination|forms|Most common geomorphic forms",
      "*QgsProcessingParameterBoolean|-m|Use meters to define search units (default is cells)|False",
      "*QgsProcessingParameterBoolean|-e|Use extended form correction|False"
    ]
  },
  {
    "name": "r.grow.distance",
    "display_name": "r.grow.distance",
    "command": "r.grow.distance",
    "short_description": "Generates a raster layer of distance to features in input layer.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Input input raster layer|None|False",
      "QgsProcessingParameterEnum|metric|Metric|euclidean;squared;maximum;manhattan;geodesic|False|0|True",
      "*QgsProcessingParameterBoolean|-m|Output distances in meters instead of map units|False",
      "*QgsProcessingParameterBoolean|-n|Calculate distance to nearest NULL cell|False",
      "QgsProcessingParameterRasterDestination|distance|Distance",
      "QgsProcessingParameterRasterDestination|value|Value of nearest cell"
    ]
  },
  {
    "name": "r.grow",
    "display_name": "r.grow",
    "command": "r.grow",
    "short_description": "Generates a raster layer with contiguous areas grown by one cell.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|input raster layer|None|False",
      "QgsProcessingParameterNumber|radius|Radius of buffer in raster cells|QgsProcessingParameterNumber.Double|1.01|True|None|None",
      "QgsProcessingParameterEnum|metric|Metric|euclidean;maximum;manhattan|False|0|True",
      "QgsProcessingParameterNumber|old|Value to write for input cells which are non-NULL (-1 => NULL)|QgsProcessingParameterNumber.Integer|None|True|None|None",
      "QgsProcessingParameterNumber|new|Value to write for \"grown\" cells|QgsProcessingParameterNumber.Integer|None|True|None|None",
      "*QgsProcessingParameterBoolean|-m|Radius is in map units rather than cells|False",
      "QgsProcessingParameterRasterDestination|output|Expanded"
    ]
  },
  {
    "name": "r.gwflow",
    "display_name": "r.gwflow",
    "command": "r.gwflow",
    "short_description": "Numerical calculation program for transient, confined and unconfined groundwater flow in two dimensions.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|phead|The initial piezometric head in [m]|None|False",
      "QgsProcessingParameterRasterLayer|status|Boundary condition status, 0-inactive, 1-active, 2-dirichlet|None|False",
      "QgsProcessingParameterRasterLayer|hc_x|X-part of the hydraulic conductivity tensor in [m/s]|None|False",
      "QgsProcessingParameterRasterLayer|hc_y|Y-part of the hydraulic conductivity tensor in [m/s]|None|False",
      "QgsProcessingParameterRasterLayer|q|Water sources and sinks in [m^3/s]|None|True",
      "QgsProcessingParameterRasterLayer|s|Specific yield in [1/m]|None|False",
      "QgsProcessingParameterRasterLayer|recharge|Recharge map e.g: 6*10^-9 per cell in [m^3/s*m^2]|None|True",
      "QgsProcessingParameterRasterLayer|top|Top surface of the aquifer in [m]|None|False",
      "QgsProcessingParameterRasterLayer|bottom|Bottom surface of the aquifer in [m]|None|False",
      "QgsProcessingParameterEnum|type|The type of groundwater flow|confined;unconfined|False|0|False",
      "QgsProcessingParameterRasterLayer|river_bed|The height of the river bed in [m]|None|True",
      "QgsProcessingParameterRasterLayer|river_head|Water level (head) of the river with leakage connection in [m]|None|True",
      "QgsProcessingParameterRasterLayer|river_leak|The leakage coefficient of the river bed in [1/s]|None|True",
      "QgsProcessingParameterRasterLayer|drain_bed|The height of the drainage bed in [m]|None|True",
      "QgsProcessingParameterRasterLayer|drain_leak|The leakage coefficient of the drainage bed in [1/s]|None|True",
      "QgsProcessingParameterNumber|dtime|The calculation time in seconds|QgsProcessingParameterNumber.Double|86400.0|False|0.0|None",
      "QgsProcessingParameterNumber|maxit|Maximum number of iteration used to solver the linear equation system|QgsProcessingParameterNumber.Integer|100000|True|1|None",
      "QgsProcessingParameterNumber|error|Error break criteria for iterative solvers (jacobi, sor, cg or bicgstab)|QgsProcessingParameterNumber.Double|0.000001|True|None|None",
      "QgsProcessingParameterEnum|solver|The type of solver which should solve the symmetric linear equation system|cg;pcg;cholesky|False|0|True",
      "QgsProcessingParameterString|relax|The relaxation parameter used by the jacobi and sor solver for speedup or stabilizing|1",
      "QgsProcessingParameterBoolean|-f|Allocate a full quadratic linear equation system, default is a sparse linear equation system|False",
      "QgsProcessingParameterRasterDestination|output|Groundwater flow",
      "QgsProcessingParameterRasterDestination|vx|Groundwater filter velocity vector part in x direction [m/s]",
      "QgsProcessingParameterRasterDestination|vy|Groundwater filter velocity vector part in y direction [m/s]",
      "QgsProcessingParameterRasterDestination|budget|Groundwater budget for each cell [m^3/s]"
    ]
  },
  {
    "name": "r.his",
    "display_name": "r.his",
    "command": "r.his",
    "short_description": "Generates red, green and blue raster layers combining hue, intensity and saturation (HIS) values from user-specified input raster layers.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|hue|Hue|None|False",
      "QgsProcessingParameterRasterLayer|intensity|Intensity|None|False",
      "QgsProcessingParameterRasterLayer|saturation|Saturation|None|False",
      "QgsProcessingParameterString|bgcolor|Color to use instead of NULL values. Either a standard color name, R:G:B triplet, or \"none\"|None|False|True",
      "QgsProcessingParameterBoolean|-c|Use colors from color tables for NULL values|False",
      "QgsProcessingParameterRasterDestination|red|Red",
      "QgsProcessingParameterRasterDestination|green|Green",
      "QgsProcessingParameterRasterDestination|blue|Blue"
    ]
  },
  {
    "name": "r.horizon.height",
    "display_name": "r.horizon.height",
    "command": "r.horizon",
    "short_description": "r.horizon.height - Horizon angle computation from a digital elevation model.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|elevation|Name of input elevation raster map|None|False",
      "QgsProcessingParameterPoint|coordinates|Coordinate for which you want to calculate the horizon|0,0",
      "QgsProcessingParameterNumber|direction|Direction in which you want to know the horizon height|QgsProcessingParameterNumber.Double|None|True|0.0|360.0",
      "QgsProcessingParameterNumber|step|Angle step size for multidirectional horizon|QgsProcessingParameterNumber.Double|None|True|0.0|360.0",
      "QgsProcessingParameterNumber|start|Start angle for multidirectional horizon|QgsProcessingParameterNumber.Double|0.0|True|0.0|360.0",
      "QgsProcessingParameterNumber|end|End angle for multidirectional horizon|QgsProcessingParameterNumber.Double|360.0|True|0.0|360.0",
      "QgsProcessingParameterNumber|bufferzone|For horizon rasters, read from the DEM an extra buffer around the present region|QgsProcessingParameterNumber.Double|None|True|0.0|None",
      "QgsProcessingParameterNumber|e_buff|For horizon rasters, read from the DEM an extra buffer eastward the present region|QgsProcessingParameterNumber.Double|None|True|0.0|None",
      "QgsProcessingParameterNumber|w_buff|For horizon rasters, read from the DEM an extra buffer westward the present region|QgsProcessingParameterNumber.Double|None|True|0.0|None",
      "QgsProcessingParameterNumber|n_buff|For horizon rasters, read from the DEM an extra buffer northward the present region|QgsProcessingParameterNumber.Double|None|True|0.0|None",
      "QgsProcessingParameterNumber|s_buff|For horizon rasters, read from the DEM an extra buffer southward the present region|QgsProcessingParameterNumber.Double|None|True|0.0|None",
      "QgsProcessingParameterNumber|maxdistance|The maximum distance to consider when finding the horizon height|QgsProcessingParameterNumber.Double|None|True|0.0|None",
      "QgsProcessingParameterNumber|distance|Sampling distance step coefficient|QgsProcessingParameterNumber.Double|1.0|True|0.5|1.5",
      "QgsProcessingParameterBoolean|-d|Write output in degrees (default is radians)|False",
      "QgsProcessingParameterBoolean|-c|Write output in compass orientation (default is CCW, East=0)|False",
      "QgsProcessingParameterFileDestination|html|Horizon|Html files (*.html)|report.html|False"
    ]
  },
  {
    "name": "r.horizon",
    "display_name": "r.horizon",
    "command": "r.horizon",
    "short_description": "Horizon angle computation from a digital elevation model.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_horizon",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|elevation|Name of input elevation raster map|None|False",
      "QgsProcessingParameterNumber|direction|Direction in which you want to know the horizon height|QgsProcessingParameterNumber.Double|None|True|0.0|360.0",
      "QgsProcessingParameterNumber|step|Angle step size for multidirectional horizon|QgsProcessingParameterNumber.Double|None|True|0.0|360.0",
      "QgsProcessingParameterNumber|start|Start angle for multidirectional horizon|QgsProcessingParameterNumber.Double|0.0|True|0.0|360.0",
      "QgsProcessingParameterNumber|end|End angle for multidirectional horizon|QgsProcessingParameterNumber.Double|360.0|True|0.0|360.0",
      "QgsProcessingParameterNumber|bufferzone|For horizon rasters, read from the DEM an extra buffer around the present region|QgsProcessingParameterNumber.Double|None|True|0.0|None",
      "QgsProcessingParameterNumber|e_buff|For horizon rasters, read from the DEM an extra buffer eastward the present region|QgsProcessingParameterNumber.Double|None|True|0.0|None",
      "QgsProcessingParameterNumber|w_buff|For horizon rasters, read from the DEM an extra buffer westward the present region|QgsProcessingParameterNumber.Double|None|True|0.0|None",
      "QgsProcessingParameterNumber|n_buff|For horizon rasters, read from the DEM an extra buffer northward the present region|QgsProcessingParameterNumber.Double|None|True|0.0|None",
      "QgsProcessingParameterNumber|s_buff|For horizon rasters, read from the DEM an extra buffer southward the present region|QgsProcessingParameterNumber.Double|None|True|0.0|None",
      "QgsProcessingParameterNumber|maxdistance|The maximum distance to consider when finding the horizon height|QgsProcessingParameterNumber.Double|None|True|0.0|None",
      "QgsProcessingParameterNumber|distance|Sampling distance step coefficient|QgsProcessingParameterNumber.Double|1.0|True|0.5|1.5",
      "QgsProcessingParameterBoolean|-d|Write output in degrees (default is radians)|False",
      "QgsProcessingParameterBoolean|-c|Write output in compass orientation (default is CCW, East=0)|False",
      "QgsProcessingParameterFolderDestination|output|Folder to get horizon rasters"
    ]
  },
  {
    "name": "r.in.lidar.info",
    "display_name": "r.in.lidar.info",
    "command": "r.in.lidar",
    "short_description": "r.in.lidar.info - Extract information from LAS file",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [
      "-p",
      "-g",
      "-s"
    ],
    "parameters": [
      "QgsProcessingParameterFile|input|LAS input file|QgsProcessingParameterFile.File|las|None|False",
      "Hardcoded|-p",
      "Hardcoded|-g",
      "Hardcoded|-s",
      "QgsProcessingParameterFileDestination|html|LAS information|Html files (*.html)|report.html|False"
    ]
  },
  {
    "name": "r.in.lidar",
    "display_name": "r.in.lidar",
    "command": "r.in.lidar",
    "short_description": "Creates a raster map from LAS LiDAR points using univariate statistics.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFile|input|LAS input file|QgsProcessingParameterFile.File|las|None|False",
      "QgsProcessingParameterEnum|method|Statistic to use for raster values|n;min;max;range;sum;mean;stddev;variance;coeff_var;median;percentile;skewness;trimmean|False|5|True",
      "QgsProcessingParameterEnum|type|Storage type for resultant raster map|CELL;FCELL;DCELL|False|1|True",
      "QgsProcessingParameterRasterLayer|base_raster|Subtract raster values from the Z coordinates|None|True",
      "QgsProcessingParameterRange|zrange|Filter range for z data (min, max)|QgsProcessingParameterNumber.Double|None|True",
      "QgsProcessingParameterNumber|zscale|Scale to apply to z data|QgsProcessingParameterNumber.Double|1.0|True|0.0|None",
      "QgsProcessingParameterRange|intensity_range|Filter range for intensity values (min, max)|QgsProcessingParameterNumber.Double|None|True",
      "QgsProcessingParameterNumber|intensity_scale|Scale to apply to intensity values|QgsProcessingParameterNumber.Double|1.0|True|1.0|None",
      "QgsProcessingParameterNumber|percent|Percent of map to keep in memory|QgsProcessingParameterNumber.Integer|100|True|1|100",
      "QgsProcessingParameterNumber|pth|pth percentile of the values (between 1 and 100)|QgsProcessingParameterNumber.Integer|None|True|1|100",
      "QgsProcessingParameterNumber|trim|Discard <trim> percent of the smallest and <trim> percent of the largest observations (0-50)|QgsProcessingParameterNumber.Double|None|True|0.0|50.0",
      "QgsProcessingParameterNumber|resolution|Output raster resolution|QgsProcessingParameterNumber.Double|None|True|1.0|None",
      "QgsProcessingParameterString|return_filter|Only import points of selected return type Options: first, last, mid|None|False|True",
      "QgsProcessingParameterString|class_filter|Only import points of selected class(es) (comma separated integers)|None|False|True",
      "*QgsProcessingParameterBoolean|-e|Use the extent of the input for the raster extent|False",
      "*QgsProcessingParameterBoolean|-n|Set computation region to match the new raster map|False",
      "*QgsProcessingParameterBoolean|-o|Override projection check (use current location's projection)|False",
      "*QgsProcessingParameterBoolean|-i|Use intensity values rather than Z values|False",
      "*QgsProcessingParameterBoolean|-j|Use Z values for filtering, but intensity values for statistics|False",
      "*QgsProcessingParameterBoolean|-d|Use base raster resolution instead of computational region|False",
      "*QgsProcessingParameterBoolean|-v|Use only valid points|False",
      "QgsProcessingParameterRasterDestination|output|Lidar Raster"
    ]
  },
  {
    "name": "r.info",
    "display_name": "r.info",
    "command": "r.info",
    "short_description": "Output basic information about a raster layer.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|map|Raster layer|None|False",
      "QgsProcessingParameterBoolean|-r|Print range only|False",
      "QgsProcessingParameterBoolean|-g|Print raster array information in shell script style|False",
      "QgsProcessingParameterBoolean|-h|Print raster history instead of info|False",
      "QgsProcessingParameterBoolean|-e|Print extended metadata information in shell script style|False",
      "QgsProcessingParameterFileDestination|html|Basic information|Html files (*.html)|report.html|False"
    ]
  },
  {
    "name": "r.kappa",
    "display_name": "r.kappa",
    "command": "r.kappa",
    "short_description": "Calculate error matrix and kappa parameter for accuracy assessment of classification result.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|classification|Raster layer containing classification result|None|False",
      "QgsProcessingParameterRasterLayer|reference|Raster layer containing reference classes|None|False",
      "QgsProcessingParameterString|title|Title for error matrix and kappa|ACCURACY ASSESSMENT",
      "QgsProcessingParameterBoolean|-h|No header in the report|False",
      "QgsProcessingParameterBoolean|-w|Wide report (132 columns)|False",
      "QgsProcessingParameterFileDestination|output|Error matrix and kappa|Txt files (*.txt)|None|False"
    ]
  },
  {
    "name": "r.lake",
    "display_name": "r.lake",
    "command": "r.lake",
    "short_description": "Fills lake at given point to given level.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|elevation|Elevation|None|False",
      "QgsProcessingParameterNumber|water_level|Water level|QgsProcessingParameterNumber.Double|None|False|None|None",
      "QgsProcessingParameterPoint|coordinates|Seed point coordinates||True",
      "QgsProcessingParameterRasterLayer|seed|Raster layer with starting point(s) (at least 1 cell > 0)|None|True",
      "QgsProcessingParameterBoolean|-n|Use negative depth values for lake raster layer|False",
      "QgsProcessingParameterRasterDestination|lake|Lake"
    ]
  },
  {
    "name": "r.latlong",
    "display_name": "r.latlong",
    "command": "r.latlong",
    "short_description": "Creates a latitude/longitude raster map.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False",
      "QgsProcessingParameterBoolean|-l|Longitude output|False|True",
      "QgsProcessingParameterRasterDestination|output|LatLong"
    ]
  },
  {
    "name": "r.li.cwed.ascii",
    "display_name": "r.li.cwed.ascii",
    "command": "r.li.cwed",
    "short_description": "r.li.cwed.ascii - Calculates contrast weighted edge density index on a raster map",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_li_cwed_ascii",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False",
      "QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True",
      "QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True",
      "QgsProcessingParameterFile|path|Name of file that contains the weight to calculate the index|QgsProcessingParameterFile.File|txt|None|False",
      "QgsProcessingParameterFileDestination|output_txt|CWED|Txt files (*.txt)|None|False"
    ]
  },
  {
    "name": "r.li.cwed",
    "display_name": "r.li.cwed",
    "command": "r.li.cwed",
    "short_description": "Calculates contrast weighted edge density index on a raster map",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_li_cwed",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False",
      "QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True",
      "QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True",
      "QgsProcessingParameterFile|path|Name of file that contains the weight to calculate the index|QgsProcessingParameterFile.File|txt|None|False",
      "QgsProcessingParameterRasterDestination|output|CWED"
    ]
  },
  {
    "name": "r.li.dominance.ascii",
    "display_name": "r.li.dominance.ascii",
    "command": "r.li.dominance",
    "short_description": "r.li.dominance.ascii - Calculates dominance's diversity index on a raster map",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_li_dominance_ascii",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False",
      "QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True",
      "QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True",
      "QgsProcessingParameterFileDestination|output_txt|Dominance|Txt files (*.txt)|None|False"
    ]
  },
  {
    "name": "r.li.dominance",
    "display_name": "r.li.dominance",
    "command": "r.li.dominance",
    "short_description": "Calculates dominance's diversity index on a raster map",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_li_dominance",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False",
      "QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True",
      "QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True",
      "QgsProcessingParameterRasterDestination|output|Dominance"
    ]
  },
  {
    "name": "r.li.edgedensity.ascii",
    "display_name": "r.li.edgedensity.ascii",
    "command": "r.li.edgedensity",
    "short_description": "r.li.edgedensity.ascii - Calculates edge density index on a raster map, using a 4 neighbour algorithm",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_li_edgedensity_ascii",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False",
      "QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True",
      "QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True",
      "QgsProcessingParameterString|patch_type|The value of the patch type|None|False|True",
      "QgsProcessingParameterBoolean|-b|Exclude border edges|False",
      "QgsProcessingParameterFileDestination|output_txt|Edge Density|Txt files (*.txt)|None|False"
    ]
  },
  {
    "name": "r.li.edgedensity",
    "display_name": "r.li.edgedensity",
    "command": "r.li.edgedensity",
    "short_description": "Calculates edge density index on a raster map, using a 4 neighbour algorithm",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_li_edgedensity",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False",
      "QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True",
      "QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True",
      "QgsProcessingParameterString|patch_type|The value of the patch type|None|False|True",
      "QgsProcessingParameterBoolean|-b|Exclude border edges|False",
      "QgsProcessingParameterRasterDestination|output|Edge Density"
    ]
  },
  {
    "name": "r.li.mpa.ascii",
    "display_name": "r.li.mpa.ascii",
    "command": "r.li.mpa",
    "short_description": "r.li.mpa.ascii - Calculates mean pixel attribute index on a raster map",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_li_mpa_ascii",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False",
      "QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True",
      "QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True",
      "QgsProcessingParameterFileDestination|output_txt|Mean Pixel Attribute|Txt files (*.txt)|None|False"
    ]
  },
  {
    "name": "r.li.mpa",
    "display_name": "r.li.mpa",
    "command": "r.li.mpa",
    "short_description": "Calculates mean pixel attribute index on a raster map",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_li_mpa",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False",
      "QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True",
      "QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True",
      "QgsProcessingParameterRasterDestination|output|Mean Pixel Attribute"
    ]
  },
  {
    "name": "r.li.mps.ascii",
    "display_name": "r.li.mps.ascii",
    "command": "r.li.mps",
    "short_description": "r.li.mps.ascii - Calculates mean patch size index on a raster map, using a 4 neighbour algorithm",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_li_mps_ascii",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False",
      "QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True",
      "QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None",
      "QgsProcessingParameterFileDestination|output_txt|Mean Patch Size|Txt files (*.txt)|None|False"
    ]
  },
  {
    "name": "r.li.mps",
    "display_name": "r.li.mps",
    "command": "r.li.mps",
    "short_description": "Calculates mean patch size index on a raster map, using a 4 neighbour algorithm",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_li_mps",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False",
      "QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True",
      "QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True",
      "QgsProcessingParameterRasterDestination|output|Mean Patch Size"
    ]
  },
  {
    "name": "r.li.padcv.ascii",
    "display_name": "r.li.padcv.ascii",
    "command": "r.li.padcv",
    "short_description": "r.li.padcv.ascii - Calculates coefficient of variation of patch area on a raster map",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_li_padcv_ascii",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False",
      "QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True",
      "QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True",
      "QgsProcessingParameterFileDestination|output_txt|PADCV|Txt files (*.txt)|None|False"
    ]
  },
  {
    "name": "r.li.padcv",
    "display_name": "r.li.padcv",
    "command": "r.li.padcv",
    "short_description": "Calculates coefficient of variation of patch area on a raster map",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_li_padcv",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False",
      "QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True",
      "QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True",
      "QgsProcessingParameterRasterDestination|output|PADCV"
    ]
  },
  {
    "name": "r.li.padrange.ascii",
    "display_name": "r.li.padrange.ascii",
    "command": "r.li.padrange",
    "short_description": "r.li.padrange.ascii - Calculates range of patch area size on a raster map",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_li_padrange_ascii",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False",
      "QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True",
      "QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True",
      "QgsProcessingParameterFileDestination|output_txt|Pad Range|Txt files (*.txt)|None|False"
    ]
  },
  {
    "name": "r.li.padrange",
    "display_name": "r.li.padrange",
    "command": "r.li.padrange",
    "short_description": "Calculates range of patch area size on a raster map",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_li_padrange",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False",
      "QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True",
      "QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True",
      "QgsProcessingParameterRasterDestination|output|Pad Range"
    ]
  },
  {
    "name": "r.li.padsd.ascii",
    "display_name": "r.li.padsd.ascii",
    "command": "r.li.padsd",
    "short_description": "r.li.padsd.ascii - Calculates standard deviation of patch area a raster map",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_li_padsd_ascii",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False",
      "QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True",
      "QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True",
      "QgsProcessingParameterFileDestination|output_txt|Patch Area SD|Txt files (*.txt)|None|False"
    ]
  },
  {
    "name": "r.li.padsd",
    "display_name": "r.li.padsd",
    "command": "r.li.padsd",
    "short_description": "Calculates standard deviation of patch area a raster map",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_li_padsd",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False",
      "QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True",
      "QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True",
      "QgsProcessingParameterRasterDestination|output|Patch Area SD"
    ]
  },
  {
    "name": "r.li.patchdensity.ascii",
    "display_name": "r.li.patchdensity.ascii",
    "command": "r.li.patchdensity",
    "short_description": "r.li.patchdensity.ascii - Calculates patch density index on a raster map, using a 4 neighbour algorithm",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_li_patchdensity_ascii",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False",
      "QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True",
      "QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True",
      "QgsProcessingParameterFileDestination|output_txt|Patch Density|Txt files (*.txt)|None|False"
    ]
  },
  {
    "name": "r.li.patchdensity",
    "display_name": "r.li.patchdensity",
    "command": "r.li.patchdensity",
    "short_description": "Calculates patch density index on a raster map, using a 4 neighbour algorithm",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_li_patchdensity",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False",
      "QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True",
      "QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True",
      "QgsProcessingParameterRasterDestination|output|Patch Density"
    ]
  },
  {
    "name": "r.li.patchnum.ascii",
    "display_name": "r.li.patchnum.ascii",
    "command": "r.li.patchnum",
    "short_description": "r.li.patchnum.ascii - Calculates patch number index on a raster map, using a 4 neighbour algorithm.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_li_patchnum_ascii",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False",
      "QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True",
      "QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True",
      "QgsProcessingParameterFileDestination|output_txt|Patch Number|Txt files (*.txt)|None|False"
    ]
  },
  {
    "name": "r.li.patchnum",
    "display_name": "r.li.patchnum",
    "command": "r.li.patchnum",
    "short_description": "Calculates patch number index on a raster map, using a 4 neighbour algorithm.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_li_patchnum",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False",
      "QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True",
      "QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True",
      "QgsProcessingParameterRasterDestination|output|Patch Number"
    ]
  },
  {
    "name": "r.li.pielou.ascii",
    "display_name": "r.li.pielou.ascii",
    "command": "r.li.pielou",
    "short_description": "r.li.pielou.ascii - Calculates Pielou's diversity index on a raster map",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_li_pielou_ascii",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False",
      "QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True",
      "QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True",
      "QgsProcessingParameterFileDestination|output_txt|Pielou|Txt files (*.txt)|None|False"
    ]
  },
  {
    "name": "r.li.pielou",
    "display_name": "r.li.pielou",
    "command": "r.li.pielou",
    "short_description": "Calculates Pielou's diversity index on a raster map",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_li_pielou",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False",
      "QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True",
      "QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True",
      "QgsProcessingParameterRasterDestination|output|Pielou"
    ]
  },
  {
    "name": "r.li.renyi.ascii",
    "display_name": "r.li.renyi.ascii",
    "command": "r.li.renyi",
    "short_description": "r.li.renyi.ascii - Calculates Renyi's diversity index on a raster map",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_li_renyi_ascii",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False",
      "QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True",
      "QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True",
      "QgsProcessingParameterString|alpha|Alpha value is the order of the generalized entropy|None|False|False",
      "QgsProcessingParameterFileDestination|output_txt|Renyi|Txt files (*.txt)|None|False"
    ]
  },
  {
    "name": "r.li.renyi",
    "display_name": "r.li.renyi",
    "command": "r.li.renyi",
    "short_description": "Calculates Renyi's diversity index on a raster map",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_li_renyi",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False",
      "QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True",
      "QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True",
      "QgsProcessingParameterString|alpha|Alpha value is the order of the generalized entropy|None|False|False",
      "QgsProcessingParameterRasterDestination|output|Renyi"
    ]
  },
  {
    "name": "r.li.richness.ascii",
    "display_name": "r.li.richness.ascii",
    "command": "r.li.richness",
    "short_description": "r.li.richness.ascii - Calculates richness index on a raster map",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_li_richness_ascii",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False",
      "QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True",
      "QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True",
      "QgsProcessingParameterFileDestination|output_txt|Richness|Txt files (*.txt)|None|False"
    ]
  },
  {
    "name": "r.li.richness",
    "display_name": "r.li.richness",
    "command": "r.li.richness",
    "short_description": "Calculates richness index on a raster map",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_li_richness",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False",
      "QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True",
      "QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True",
      "QgsProcessingParameterRasterDestination|output|Richness"
    ]
  },
  {
    "name": "r.li.shannon.ascii",
    "display_name": "r.li.shannon.ascii",
    "command": "r.li.shannon",
    "short_description": "r.li.shannon.ascii - Calculates Shannon's diversity index on a raster map",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_li_shannon_ascii",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False",
      "QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True",
      "QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True",
      "QgsProcessingParameterFileDestination|output_txt|Shannon|Txt files (*.txt)|None|False"
    ]
  },
  {
    "name": "r.li.shannon",
    "display_name": "r.li.shannon",
    "command": "r.li.shannon",
    "short_description": "Calculates Shannon's diversity index on a raster map",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_li_shannon",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False",
      "QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True",
      "QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True",
      "QgsProcessingParameterRasterDestination|output|Shannon"
    ]
  },
  {
    "name": "r.li.shape.ascii",
    "display_name": "r.li.shape.ascii",
    "command": "r.li.shape",
    "short_description": "r.li.shape.ascii - Calculates shape index on a raster map",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_li_shape_ascii",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False",
      "QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True",
      "QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True",
      "QgsProcessingParameterFileDestination|output_txt|Shape|Txt files (*.txt)|None|False"
    ]
  },
  {
    "name": "r.li.shape",
    "display_name": "r.li.shape",
    "command": "r.li.shape",
    "short_description": "Calculates shape index on a raster map",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_li_shape",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False",
      "QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True",
      "QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True",
      "QgsProcessingParameterRasterDestination|output|Shape"
    ]
  },
  {
    "name": "r.li.simpson.ascii",
    "display_name": "r.li.simpson.ascii",
    "command": "r.li.simpson",
    "short_description": "r.li.simpson.ascii - Calculates Simpson's diversity index on a raster map",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_li_simpson_ascii",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False",
      "QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True",
      "QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True",
      "QgsProcessingParameterFileDestination|output_txt|Simpson|Txt files (*.txt)|None|False"
    ]
  },
  {
    "name": "r.li.simpson",
    "display_name": "r.li.simpson",
    "command": "r.li.simpson",
    "short_description": "Calculates Simpson's diversity index on a raster map",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_li_simpson",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False",
      "QgsProcessingParameterString|config_txt|Landscape structure configuration|None|True|True",
      "QgsProcessingParameterFile|config|Landscape structure configuration file|QgsProcessingParameterFile.File|txt|None|True",
      "QgsProcessingParameterRasterDestination|output|Simpson"
    ]
  },
  {
    "name": "r.mapcalc.simple",
    "display_name": "r.mapcalc.simple",
    "command": "r.mapcalc.simple",
    "short_description": "Calculate new raster map from a r.mapcalc expression.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|a|Raster layer A|None|False",
      "QgsProcessingParameterRasterLayer|b|Raster layer B|None|True",
      "QgsProcessingParameterRasterLayer|c|Raster layer C|None|True",
      "QgsProcessingParameterRasterLayer|d|Raster layer D|None|True",
      "QgsProcessingParameterRasterLayer|e|Raster layer E|None|True",
      "QgsProcessingParameterRasterLayer|f|Raster layer F|None|True",
      "QgsProcessingParameterString|expression|Formula|A*2|False",
      "QgsProcessingParameterRasterDestination|output|Calculated"
    ]
  },
  {
    "name": "r.mask.rast",
    "display_name": "r.mask.rast",
    "command": "r.mask",
    "short_description": "r.mask.rast - Creates a MASK for limiting raster operation.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_mask_rast",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|raster|Name of raster map to use as mask|None|False",
      "QgsProcessingParameterRasterLayer|input|Name of raster map to which apply the mask|None|False",
      "QgsProcessingParameterString|maskcats|Raster values to use for mask. Format: 1 2 3 thru 7 *|*|False|True",
      "*QgsProcessingParameterBoolean|-i|Create inverse mask|False|True",
      "QgsProcessingParameterRasterDestination|output|Masked"
    ]
  },
  {
    "name": "r.mask.vect",
    "display_name": "r.mask.vect",
    "command": "r.mask",
    "short_description": "r.mask.vect - Creates a MASK for limiting raster operation with a vector layer.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_mask_vect",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|vector|Name of vector map to use as mask|1;2|None|False",
      "QgsProcessingParameterRasterLayer|input|Name of raster map to which apply the mask|None|False",
      "*QgsProcessingParameterString|cats|Category values. Example: 1,3,7-9,13|None|False|True",
      "*QgsProcessingParameterString|where|WHERE conditions of SQL statement without 'where' keyword|None|True|True",
      "*QgsProcessingParameterBoolean|-i|Create inverse mask|False|True",
      "QgsProcessingParameterRasterDestination|output|Masked"
    ]
  },
  {
    "name": "r.mfilter",
    "display_name": "r.mfilter",
    "command": "r.mfilter",
    "short_description": "Performs raster map matrix filter.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Input layer|None|False",
      "QgsProcessingParameterFile|filter|Filter file|QgsProcessingParameterFile.File|txt|None|False",
      "QgsProcessingParameterNumber|repeat|Number of times to repeat the filter|QgsProcessingParameterNumber.Integer|1|True|1|None",
      "QgsProcessingParameterBoolean|-z|Apply filter only to zero data values|False",
      "QgsProcessingParameterRasterDestination|output|Filtered"
    ]
  },
  {
    "name": "r.mode",
    "display_name": "r.mode",
    "command": "r.mode",
    "short_description": "Finds the mode of values in a cover layer within areas assigned the same category value in a user-specified base layer.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|base|Base layer to be reclassified|None|False",
      "QgsProcessingParameterRasterLayer|cover|Categories layer|None|False",
      "QgsProcessingParameterRasterDestination|output|Mode"
    ]
  },
  {
    "name": "r.neighbors",
    "display_name": "r.neighbors",
    "command": "r.neighbors",
    "short_description": "Makes each cell category value a function of the category values assigned to the cells around it",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_neighbors",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Input raster layer|None|False",
      "QgsProcessingParameterRasterLayer|selection|Raster layer to select the cells which should be processed|None|True",
      "QgsProcessingParameterEnum|method|Neighborhood operation|average;median;mode;minimum;maximum;range;stddev;sum;count;variance;diversity;interspersion;quart1;quart3;perc90;quantile|False|0|True",
      "QgsProcessingParameterNumber|size|Neighborhood size (must be odd)|QgsProcessingParameterNumber.Integer|3|True|1|None",
      "QgsProcessingParameterNumber|gauss|Sigma (in cells) for Gaussian filter|QgsProcessingParameterNumber.Integer|None|True|0|None",
      "QgsProcessingParameterString|quantile|Quantile to calculate for method=quantile|None|False|True",
      "QgsProcessingParameterBoolean|-c|Use circular neighborhood|False",
      "*QgsProcessingParameterBoolean|-a|Do not align output with the input|False",
      "*QgsProcessingParameterFile|weight|File containing weights|QgsProcessingParameterFile.File|txt|None|True",
      "QgsProcessingParameterRasterDestination|output|Neighbors"
    ]
  },
  {
    "name": "r.null",
    "display_name": "r.null",
    "command": "r.null",
    "short_description": "Manages NULL-values of given raster map.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_null",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|map|Name of raster map for which to edit null values|None|False",
      "QgsProcessingParameterString|setnull|List of cell values to be set to NULL|None|False|True",
      "QgsProcessingParameterNumber|null|The value to replace the null value by|QgsProcessingParameterNumber.Double|None|True|None|None",
      "*QgsProcessingParameterBoolean|-f|Only do the work if the map is floating-point|False|True",
      "*QgsProcessingParameterBoolean|-i|Only do the work if the map is integer|False|True",
      "*QgsProcessingParameterBoolean|-n|Only do the work if the map doesn't have a NULL-value bitmap file|False|True",
      "*QgsProcessingParameterBoolean|-c|Create NULL-value bitmap file validating all data cells|False|True",
      "*QgsProcessingParameterBoolean|-r|Remove NULL-value bitmap file|False|True",
      "QgsProcessingParameterRasterDestination|output|NullRaster"
    ]
  },
  {
    "name": "r.out.ascii",
    "display_name": "r.out.ascii",
    "command": "r.out.ascii",
    "short_description": "Export a raster layer into a GRASS ASCII text file",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Input raster|None|False",
      "QgsProcessingParameterNumber|precision|Number of significant digits|QgsProcessingParameterNumber.Integer|None|True|0|None",
      "QgsProcessingParameterNumber|width|Number of values printed before wrapping a line (only SURFER or MODFLOW format)|QgsProcessingParameterNumber.Integer|None|True|0|None",
      "QgsProcessingParameterString|null_value|String to represent null cell (GRASS grid only)|*|False|True",
      "*QgsProcessingParameterBoolean|-s|Write SURFER (Golden Software) ASCII grid|False|True",
      "*QgsProcessingParameterBoolean|-m|Write MODFLOW (USGS) ASCII array|False|True",
      "*QgsProcessingParameterBoolean|-i|Force output of integer values|False|True",
      "QgsProcessingParameterFileDestination|output|GRASS Ascii|Txt files (*.txt)|None|False"
    ]
  },
  {
    "name": "r.out.gridatb",
    "display_name": "r.out.gridatb",
    "command": "r.out.gridatb",
    "short_description": "Exports GRASS raster map to GRIDATB.FOR map file (TOPMODEL)",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False",
      "QgsProcessingParameterFileDestination|output|GRIDATB|Txt files (*.txt)|None|False"
    ]
  },
  {
    "name": "r.out.mat",
    "display_name": "r.out.mat",
    "command": "r.out.mat",
    "short_description": "Exports a GRASS raster to a binary MAT-File",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Input raster|None|False",
      "QgsProcessingParameterFileDestination|output|MAT File|Mat files (*.mat)|None|False"
    ]
  },
  {
    "name": "r.out.mpeg",
    "display_name": "r.out.mpeg",
    "command": "r.out.mpeg",
    "short_description": "Converts raster map series to MPEG movie",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterMultipleLayers|view1|Name of input raster map(s) for view no.1|3|None|False",
      "QgsProcessingParameterMultipleLayers|view2|Name of input raster map(s) for view no.2|3|None|True",
      "QgsProcessingParameterMultipleLayers|view3|Name of input raster map(s) for view no.3|3|None|True",
      "QgsProcessingParameterMultipleLayers|view4|Name of input raster map(s) for view no.4|3|None|True",
      "QgsProcessingParameterNumber|quality|Quality factor (1 = highest quality, lowest compression)|QgsProcessingParameterNumber.Integer|3|True|1|5",
      "QgsProcessingParameterFileDestination|output|MPEG file|MPEG files (*.mpeg;*.mpg)|None|False"
    ]
  },
  {
    "name": "r.out.png",
    "display_name": "r.out.png",
    "command": "r.out.png",
    "short_description": "Export a GRASS raster map as a non-georeferenced PNG image",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Input raster|None|False",
      "QgsProcessingParameterNumber|compression|Compression level of PNG file (0 = none, 1 = fastest, 9 = best)|QgsProcessingParameterNumber.Integer|6|True|0|9",
      "*QgsProcessingParameterBoolean|-t|Make NULL cells transparent|False|True",
      "*QgsProcessingParameterBoolean|-w|Output world file|False|True",
      "QgsProcessingParameterFileDestination|output|PNG File|PNG files (*.png)|None|False"
    ]
  },
  {
    "name": "r.out.pov",
    "display_name": "r.out.pov",
    "command": "r.out.pov",
    "short_description": "Converts a raster map layer into a height-field file for POV-Ray",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Input raster|None|False",
      "QgsProcessingParameterNumber|hftype|Height-field type (0=actual heights 1=normalized)|QgsProcessingParameterNumber.Integer|0|True|0|1",
      "QgsProcessingParameterNumber|bias|Elevation bias|QgsProcessingParameterNumber.Double|None|True|None|None",
      "QgsProcessingParameterNumber|scale|Vertical scaling factor|QgsProcessingParameterNumber.Double|None|True|None|None",
      "QgsProcessingParameterFileDestination|output|Name of output povray file (TGA height field file)|Povray files (*.pov)|None|False"
    ]
  },
  {
    "name": "r.out.ppm",
    "display_name": "r.out.ppm",
    "command": "r.out.ppm",
    "short_description": "Converts a raster layer to a PPM image file at the pixel resolution of the currently defined region.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Input raster layer|None|False",
      "QgsProcessingParameterBoolean|-g|Output greyscale instead of color|True",
      "QgsProcessingParameterFileDestination|output|PPM|PPM files (*.ppm)|None|False"
    ]
  },
  {
    "name": "r.out.ppm3",
    "display_name": "r.out.ppm3",
    "command": "r.out.ppm3",
    "short_description": "Converts 3 GRASS raster layers (R,G,B) to a PPM image file",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|red|Name of raster map to be used for <red>|None|False",
      "QgsProcessingParameterRasterLayer|green|Name of raster map to be used for <green>|None|False",
      "QgsProcessingParameterRasterLayer|blue|Name of raster map to be used for <blue>|None|False",
      "QgsProcessingParameterBoolean|-c|Add comments to describe the region|False|True",
      "QgsProcessingParameterFileDestination|output|Name for new PPM file|PPM files (*.ppm)|None|False"
    ]
  },
  {
    "name": "r.out.vrml",
    "display_name": "r.out.vrml",
    "command": "r.out.vrml",
    "short_description": "Export a raster layer to the Virtual Reality Modeling Language (VRML)",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|elevation|Elevation layer|None|False",
      "QgsProcessingParameterRasterLayer|color|Color layer|None|False",
      "QgsProcessingParameterNumber|exaggeration|Vertical exaggeration|QgsProcessingParameterNumber.Double|1.0|True|None|None",
      "QgsProcessingParameterFileDestination|output|VRML|Txt files (*.txt)|None|False"
    ]
  },
  {
    "name": "r.out.vtk",
    "display_name": "r.out.vtk",
    "command": "r.out.vtk",
    "short_description": "Converts raster maps into the VTK-ASCII format",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterMultipleLayers|input|Input raster|3|None|False",
      "QgsProcessingParameterRasterLayer|elevation|Input elevation raster map|None|True",
      "QgsProcessingParameterNumber|null|Value to represent no data cell|QgsProcessingParameterNumber.Double|-99999.99|True|None|None",
      "QgsProcessingParameterNumber|z|Constant elevation (if no elevation map is specified)|QgsProcessingParameterNumber.Double|0.0|True|None|None",
      "QgsProcessingParameterMultipleLayers|rgbmaps|Three (r,g,b) raster maps to create RGB values|3|None|True",
      "QgsProcessingParameterMultipleLayers|vectormaps|Three (x,y,z) raster maps to create vector values|3|None|True",
      "QgsProcessingParameterNumber|zscale|Scale factor for elevation|QgsProcessingParameterNumber.Double|1.0|True|None|None",
      "QgsProcessingParameterNumber|precision|Number of significant digits|QgsProcessingParameterNumber.Integer|12|True|0|20",
      "*QgsProcessingParameterBoolean|-p|Create VTK point data instead of VTK cell data|False|True",
      "*QgsProcessingParameterBoolean|-s|Use structured grid for elevation (not recommended)|False|True",
      "*QgsProcessingParameterBoolean|-t|Use polydata-trianglestrips for elevation grid creation|False|True",
      "*QgsProcessingParameterBoolean|-v|Use polydata-vertices for elevation grid creation|False|True",
      "*QgsProcessingParameterBoolean|-o|Scale factor affects the origin (if no elevation map is given)|False|True",
      "*QgsProcessingParameterBoolean|-c|Correct the coordinates to match the VTK-OpenGL precision|False|True",
      "QgsProcessingParameterFileDestination|output|VTK File|Vtk files (*.vtk)|None|False"
    ]
  },
  {
    "name": "r.out.xyz",
    "display_name": "r.out.xyz",
    "command": "r.out.xyz",
    "short_description": "Exports a raster map to a text file as x,y,z values based on cell centers",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterMultipleLayers|input|Input raster(s)|3|None|False",
      "QgsProcessingParameterString|separator|Field separator|pipe|False|True",
      "*QgsProcessingParameterBoolean|-i|Include no data values|False|True",
      "QgsProcessingParameterFileDestination|output|XYZ File|XYZ files (*.xyz *.txt)|None|False"
    ]
  },
  {
    "name": "r.param.scale",
    "display_name": "r.param.scale",
    "command": "r.param.scale",
    "short_description": "Extracts terrain parameters from a DEM.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False",
      "QgsProcessingParameterNumber|slope_tolerance|Slope tolerance that defines a 'flat' surface (degrees)|QgsProcessingParameterNumber.Double|1.0|True|None|None",
      "QgsProcessingParameterNumber|curvature_tolerance|Curvature tolerance that defines 'planar' surface|QgsProcessingParameterNumber.Double|0.0001|True|None|None",
      "QgsProcessingParameterNumber|size|Size of processing window (odd number only, max: 499)|QgsProcessingParameterNumber.Integer|3|True|3|499",
      "QgsProcessingParameterEnum|method|Morphometric parameter in 'size' window to calculate|elev;slope;aspect;profc;planc;longc;crosc;minic;maxic;feature|False|0|True",
      "QgsProcessingParameterNumber|exponent|Exponent for distance weighting (0.0-4.0)|QgsProcessingParameterNumber.Double|0.0|True|0.0|4.0",
      "QgsProcessingParameterNumber|zscale|Vertical scaling factor|QgsProcessingParameterNumber.Double|1.0|True|None|None",
      "QgsProcessingParameterBoolean|-c|Constrain model through central window cell|False",
      "QgsProcessingParameterRasterDestination|output|Morphometric parameter"
    ]
  },
  {
    "name": "r.patch",
    "display_name": "r.patch",
    "command": "r.patch",
    "short_description": "Creates a composite raster layer by using one (or more) layer(s) to fill in areas of \"no data\" in another map layer.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterMultipleLayers|input|Raster layers to be patched together|3|None|False",
      "QgsProcessingParameterBoolean|-z|Use zero (0) for transparency instead of NULL|False",
      "QgsProcessingParameterRasterDestination|output|Patched"
    ]
  },
  {
    "name": "r.path",
    "display_name": "r.path",
    "command": "r.path",
    "short_description": "Traces paths from starting points following input directions.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Name of input direction",
      "QgsProcessingParameterEnum|format|Format of the input direction map|auto;degree;45degree;bitmask|false|0|false",
      "QgsProcessingParameterRasterLayer|values|Name of input raster values to be used for output|None|True",
      "QgsProcessingParameterRasterDestination|raster_path|Name for output raster path map",
      "QgsProcessingParameterVectorDestination|vector_path|Name for output vector path map",
      "QgsProcessingParameterFeatureSource|start_points|Vector layer containing starting point(s)|0|None|False",
      "QgsProcessingParameterBoolean|-c|Copy input cell values on output|False",
      "QgsProcessingParameterBoolean|-a|Accumulate input values along the path|False",
      "QgsProcessingParameterBoolean|-n|Count cell numbers along the path|False"
    ]
  },
  {
    "name": "r.path.coordinate.txt",
    "display_name": "r.path.coordinate.txt",
    "command": "r.path",
    "short_description": "r.path.coordinate.txt - Traces paths from starting points following input directions.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Name of input direction",
      "QgsProcessingParameterEnum|format|Format of the input direction map|auto;degree;45degree;bitmask|false|0|false",
      "QgsProcessingParameterRasterLayer|values|Name of input raster values to be used for output|None|True",
      "QgsProcessingParameterRasterDestination|raster_path|Name for output raster path map",
      "QgsProcessingParameterVectorDestination|vector_path|Name for output vector path map",
      "QgsProcessingParameterPoint|start_coordinates|Map coordinate of starting point (E,N)|None|False",
      "QgsProcessingParameterBoolean|-c|Copy input cell values on output|False",
      "QgsProcessingParameterBoolean|-a|Accumulate input values along the path|False",
      "QgsProcessingParameterBoolean|-n|Count cell numbers along the path|False"
    ]
  },
  {
    "name": "r.plane",
    "display_name": "r.plane",
    "command": "r.plane",
    "short_description": "Creates raster plane layer given dip (inclination), aspect (azimuth) and one point.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterNumber|dip|Dip of plane|QgsProcessingParameterNumber.Double|0.0|False|-90.0|90.0",
      "QgsProcessingParameterNumber|azimuth|Azimuth of the plane|QgsProcessingParameterNumber.Double|0.0|False|0.0|360.0",
      "QgsProcessingParameterNumber|easting|Easting coordinate of a point on the plane|QgsProcessingParameterNumber.Double|None|False|None|None",
      "QgsProcessingParameterNumber|northing|Northing coordinate of a point on the plane|QgsProcessingParameterNumber.Double|None|False|None|None",
      "QgsProcessingParameterNumber|elevation|Elevation coordinate of a point on the plane|QgsProcessingParameterNumber.Double|None|False|None|None",
      "QgsProcessingParameterEnum|type|Data type of resulting layer|CELL;FCELL;DCELL|False|1|True",
      "QgsProcessingParameterRasterDestination|output|Plane"
    ]
  },
  {
    "name": "r.profile",
    "display_name": "r.profile",
    "command": "r.profile",
    "short_description": "Outputs the raster layer values lying on user-defined line(s).",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Input raster layer|None|False",
      "QgsProcessingParameterString|coordinates|Profile coordinate pairs|0,0,1,1|True|True",
      "QgsProcessingParameterNumber|resolution|Resolution along profile|QgsProcessingParameterNumber.Double|None|True|None|0",
      "QgsProcessingParameterString|null_value|Character to represent no data cell|*|False|True",
      "QgsProcessingParameterFile|file|Name of input file containing coordinate pairs|QgsProcessingParameterFile.File|txt|None|True",
      "QgsProcessingParameterBoolean|-g|Output easting and northing in first two columns of four column output|False",
      "QgsProcessingParameterBoolean|-c|Output RRR:GGG:BBB color values for each profile point|False",
      "QgsProcessingParameterFileDestination|output|Profile|Txt files (*.txt)|None|False"
    ]
  },
  {
    "name": "r.proj",
    "display_name": "r.proj",
    "command": "r.proj",
    "short_description": "Re-projects a raster layer to another coordinate reference system",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_proj",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Input raster to reproject|None|False",
      "QgsProcessingParameterCrs|crs|New coordinate reference system|None|False",
      "QgsProcessingParameterEnum|method|Interpolation method to use|nearest;bilinear;bicubic;lanczos;bilinear_f;bicubic_f;lanczos_f|False|0|True",
      "QgsProcessingParameterNumber|memory|Maximum memory to be used (in MB)|QgsProcessingParameterNumber.Integer|300|True|0|None",
      "QgsProcessingParameterNumber|resolution|Resolution of output raster map|QgsProcessingParameterNumber.Double|None|True|0.0|None",
      "*QgsProcessingParameterBoolean|-n|Do not perform region cropping optimization|False|True",
      "QgsProcessingParameterRasterDestination|output|Reprojected raster"
    ]
  },
  {
    "name": "r.quant",
    "display_name": "r.quant",
    "command": "r.quant",
    "short_description": "Produces the quantization file for a floating-point map.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterMultipleLayers|input|Raster layer(s) to be quantized|1|None|False",
      "QgsProcessingParameterRasterLayer|basemap|Base layer to take quant rules from|None|True",
      "QgsProcessingParameterRange|fprange|Floating point range: dmin,dmax|QgsProcessingParameterNumber.Double|None|True",
      "QgsProcessingParameterRange|range|Integer range: min,max|QgsProcessingParameterNumber.Integer|None|True",
      "QgsProcessingParameterBoolean|-t|Truncate floating point data|False",
      "QgsProcessingParameterBoolean|-r|Round floating point data|False",
      "QgsProcessingParameterFolderDestination|output|Quantized raster(s)|None|False"
    ]
  },
  {
    "name": "r.quantile.plain",
    "display_name": "r.quantile.plain",
    "command": "r.quantile",
    "short_description": "r.quantile.plain - Compute quantiles using two passes and save them as plain text.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Input raster layer|None|False",
      "QgsProcessingParameterNumber|quantiles|Number of quantiles|QgsProcessingParameterNumber.Integer|4|True|2|None",
      "QgsProcessingParameterString|percentiles|List of percentiles|None|False|True",
      "QgsProcessingParameterNumber|bins|Number of bins to use|QgsProcessingParameterNumber.Integer|1000000|True|1|None",
      "*QgsProcessingParameterBoolean|-r|Generate recode rules based on quantile-defined intervals|False",
      "QgsProcessingParameterFileDestination|file|Quantiles|TXT files (*.txt)|report.txt|False"
    ]
  },
  {
    "name": "r.quantile",
    "display_name": "r.quantile",
    "command": "r.quantile",
    "short_description": "Compute quantiles using two passes.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Input raster layer|None|False",
      "QgsProcessingParameterNumber|quantiles|Number of quantiles|QgsProcessingParameterNumber.Integer|4|True|2|None",
      "QgsProcessingParameterString|percentiles|List of percentiles|None|False|True",
      "QgsProcessingParameterNumber|bins|Number of bins to use|QgsProcessingParameterNumber.Integer|1000000|True|1|None",
      "*QgsProcessingParameterBoolean|-r|Generate recode rules based on quantile-defined intervals|False",
      "QgsProcessingParameterFileDestination|file|Quantiles|Html files (*.html)|report.html|False"
    ]
  },
  {
    "name": "r.random.cells",
    "display_name": "r.random.cells",
    "command": "r.random.cells",
    "short_description": "Generates random cell values with spatial dependence.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterNumber|distance|Maximum distance of spatial correlation (value(s) >= 0.0)|QgsProcessingParameterNumber.Double|0.0|False|0.0|None",
      "QgsProcessingParameterNumber|ncells|Maximum number of cells to be created|QgsProcessingParameterNumber.Integer|None|True|1|None",
      "*QgsProcessingParameterNumber|seed|Random seed (SEED_MIN >= value >= SEED_MAX) (default [random])|QgsProcessingParameterNumber.Integer|None|True|None|None",
      "QgsProcessingParameterRasterDestination|output|Random"
    ]
  },
  {
    "name": "r.random.surface",
    "display_name": "r.random.surface",
    "command": "r.random.surface",
    "short_description": "Generates random surface(s) with spatial dependence.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterNumber|distance|Maximum distance of spatial correlation|QgsProcessingParameterNumber.Double|0.0|True|0.0|None",
      "QgsProcessingParameterNumber|exponent|Distance decay exponent|QgsProcessingParameterNumber.Double|1.0|True|0.0|None",
      "QgsProcessingParameterNumber|flat|Distance filter remains flat before beginning exponent|QgsProcessingParameterNumber.Double|0.0|True|0.0|None",
      "QgsProcessingParameterNumber|seed|Random seed (SEED_MIN >= value >= SEED_MAX)|QgsProcessingParameterNumber.Integer|None|True|None|None",
      "QgsProcessingParameterNumber|high|Maximum cell value of distribution|QgsProcessingParameterNumber.Integer|255|True|0|None",
      "QgsProcessingParameterBoolean|-u|Uniformly distributed cell values|False|True",
      "QgsProcessingParameterRasterDestination|output|Random_Surface"
    ]
  },
  {
    "name": "r.random",
    "display_name": "r.random",
    "command": "r.random",
    "short_description": "Creates a raster layer and vector point map containing randomly located points.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Input raster layer|None|False",
      "QgsProcessingParameterRasterLayer|cover|Input cover raster layer|None|False",
      "QgsProcessingParameterNumber|npoints|The number of points to allocate|QgsProcessingParameterNumber.Integer|None|False|0|None",
      "QgsProcessingParameterBoolean|-z|Generate points also for NULL category|False",
      "QgsProcessingParameterBoolean|-d|Generate vector points as 3D points|False",
      "QgsProcessingParameterBoolean|-b|Do not build topology|False",
      "QgsProcessingParameterRasterDestination|raster|Random raster",
      "QgsProcessingParameterVectorDestination|vector|Random vector"
    ]
  },
  {
    "name": "r.reclass.area",
    "display_name": "r.reclass.area",
    "command": "r.reclass.area",
    "short_description": "Reclassifies a raster layer, greater or less than user specified area size (in hectares)",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Input raster layer|None|False",
      "QgsProcessingParameterNumber|value|Value option that sets the area size limit [hectares]|QgsProcessingParameterNumber.Double|1.0|False|0|None",
      "QgsProcessingParameterEnum|mode|Lesser or greater than specified value|lesser;greater|False|0|False",
      "QgsProcessingParameterEnum|method|Method used for reclassification|reclass;rmarea|False|0|True",
      "*QgsProcessingParameterBoolean|-c|Input map is clumped|False",
      "*QgsProcessingParameterBoolean|-d|Clumps including diagonal neighbors|False",
      "QgsProcessingParameterRasterDestination|output|Reclassified"
    ]
  },
  {
    "name": "r.reclass",
    "display_name": "r.reclass",
    "command": "r.reclass",
    "short_description": "Creates a new map layer whose category values are based upon a reclassification of the categories in an existing raster map layer.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_reclass",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Input raster layer|None|False",
      "QgsProcessingParameterFile|rules|File containing reclass rules|QgsProcessingParameterFile.File|txt|None|True",
      "QgsProcessingParameterString|txtrules|Reclass rules text (if rule file not used)|None|True|True",
      "QgsProcessingParameterRasterDestination|output|Reclassified"
    ]
  },
  {
    "name": "r.recode",
    "display_name": "r.recode",
    "command": "r.recode",
    "short_description": "Recodes categorical raster maps.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Input layer|None|False",
      "QgsProcessingParameterFile|rules|File containing recode rules|QgsProcessingParameterFile.File|txt|NoneFalse",
      "*QgsProcessingParameterBoolean|-d|Force output to 'double' raster map type (DCELL)|False",
      "*QgsProcessingParameterBoolean|-a|Align the current region to the input raster map|False",
      "QgsProcessingParameterRasterDestination|output|Recoded"
    ]
  },
  {
    "name": "r.regression.line",
    "display_name": "r.regression.line",
    "command": "r.regression.line",
    "short_description": "Calculates linear regression from two raster layers : y = a + b*x.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|mapx|Layer for x coefficient|None|False",
      "QgsProcessingParameterRasterLayer|mapy|Layer for y coefficient|None|False",
      "QgsProcessingParameterFileDestination|html|Regression coefficients|Html files (*.html)|report.html|False"
    ]
  },
  {
    "name": "r.regression.multi",
    "display_name": "r.regression.multi",
    "command": "r.regression.multi",
    "short_description": "Calculates multiple linear regression from raster maps.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterMultipleLayers|mapx|Map(s) for x coefficient|3|None|False",
      "QgsProcessingParameterRasterLayer|mapy|Map for y coefficient|None|False",
      "QgsProcessingParameterRasterDestination|residuals|Residual Map",
      "QgsProcessingParameterRasterDestination|estimates|Estimates Map",
      "QgsProcessingParameterFileDestination|html|Regression coefficients|Html files (*.html)|report.html|False"
    ]
  },
  {
    "name": "r.relief.scaling",
    "display_name": "r.relief.scaling",
    "command": "r.relief",
    "short_description": "r.relief.scaling - Creates shaded relief from an elevation layer (DEM).",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Input elevation layer",
      "QgsProcessingParameterNumber|altitude|Altitude of the sun in degrees above the horizon|QgsProcessingParameterNumber.Double|30.0|False|0|90",
      "QgsProcessingParameterNumber|azimuth|Azimuth of the sun in degrees to the east of north|QgsProcessingParameterNumber.Double|270.0|False|0|360",
      "QgsProcessingParameterNumber|zscale|Factor for exaggerating relief|QgsProcessingParameterNumber.Double|1.0|False|None|None",
      "QgsProcessingParameterNumber|scale|Scale factor for converting horizontal units to elevation units|QgsProcessingParameterNumber.Double|1.0|False|None|None",
      "QgsProcessingParameterEnum|units|Elevation units (overrides scale factor)|intl;survey",
      "QgsProcessingParameterRasterDestination|output|Output shaded relief layer"
    ]
  },
  {
    "name": "r.relief",
    "display_name": "r.relief",
    "command": "r.relief",
    "short_description": "Creates shaded relief from an elevation layer (DEM).",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Input elevation layer",
      "QgsProcessingParameterNumber|altitude|Altitude of the sun in degrees above the horizon|QgsProcessingParameterNumber.Double|30.0|True|0.0|90.0",
      "QgsProcessingParameterNumber|azimuth|Azimuth of the sun in degrees to the east of north|QgsProcessingParameterNumber.Double|270.0|True|0.0|360.0",
      "QgsProcessingParameterNumber|zscale|Factor for exaggerating relief|QgsProcessingParameterNumber.Double|1.0|True|None|None",
      "QgsProcessingParameterNumber|scale|Scale factor for converting horizontal units to elevation units|QgsProcessingParameterNumber.Double|1.0|True|None|None",
      "QgsProcessingParameterEnum|units|Elevation units (overrides scale factor)|intl;survey|False|0|True",
      "QgsProcessingParameterRasterDestination|output|Output shaded relief layer"
    ]
  },
  {
    "name": "r.report",
    "display_name": "r.report",
    "command": "r.report",
    "short_description": "Reports statistics for raster layers.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterMultipleLayers|map|Raster layer(s) to report on|3|None|False",
      "QgsProcessingParameterEnum|units|Units|mi;me;k;a;h;c;p|False|1|True",
      "QgsProcessingParameterString|null_value|Character representing no data cell value|*|False|True",
      "QgsProcessingParameterNumber|page_length|Page length|QgsProcessingParameterNumber.Integer|0|True|0|None",
      "QgsProcessingParameterNumber|page_width|Page width|QgsProcessingParameterNumber.Integer|79|True|0|None",
      "QgsProcessingParameterNumber|nsteps|Number of fp subranges to collect stats from|QgsProcessingParameterNumber.Integer|255|True|1|None",
      "QgsProcessingParameterEnum|sort|Sort output statistics by cell counts|asc;desc|False|0|True",
      "QgsProcessingParameterBoolean|-h|Suppress page headers|False|True",
      "QgsProcessingParameterBoolean|-f|Use formfeeds between pages|False|True",
      "QgsProcessingParameterBoolean|-e|Scientific format|False|True",
      "QgsProcessingParameterBoolean|-n|Do not report no data cells|False|True",
      "QgsProcessingParameterBoolean|-a|Do not report cells where all maps have no data|False|True",
      "QgsProcessingParameterBoolean|-c|Report for cats floating-point ranges (floating-point maps only)|False|True",
      "QgsProcessingParameterBoolean|-i|Read floating-point map as integer (use map's quant rules)|False|True",
      "QgsProcessingParameterFileDestination|output|Name for output file to hold the report|Txt files (*.txt)|None|True"
    ]
  },
  {
    "name": "r.resamp.bspline",
    "display_name": "r.resamp.bspline",
    "command": "r.resamp.bspline",
    "short_description": "Performs bilinear or bicubic spline interpolation with Tykhonov regularization.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Input raster layer|None|False",
      "QgsProcessingParameterRasterLayer|mask|Name of raster map to use for masking. Only cells that are not NULL and not zero are interpolated|None|True",
      "QgsProcessingParameterEnum|method|Sampling interpolation method|bilinear;bicubic|False|1|False",
      "QgsProcessingParameterNumber|ew_step|Length (float) of each spline step in the east-west direction|QgsProcessingParameterNumber.Double|None|True|0.0|None",
      "QgsProcessingParameterNumber|ns_step|Length (float) of each spline step in the north-south direction|QgsProcessingParameterNumber.Double|None|True|0.0|None",
      "QgsProcessingParameterNumber|lambda|Tykhonov regularization parameter (affects smoothing)|QgsProcessingParameterNumber.Double|0.01|True|0.0|None",
      "QgsProcessingParameterNumber|memory|Maximum memory to be used (in MB). Cache size for raster rows|QgsProcessingParameterNumber.Integer|300|True|10|None",
      "*QgsProcessingParameterBoolean|-n|Only interpolate null cells in input raster map|False|True",
      "*QgsProcessingParameterBoolean|-c|Find the best Tykhonov regularizing parameter using a \"leave-one-out\" cross validation method|False|True",
      "QgsProcessingParameterRasterDestination|output|Resampled BSpline",
      "QgsProcessingParameterVectorDestination|grid|Interpolation Grid"
    ]
  },
  {
    "name": "r.resamp.filter",
    "display_name": "r.resamp.filter",
    "command": "r.resamp.filter",
    "short_description": "Resamples raster map layers using an analytic kernel.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_resamp_filter",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Input raster layer|None|False",
      "QgsProcessingParameterEnum|filter|Filter kernel(s)|box;bartlett;gauss;normal;hermite;sinc;lanczos1;lanczos2;lanczos3;hann;hamming;blackman|True|0|False",
      "QgsProcessingParameterString|radius|Filter radius for each filter (comma separated list of float if multiple)|None|False|True",
      "QgsProcessingParameterString|x_radius|Filter radius (horizontal) for each filter (comma separated list of float if multiple)|None|False|True",
      "QgsProcessingParameterString|y_radius|Filter radius (vertical) for each filter (comma separated list of float if multiple)|None|False|True",
      "*QgsProcessingParameterBoolean|-n|Propagate NULLs|False|True",
      "QgsProcessingParameterRasterDestination|output|Resampled Filter"
    ]
  },
  {
    "name": "r.resamp.interp",
    "display_name": "r.resamp.interp",
    "command": "r.resamp.interp",
    "short_description": "Resamples raster map to a finer grid using interpolation.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Input raster layer|None|False",
      "QgsProcessingParameterEnum|method|Sampling interpolation method|nearest;bilinear;bicubic;lanczos|False|1|True",
      "QgsProcessingParameterRasterDestination|output|Resampled interpolated"
    ]
  },
  {
    "name": "r.resamp.rst",
    "display_name": "r.resamp.rst",
    "command": "r.resamp.rst",
    "short_description": "Reinterpolates using regularized spline with tension and smoothing.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Raster layer|None|False",
      "QgsProcessingParameterRasterLayer|smooth|Input raster map containing smoothing|None|True",
      "QgsProcessingParameterRasterLayer|maskmap|Input raster map to be used as mask|None|True",
      "QgsProcessingParameterNumber|ew_res|Desired east-west resolution|QgsProcessingParameterNumber.Double|None|False|None|None",
      "QgsProcessingParameterNumber|ns_res|Desired north-south resolution|QgsProcessingParameterNumber.Double|None|False|None|None",
      "QgsProcessingParameterNumber|overlap|Rows/columns overlap for segmentation|QgsProcessingParameterNumber.Integer|3|True|0|None",
      "QgsProcessingParameterNumber|zscale|Multiplier for z-values|QgsProcessingParameterNumber.Double|1.0|True|None|None",
      "QgsProcessingParameterNumber|tension|Spline tension value|QgsProcessingParameterNumber.Double|40.0|True|None|None",
      "QgsProcessingParameterNumber|theta|Anisotropy angle (in degrees counterclockwise from East)|QgsProcessingParameterNumber.Double|None|True|None|None",
      "QgsProcessingParameterNumber|scalex|Anisotropy scaling factor|QgsProcessingParameterNumber.Double|None|True|None|None",
      "QgsProcessingParameterBoolean|-t|Use dnorm independent tension|False",
      "QgsProcessingParameterBoolean|-d|Output partial derivatives instead of topographic parameters|False",
      "QgsProcessingParameterRasterDestination|elevation|Resampled RST",
      "QgsProcessingParameterRasterDestination|slope|Slope raster",
      "QgsProcessingParameterRasterDestination|aspect|Aspect raster",
      "QgsProcessingParameterRasterDestination|pcurvature|Profile curvature raster",
      "QgsProcessingParameterRasterDestination|tcurvature|Tangential curvature raster",
      "QgsProcessingParameterRasterDestination|mcurvature|Mean curvature raster"
    ]
  },
  {
    "name": "r.resamp.stats",
    "display_name": "r.resamp.stats",
    "command": "r.resamp.stats",
    "short_description": "Resamples raster layers to a coarser grid using aggregation.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Input raster layer|None|False",
      "QgsProcessingParameterEnum|method|Aggregation method|average;median;mode;minimum;maximum;quart1;quart3;perc90;sum;variance;stddev;quantile|False|0|True",
      "QgsProcessingParameterNumber|quantile|Quantile to calculate for method=quantile|QgsProcessingParameterNumber.Double|0.5|True|0.0|1.0",
      "QgsProcessingParameterBoolean|-n|Propagate NULLs|False",
      "QgsProcessingParameterBoolean|-w|Weight according to area (slower)|False",
      "QgsProcessingParameterRasterDestination|output|Resampled aggregated"
    ]
  },
  {
    "name": "r.resample",
    "display_name": "r.resample",
    "command": "r.resample",
    "short_description": "GRASS raster map layer data resampling capability using nearest neighbors.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Input raster layer |None|False",
      "QgsProcessingParameterRasterDestination|output|Resampled NN"
    ]
  },
  {
    "name": "r.rescale.eq",
    "display_name": "r.rescale.eq",
    "command": "r.rescale.eq",
    "short_description": "Rescales histogram equalized the range of category values in a raster  layer.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Input raster layer|None|False",
      "QgsProcessingParameterRange|from|The input data range to be rescaled|QgsProcessingParameterNumber.Double|None|True",
      "QgsProcessingParameterRange|to|The output data range|QgsProcessingParameterNumber.Double|None|False",
      "QgsProcessingParameterRasterDestination|output|Rescaled equalized"
    ]
  },
  {
    "name": "r.rescale",
    "display_name": "r.rescale",
    "command": "r.rescale",
    "short_description": "Rescales the range of category values in a raster layer.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Input raster layer|None|False",
      "QgsProcessingParameterRange|from|The input data range to be rescaled|QgsProcessingParameterNumber.Double|None|True",
      "QgsProcessingParameterRange|to|The output data range|QgsProcessingParameterNumber.Double|None|False",
      "QgsProcessingParameterRasterDestination|output|Rescaled"
    ]
  },
  {
    "name": "r.rgb",
    "display_name": "r.rgb",
    "command": "r.rgb",
    "short_description": "Splits a raster map into red, green and blue maps.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_rgb",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False",
      "QgsProcessingParameterRasterDestination|red|Red",
      "QgsProcessingParameterRasterDestination|green|Green",
      "QgsProcessingParameterRasterDestination|blue|Blue"
    ]
  },
  {
    "name": "r.ros",
    "display_name": "r.ros",
    "command": "r.ros",
    "short_description": "Generates rate of spread raster maps.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|model|Raster map containing fuel models|None|False",
      "QgsProcessingParameterRasterLayer|moisture_1h|Raster map containing the 1-hour fuel moisture (%)|None|True",
      "QgsProcessingParameterRasterLayer|moisture_10h|Raster map containing the 10-hour fuel moisture (%)|None|True",
      "QgsProcessingParameterRasterLayer|moisture_100h|Raster map containing the 100-hour fuel moisture (%)|None|True",
      "QgsProcessingParameterRasterLayer|moisture_live|Raster map containing live fuel moisture (%)|None|False",
      "QgsProcessingParameterRasterLayer|velocity|Raster map containing midflame wind velocities (ft/min)|None|True",
      "QgsProcessingParameterRasterLayer|direction|Name of raster map containing wind directions (degree)|None|True",
      "QgsProcessingParameterRasterLayer|slope|Name of raster map containing slope (degree)|None|True",
      "QgsProcessingParameterRasterLayer|aspect|Raster map containing aspect (degree, CCW from E)|None|True",
      "QgsProcessingParameterRasterLayer|elevation|Raster map containing elevation (m, required for spotting)|None|True",
      "QgsProcessingParameterRasterDestination|base_ros|Base ROS",
      "QgsProcessingParameterRasterDestination|max_ros|Max ROS",
      "QgsProcessingParameterRasterDestination|direction_ros|Direction ROS",
      "QgsProcessingParameterRasterDestination|spotting_distance|Spotting Distance"
    ]
  },
  {
    "name": "r.series.accumulate",
    "display_name": "r.series.accumulate",
    "command": "r.series.accumulate",
    "short_description": "Makes each output cell value an accumulation function of the values assigned to the corresponding cells in the input raster map layers.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterMultipleLayers|input|Input raster layer(s)|3|None|False",
      "QgsProcessingParameterRasterLayer|lower|Raster map specifying the lower accumulation limit|None|True",
      "QgsProcessingParameterRasterLayer|upper|Raster map specifying the upper accumulation limit|None|True",
      "QgsProcessingParameterEnum|method|This method will be applied to compute the accumulative values from the input maps|gdd;bedd;huglin;mean|False|0|False",
      "QgsProcessingParameterNumber|scale|Scale factor for input|QgsProcessingParameterNumber.Double|1.0|True|0.0|None",
      "QgsProcessingParameterNumber|shift|Shift factor for input|QgsProcessingParameterNumber.Double|0.0|True|0.0|None",
      "QgsProcessingParameterRange|range|Ignore values outside this range (min,max)|QgsProcessingParameterNumber.Double|None|True",
      "QgsProcessingParameterRange|limits|Lower and upper accumulation limits (lower,upper)|QgsProcessingParameterNumber.Integer|10,30|True",
      "QgsProcessingParameterBoolean|-n|Propagate NULLs|False",
      "*QgsProcessingParameterBoolean|-f|Create a FCELL map (floating point single precision) as output|False",
      "QgsProcessingParameterRasterDestination|output|Accumulated"
    ]
  },
  {
    "name": "r.series.interp",
    "display_name": "r.series.interp",
    "command": "r.series.interp",
    "short_description": "Interpolates raster maps located (temporal or spatial) in between input raster maps at specific sampling positions.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_series_interp",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterMultipleLayers|input|Input raster layer(s)|3|None|False",
      "QgsProcessingParameterString|datapos|Data point position for each input map|None|True|True",
      "QgsProcessingParameterFile|infile|Input file with one input raster map name and data point position per line, field separator between name and sample point is 'pipe'|QgsProcessingParameterFile.File|txt|None|True",
      "QgsProcessingParameterString|output|Name for output raster map (comma separated list if multiple)|None|False|True",
      "QgsProcessingParameterString|samplingpos|Sampling point position for each output map (comma separated list)|None|True|True",
      "QgsProcessingParameterFile|outfile|Input file with one output raster map name and sample point position per line, field separator between name and sample point is 'pipe'|QgsProcessingParameterFile.File|txt|None|True",
      "QgsProcessingParameterEnum|method|Interpolation method, currently only linear interpolation is supported|linear|False|0|True",
      "QgsProcessingParameterFolderDestination|output_dir|Interpolated rasters|None|False"
    ]
  },
  {
    "name": "r.series",
    "display_name": "r.series",
    "command": "r.series",
    "short_description": "Makes each output cell value a function of the values assigned to the corresponding cells in the input raster layers. Input rasters layers/bands must be separated in different data sources.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterMultipleLayers|input|Input raster layer(s)|3|None|False",
      "QgsProcessingParameterBoolean|-n|Propagate NULLs|False",
      "QgsProcessingParameterEnum|method|Aggregate operation|average;count;median;mode;minimum;min_raster;maximum;max_raster;stddev;range;sum;variance;diversity;slope;offset;detcoeff;quart1;quart3;perc90;skewness;kurtosis;quantile;tvalue|True|0|True",
      "QgsProcessingParameterString|quantile|Quantile to calculate for method=quantile|None|False|True",
      "QgsProcessingParameterString|weights|Weighting factor for each input map, default value is 1.0|None|False|True",
      "*QgsProcessingParameterRange|range|Ignore values outside this range (lo,hi)|QgsProcessingParameterNumber.Double|None|True",
      "QgsProcessingParameterRasterDestination|output|Aggregated"
    ]
  },
  {
    "name": "r.shade",
    "display_name": "r.shade",
    "command": "r.shade",
    "short_description": "Drapes a color raster over an shaded relief or aspect map.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_shade",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|shade|Name of shaded relief or aspect raster map|None|False",
      "QgsProcessingParameterRasterLayer|color|Name of raster to drape over relief raster map|None|False",
      "QgsProcessingParameterNumber|brighten|Percent to brighten|QgsProcessingParameterNumber.Integer|0|True|-99|99",
      "QgsProcessingParameterString|bgcolor|Color to use instead of NULL values. Either a standard color name, R:G:B triplet, or \"none\"|None|False|True",
      "*QgsProcessingParameterBoolean|-c|Use colors from color tables for NULL values|False",
      "QgsProcessingParameterRasterDestination|output|Shaded"
    ]
  },
  {
    "name": "r.sim.sediment",
    "display_name": "r.sim.sediment",
    "command": "r.sim.sediment",
    "short_description": "Sediment transport and erosion/deposition simulation using path sampling method (SIMWE).",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|elevation|Name of the elevation raster map [m]|None|False",
      "QgsProcessingParameterRasterLayer|water_depth|Name of the water depth raster map [m]|None|False",
      "QgsProcessingParameterRasterLayer|dx|Name of the x-derivatives raster map [m/m]|None|False",
      "QgsProcessingParameterRasterLayer|dy|Name of the y-derivatives raster map [m/m]|None|False",
      "QgsProcessingParameterRasterLayer|detachment_coeff|Name of the detachment capacity coefficient raster map [s/m]|None|False",
      "QgsProcessingParameterRasterLayer|transport_coeff|Name of the transport capacity coefficient raster map [s]|None|False",
      "QgsProcessingParameterRasterLayer|shear_stress|Name of the critical shear stress raster map [Pa]|None|False",
      "QgsProcessingParameterRasterLayer|man|Name of the Mannings n raster map|None|True",
      "QgsProcessingParameterNumber|man_value|Name of the Mannings n value|QgsProcessingParameterNumber.Double|0.1|True|None|None",
      "QgsProcessingParameterFeatureSource|observation|Sampling locations vector points|0|None|True",
      "QgsProcessingParameterNumber|nwalkers|Number of walkers|QgsProcessingParameterNumber.Integer|None|True|None|None",
      "QgsProcessingParameterNumber|niterations|Time used for iterations [minutes]|QgsProcessingParameterNumber.Integer|10|True|None|None",
      "QgsProcessingParameterNumber|output_step|Time interval for creating output maps [minutes]|QgsProcessingParameterNumber.Integer|2|True|None|None",
      "QgsProcessingParameterNumber|diffusion_coeff|Water diffusion constant|QgsProcessingParameterNumber.Double|0.8|True|None|None",
      "QgsProcessingParameterRasterDestination|transport_capacity|Transport capacity [kg/ms]",
      "QgsProcessingParameterRasterDestination|tlimit_erosion_deposition|Transport limited erosion-deposition [kg/m2s]",
      "QgsProcessingParameterRasterDestination|sediment_concentration|Sediment concentration [particle/m3]",
      "QgsProcessingParameterRasterDestination|sediment_flux|Sediment flux [kg/ms]",
      "QgsProcessingParameterRasterDestination|erosion_deposition|Erosion-deposition [kg/m2s]",
      "QgsProcessingParameterVectorDestination|walkers_output|Name of the output walkers vector points layer|QgsProcessing.TypeVectorAnyGeometry|None|True",
      "QgsProcessingParameterFileDestination|logfile|Name for sampling points output text file.|Txt files (*.txt)|None|True"
    ]
  },
  {
    "name": "r.sim.water",
    "display_name": "r.sim.water",
    "command": "r.sim.water",
    "short_description": "Overland flow hydrologic simulation using path sampling method (SIMWE).",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|elevation|Name of the elevation raster map [m]|None|False",
      "QgsProcessingParameterRasterLayer|dx|Name of the x-derivatives raster map [m/m]|None|False",
      "QgsProcessingParameterRasterLayer|dy|Name of the y-derivatives raster map [m/m]|None|False",
      "QgsProcessingParameterRasterLayer|rain|Name of the rainfall excess rate (rain-infilt) raster map [mm/hr]|None|True",
      "QgsProcessingParameterNumber|rain_value|Rainfall excess rate unique value [mm/hr]|QgsProcessingParameterNumber.Double|50|True|None|None",
      "QgsProcessingParameterRasterLayer|infil|Name of the runoff infiltration rate raster map [mm/hr]|None|True",
      "QgsProcessingParameterNumber|infil_value|Runoff infiltration rate unique value [mm/hr]|QgsProcessingParameterNumber.Double|0.0|True|None|None",
      "QgsProcessingParameterRasterLayer|man|Name of the Mannings n raster map|None|True",
      "QgsProcessingParameterNumber|man_value|Manning's n unique value|QgsProcessingParameterNumber.Double|0.1|True|None|None",
      "QgsProcessingParameterRasterLayer|flow_control|Name of the flow controls raster map (permeability ratio 0-1)|None|True",
      "QgsProcessingParameterFeatureSource|observation|Sampling locations vector points|0|None|True",
      "QgsProcessingParameterNumber|nwalkers|Number of walkers, default is twice the number of cells|QgsProcessingParameterNumber.Integer|None|True|None|None",
      "QgsProcessingParameterNumber|niterations|Time used for iterations [minutes]|QgsProcessingParameterNumber.Integer|10|True|None|None",
      "QgsProcessingParameterNumber|output_step|Time interval for creating output maps [minutes]|QgsProcessingParameterNumber.Integer|2|True|None|None",
      "QgsProcessingParameterNumber|diffusion_coeff|Water diffusion constant|QgsProcessingParameterNumber.Double|0.8|True|None|None",
      "QgsProcessingParameterNumber|hmax|Threshold water depth [m]|QgsProcessingParameterNumber.Double|4.0|True|None|None",
      "QgsProcessingParameterNumber|halpha|Diffusion increase constant|QgsProcessingParameterNumber.Double|4.0|True|None|None",
      "QgsProcessingParameterNumber|hbeta|Weighting factor for water flow velocity vector|QgsProcessingParameterNumber.Double|0.5|True|None|None",
      "QgsProcessingParameterBoolean|-t|Time-series output|False",
      "QgsProcessingParameterRasterDestination|depth|Water depth [m]",
      "QgsProcessingParameterRasterDestination|discharge|Water discharge [m3/s]",
      "QgsProcessingParameterRasterDestination|error|Simulation error [m]",
      "QgsProcessingParameterVectorDestination|walkers_output|Name of the output walkers vector points layer|QgsProcessing.TypeVectorAnyGeometry|None|True",
      "QgsProcessingParameterFileDestination|logfile|Name for sampling points output text file.|Txt files (*.txt)|None|True"
    ]
  },
  {
    "name": "r.slope.aspect",
    "display_name": "r.slope.aspect",
    "command": "r.slope.aspect",
    "short_description": "Generates raster layers of slope, aspect, curvatures and partial derivatives from a elevation raster layer.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|elevation|Elevation|None|False",
      "QgsProcessingParameterEnum|format|Format for reporting the slope|degrees;percent|False|0|True",
      "QgsProcessingParameterEnum|precision|Type of output aspect and slope layer|FCELL;CELL;DCELL|False|0|True",
      "QgsProcessingParameterBoolean|-a|Do not align the current region to the elevation layer|True",
      "QgsProcessingParameterBoolean|-e|Compute output at edges and near NULL values|False",
      "QgsProcessingParameterBoolean|-n|Create aspect as degrees clockwise from North (azimuth), with flat = -9999|False",
      "QgsProcessingParameterNumber|zscale|Multiplicative factor to convert elevation units to meters|QgsProcessingParameterNumber.Double|1.0|True|None|None",
      "QgsProcessingParameterNumber|min_slope|Minimum slope val. (in percent) for which aspect is computed|QgsProcessingParameterNumber.Double|0.0|True|None|None",
      "QgsProcessingParameterRasterDestination|slope|Slope|None|True",
      "QgsProcessingParameterRasterDestination|aspect|Aspect|None|True",
      "QgsProcessingParameterRasterDestination|pcurvature|Profile curvature|None|True",
      "QgsProcessingParameterRasterDestination|tcurvature|Tangential curvature|None|True",
      "QgsProcessingParameterRasterDestination|dx|First order partial derivative dx (E-W slope)|None|True",
      "QgsProcessingParameterRasterDestination|dy|First order partial derivative dy (N-S slope)|None|True",
      "QgsProcessingParameterRasterDestination|dxx|Second order partial derivative dxx|None|True",
      "QgsProcessingParameterRasterDestination|dyy|Second order partial derivative dyy|None|True",
      "QgsProcessingParameterRasterDestination|dxy|Second order partial derivative dxy|None|True"
    ]
  },
  {
    "name": "r.solute.transport",
    "display_name": "r.solute.transport",
    "command": "r.solute.transport",
    "short_description": "Numerical calculation program for transient, confined and unconfined solute transport in two dimensions",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|c|The initial concentration in [kg/m^3]|None|False",
      "QgsProcessingParameterRasterLayer|phead|The piezometric head in [m]|None|False",
      "QgsProcessingParameterRasterLayer|hc_x|The x-part of the hydraulic conductivity tensor in [m/s]|None|False",
      "QgsProcessingParameterRasterLayer|hc_y|The y-part of the hydraulic conductivity tensor in [m/s]|None|False",
      "QgsProcessingParameterRasterLayer|status|The status for each cell, = 0 - inactive cell, 1 - active cell, 2 - dirichlet- and 3 - transfer boundary condition|None|False",
      "QgsProcessingParameterRasterLayer|diff_x|The x-part of the diffusion tensor in [m^2/s]|None|False",
      "QgsProcessingParameterRasterLayer|diff_y|The y-part of the diffusion tensor in [m^2/s]|None|False",
      "QgsProcessingParameterRasterLayer|q|Groundwater sources and sinks in [m^3/s]|None|True",
      "QgsProcessingParameterRasterLayer|cin|Concentration sources and sinks bounded to a water source or sink in [kg/s]|None|True",
      "QgsProcessingParameterRasterLayer|cs|Concentration of inner sources and inner sinks in [kg/s] (i.e. a chemical reaction)|None|False",
      "QgsProcessingParameterRasterLayer|rd|Retardation factor [-]|None|False",
      "QgsProcessingParameterRasterLayer|nf|Effective porosity [-]|None|False",
      "QgsProcessingParameterRasterLayer|top|Top surface of the aquifer in [m]|None|False",
      "QgsProcessingParameterRasterLayer|bottom|Bottom surface of the aquifer in [m]|None|False",
      "QgsProcessingParameterNumber|dtime|Calculation time (in seconds)|QgsProcessingParameterNumber.Double|86400.0|False|0.0|None",
      "QgsProcessingParameterNumber|maxit|Maximum number of iteration used to solve the linear equation system|QgsProcessingParameterNumber.Integer|10000|True|1|None",
      "QgsProcessingParameterNumber|error|Error break criteria for iterative solver|QgsProcessingParameterNumber.Double|0.000001|True|0.0|None",
      "QgsProcessingParameterEnum|solver|The type of solver which should solve the linear equation system|gauss;lu;jacobi;sor;bicgstab|False|4",
      "QgsProcessingParameterNumber|relax|The relaxation parameter used by the jacobi and sor solver for speedup or stabilizing|QgsProcessingParameterNumber.Double|1.0|True|0.0|None",
      "QgsProcessingParameterNumber|al|The longitudinal dispersivity length. [m]|QgsProcessingParameterNumber.Double|0.0|True|0.0|None",
      "QgsProcessingParameterNumber|at|The transversal dispersivity length. [m]|QgsProcessingParameterNumber.Double|0.0|True|0.0|None",
      "QgsProcessingParameterNumber|loops|Use this number of time loops if the CFL flag is off. The timestep will become dt/loops.|QgsProcessingParameterNumber.Double|1.0|True|0.0|None",
      "QgsProcessingParameterEnum|stab|Set the flow stabilizing scheme (full or exponential upwinding).|full;exp|False|0|True",
      "*QgsProcessingParameterBoolean|-c|Use the Courant-Friedrichs-Lewy criteria for time step calculation|False",
      "*QgsProcessingParameterBoolean|-f|Use a full filled quadratic linear equation system, default is a sparse linear equation system.|False",
      "QgsProcessingParameterRasterDestination|output|Solute Transport",
      "QgsProcessingParameterRasterDestination|vx|Calculate and store the groundwater filter velocity vector part in x direction [m/s]|None|True",
      "QgsProcessingParameterRasterDestination|vy|Calculate and store the groundwater filter velocity vector part in y direction [m/s]|None|True"
    ]
  },
  {
    "name": "r.spread",
    "display_name": "r.spread",
    "command": "r.spread",
    "short_description": "Simulates elliptically anisotropic spread.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|base_ros|Raster map containing base ROS (cm/min)|None|False",
      "QgsProcessingParameterRasterLayer|max_ros|Raster map containing maximal ROS (cm/min)|None|False",
      "QgsProcessingParameterRasterLayer|direction_ros|Raster map containing directions of maximal ROS (degree)|None|False",
      "QgsProcessingParameterRasterLayer|start|Raster map containing starting sources|None|False",
      "QgsProcessingParameterRasterLayer|spotting_distance|Raster map containing maximal spotting distance (m, required with -s)|None|True",
      "QgsProcessingParameterRasterLayer|wind_speed|Raster map containing midflame wind speed (ft/min, required with -s)|None|True",
      "QgsProcessingParameterRasterLayer|fuel_moisture|Raster map containing fine fuel moisture of the cell receiving a spotting firebrand (%, required with -s)|None|True",
      "QgsProcessingParameterRasterLayer|backdrop|Name of raster map as a display backdrop|None|True",
      "QgsProcessingParameterEnum|least_size|Basic sampling window size needed to meet certain accuracy (3)|3;5;7;9;11;13;15|False|0|True",
      "QgsProcessingParameterNumber|comp_dens|Sampling density for additional computing (range: 0.0 - 1.0 (0.5))|QgsProcessingParameterNumber.Double|0.5|True|0.0|1.0",
      "QgsProcessingParameterNumber|init_time|Initial time for current simulation (0) (min)|QgsProcessingParameterNumber.Integer|0|True|0|None",
      "QgsProcessingParameterNumber|lag|Simulating time duration LAG (fill the region) (min)|QgsProcessingParameterNumber.Integer|None|True|0|None",
      "*QgsProcessingParameterBoolean|-s|Consider spotting effect (for wildfires)|False",
      "*QgsProcessingParameterBoolean|-i|Use start raster map values in output spread time raster map|False",
      "QgsProcessingParameterRasterDestination|output|Spread Time",
      "QgsProcessingParameterRasterDestination|x_output|X Back Coordinates",
      "QgsProcessingParameterRasterDestination|y_output|Y Back Coordinates"
    ]
  },
  {
    "name": "r.spreadpath",
    "display_name": "r.spreadpath",
    "command": "r.spreadpath",
    "short_description": "Recursively traces the least cost path backwards to cells from which the cumulative cost was determined.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|x_input|x_input|None|False",
      "QgsProcessingParameterRasterLayer|y_input|y_input|None|False",
      "QgsProcessingParameterPoint|coordinates|coordinate|0,0|True",
      "QgsProcessingParameterRasterDestination|output|Backward least cost"
    ]
  },
  {
    "name": "r.statistics",
    "display_name": "r.statistics",
    "command": "r.statistics",
    "short_description": "Calculates category or object oriented statistics.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_statistics",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|base|Base raster layer|None|False",
      "QgsProcessingParameterRasterLayer|cover|Cover raster layer|None|False",
      "QgsProcessingParameterEnum|method|method|diversity;average;mode;median;avedev;stddev;variance;skewness;kurtosis;min;max;sum|False|0|True",
      "QgsProcessingParameterBoolean|-c|Cover values extracted from the category labels of the cover map|False",
      "QgsProcessingParameterRasterDestination|routput|Statistics"
    ]
  },
  {
    "name": "r.stats.quantile.out",
    "display_name": "r.stats.quantile.out",
    "command": "r.stats.quantile",
    "short_description": "r.stats.quantile.out - Compute category quantiles using two passes and output statistics",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [
      "-p"
    ],
    "parameters": [
      "QgsProcessingParameterRasterLayer|base|Name of base raster map|None|False",
      "QgsProcessingParameterRasterLayer|cover|Name of cover raster map|None|False",
      "QgsProcessingParameterNumber|quantiles|Number of quantiles|QgsProcessingParameterNumber.Integer|None|True|0|None",
      "QgsProcessingParameterString|percentiles|List of percentiles|None|False|True",
      "QgsProcessingParameterNumber|bins|Number of bins to use|QgsProcessingParameterNumber.Integer|1000|True|0|None",
      "*QgsProcessingParameterBoolean|-r|Create reclass map with statistics as category labels|False",
      "Hardcoded|-p",
      "QgsProcessingParameterFileDestination|file|Statistics File|Txt files (*.txt)|None|False"
    ]
  },
  {
    "name": "r.stats.quantile.rast",
    "display_name": "r.stats.quantile.rast",
    "command": "r.stats.quantile",
    "short_description": "r.stats.quantile.rast - Compute category quantiles using two passes and output rasters.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_stats_quantile_rast",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|base|Name of base raster map|None|False",
      "QgsProcessingParameterRasterLayer|cover|Name of cover raster map|None|False",
      "QgsProcessingParameterNumber|quantiles|Number of quantiles|QgsProcessingParameterNumber.Integer|None|True|0|None",
      "QgsProcessingParameterString|percentiles|List of percentiles|None|False|True",
      "QgsProcessingParameterNumber|bins|Number of bins to use|QgsProcessingParameterNumber.Integer|1000|True|0|None",
      "*QgsProcessingParameterBoolean|-r|Create reclass map with statistics as category labels|False",
      "QgsProcessingParameterFolderDestination|output|Output Directory"
    ]
  },
  {
    "name": "r.stats",
    "display_name": "r.stats",
    "command": "r.stats",
    "short_description": "Generates area statistics for raster layers.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterMultipleLayers|input|Name of input raster map|3|None|False",
      "QgsProcessingParameterString|separator|Output field separator|space|False|True",
      "QgsProcessingParameterString|null_value|String representing no data cell value|*|False|True",
      "QgsProcessingParameterNumber|nsteps|Number of floating-point subranges to collect stats from|QgsProcessingParameterNumber.Integer|255|True|1|None",
      "QgsProcessingParameterEnum|sort|Sort output statistics by cell counts|asc;desc|False|0|False",
      "QgsProcessingParameterBoolean|-1|One cell (range) per line|True",
      "QgsProcessingParameterBoolean|-A|Print averaged values instead of intervals|False",
      "QgsProcessingParameterBoolean|-a|Print area totals|False",
      "QgsProcessingParameterBoolean|-c|Print cell counts|False",
      "QgsProcessingParameterBoolean|-p|Print APPROXIMATE percents (total percent may not be 100%)|False",
      "QgsProcessingParameterBoolean|-l|Print category labels|False",
      "QgsProcessingParameterBoolean|-g|Print grid coordinates (east and north)|False",
      "QgsProcessingParameterBoolean|-x|Print x and y (column and row)|False",
      "QgsProcessingParameterBoolean|-r|Print raw indexes of fp ranges (fp maps only)|False",
      "QgsProcessingParameterBoolean|-n|Suppress reporting of any NULLs|False",
      "QgsProcessingParameterBoolean|-N|Suppress reporting of NULLs when all values are NULL|False",
      "QgsProcessingParameterBoolean|-C|Report for cats fp ranges (fp maps only)|False",
      "QgsProcessingParameterBoolean|-i|Read fp map as integer (use map's quant rules)|False",
      "QgsProcessingParameterFileDestination|html|Statistics|Html files (*.html)|report.html|False"
    ]
  },
  {
    "name": "r.stats.zonal",
    "display_name": "r.stats.zonal",
    "command": "r.stats.zonal",
    "short_description": "Calculates category or object oriented statistics (accumulator-based statistics)",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|base|Base raster|None|False",
      "QgsProcessingParameterRasterLayer|cover|Cover raster|None|False",
      "QgsProcessingParameterEnum|method|Method of object-based statistic|count;sum;min;max;range;average;avedev;variance;stddev;skewness;kurtosis;variance2;stddev2;skewness2;kurtosis2|False|0|False",
      "*QgsProcessingParameterBoolean|-c|Cover values extracted from the category labels of the cover map|False|True",
      "*QgsProcessingParameterBoolean|-r|Create reclass map with statistics as category labels|False|True",
      "QgsProcessingParameterRasterDestination|output|Resultant raster"
    ]
  },
  {
    "name": "r.stream.extract",
    "display_name": "r.stream.extract",
    "command": "r.stream.extract",
    "short_description": "Stream network extraction",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|elevation|Input map: elevation map|None|False",
      "QgsProcessingParameterRasterLayer|accumulation|Input map: accumulation map|None|True",
      "QgsProcessingParameterRasterLayer|depression|Input map: map with real depressions|None|True",
      "QgsProcessingParameterNumber|threshold|Minimum flow accumulation for streams|QgsProcessingParameterNumber.Double|1.0|False|0.001|None",
      "QgsProcessingParameterNumber|mexp|Montgomery exponent for slope|QgsProcessingParameterNumber.Double|0.0|True|None|None",
      "QgsProcessingParameterNumber|stream_length|Delete stream segments shorter than cells|QgsProcessingParameterNumber.Integer|0|True|0|None",
      "QgsProcessingParameterNumber|d8cut|Use SFD above this threshold|QgsProcessingParameterNumber.Double|None|True|0|None",
      "*QgsProcessingParameterNumber|memory|Maximum memory to be used (in MB)|QgsProcessingParameterNumber.Integer|300|True|0|None",
      "QgsProcessingParameterRasterDestination|stream_raster|Unique stream ids (rast)|None|True",
      "QgsProcessingParameterVectorDestination|stream_vector|Unique stream ids (vect)|-1|None|True",
      "QgsProcessingParameterRasterDestination|direction|Flow direction|None|True"
    ]
  },
  {
    "name": "r.sun.incidout",
    "display_name": "r.sun.incidout",
    "command": "r.sun",
    "short_description": "r.sun.incidout - Solar irradiance and irradiation model ( for the set local time).",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|elevation|Elevation layer [meters]|None|False",
      "QgsProcessingParameterRasterLayer|aspect|Aspect layer [decimal degrees]|None|False",
      "QgsProcessingParameterNumber|aspect_value|A single value of the orientation (aspect), 270 is south|QgsProcessingParameterNumber.Double|270.0|True|0.0|360.0",
      "QgsProcessingParameterRasterLayer|slope|Name of the input slope raster map (terrain slope or solar panel inclination) [decimal degrees]|None|False",
      "QgsProcessingParameterNumber|slope_value|A single value of inclination (slope)|QgsProcessingParameterNumber.Double|0.0|True|0.0|360.0",
      "QgsProcessingParameterRasterLayer|linke|Name of the Linke atmospheric turbidity coefficient input raster map|None|True",
      "QgsProcessingParameterRasterLayer|albedo|Name of the ground albedo coefficient input raster map|None|True",
      "QgsProcessingParameterNumber|albedo_value|A single value of the ground albedo coefficient|QgsProcessingParameterNumber.Double|0.2|True|0.0|360.0",
      "QgsProcessingParameterRasterLayer|lat|Name of input raster map containing latitudes [decimal degrees]|None|True",
      "QgsProcessingParameterRasterLayer|long|Name of input raster map containing longitudes [decimal degrees]|None|True",
      "QgsProcessingParameterRasterLayer|coeff_bh|Name of real-sky beam radiation coefficient input raster map|None|True",
      "QgsProcessingParameterRasterLayer|coeff_dh|Name of real-sky diffuse radiation coefficient input raster map|None|True",
      "QgsProcessingParameterRasterLayer|horizon_basemap|The horizon information input map basename|None|True",
      "QgsProcessingParameterNumber|horizon_step|Angle step size for multidirectional horizon [degrees]|QgsProcessingParameterNumber.Double|None|True|0.0|360.0",
      "QgsProcessingParameterNumber|day|No. of day of the year (1-365)|QgsProcessingParameterNumber.Integer|1|False|1|365",
      "*QgsProcessingParameterNumber|step|Time step when computing all-day radiation sums [decimal hours]|QgsProcessingParameterNumber.Double|0.5|True|0",
      "*QgsProcessingParameterNumber|declination|Declination value (overriding the internally computed value) [radians]|QgsProcessingParameterNumber.Double|None|True|None|None",
      "*QgsProcessingParameterNumber|distance_step|Sampling distance step coefficient (0.5-1.5)|QgsProcessingParameterNumber.Double|1.0|True|0.5|1.5",
      "*QgsProcessingParameterNumber|npartitions|Read the input files in this number of chunks|QgsProcessingParameterNumber.Integer|1|True|1|None",
      "*QgsProcessingParameterNumber|civil_time|Civil time zone value, if none, the time will be local solar time|QgsProcessingParameterNumber.Double|None|True|0.0|None",
      "QgsProcessingParameterNumber|time|Local (solar) time (decimal hours)|QgsProcessingParameterNumber.Double|None|False|0.0|24.0",
      "QgsProcessingParameterBoolean|-p|Do not incorporate the shadowing effect of terrain|False",
      "*QgsProcessingParameterBoolean|-m|Use the low-memory version of the program|False",
      "QgsProcessingParameterRasterDestination|incidout|incidence angle raster map|None|True",
      "QgsProcessingParameterRasterDestination|beam_rad|Beam irradiance [W.m-2]|None|True",
      "QgsProcessingParameterRasterDestination|diff_rad|Diffuse irradiance [W.m-2]|None|True",
      "QgsProcessingParameterRasterDestination|refl_rad|Ground reflected irradiance [W.m-2]|None|True",
      "QgsProcessingParameterRasterDestination|glob_rad|Global (total) irradiance/irradiation [W.m-2]|None|True"
    ]
  },
  {
    "name": "r.sun.insoltime",
    "display_name": "r.sun.insoltime",
    "command": "r.sun",
    "short_description": "r.sun.insoltime - Solar irradiance and irradiation model (daily sums).",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|elevation|Elevation layer [meters]|None|False",
      "QgsProcessingParameterRasterLayer|aspect|Aspect layer [decimal degrees]|None|False",
      "QgsProcessingParameterNumber|aspect_value|A single value of the orientation (aspect), 270 is south|QgsProcessingParameterNumber.Double|270.0|True|0.0|360.0",
      "QgsProcessingParameterRasterLayer|slope|Name of the input slope raster map (terrain slope or solar panel inclination) [decimal degrees]|None|False",
      "QgsProcessingParameterNumber|slope_value|A single value of inclination (slope)|QgsProcessingParameterNumber.Double|0.0|True|0.0|360.0",
      "QgsProcessingParameterRasterLayer|linke|Name of the Linke atmospheric turbidity coefficient input raster map|None|True",
      "QgsProcessingParameterRasterLayer|albedo|Name of the ground albedo coefficient input raster map|None|True",
      "QgsProcessingParameterNumber|albedo_value|A single value of the ground albedo coefficient|QgsProcessingParameterNumber.Double|0.2|True|0.0|360.0",
      "QgsProcessingParameterRasterLayer|lat|Name of input raster map containing latitudes [decimal degrees]|None|True",
      "QgsProcessingParameterRasterLayer|long|Name of input raster map containing longitudes [decimal degrees]|None|True",
      "QgsProcessingParameterRasterLayer|coeff_bh|Name of real-sky beam radiation coefficient input raster map|None|True",
      "QgsProcessingParameterRasterLayer|coeff_dh|Name of real-sky diffuse radiation coefficient input raster map|None|True",
      "QgsProcessingParameterRasterLayer|horizon_basemap|The horizon information input map basename|None|True",
      "QgsProcessingParameterNumber|horizon_step|Angle step size for multidirectional horizon [degrees]|QgsProcessingParameterNumber.Double|None|True|0.0|360.0",
      "QgsProcessingParameterNumber|day|No. of day of the year (1-365)|QgsProcessingParameterNumber.Integer|1|False|1|365",
      "*QgsProcessingParameterNumber|step|Time step when computing all-day radiation sums [decimal hours]|QgsProcessingParameterNumber.Double|0.5|True|0",
      "*QgsProcessingParameterNumber|declination|Declination value (overriding the internally computed value) [radians]|QgsProcessingParameterNumber.Double|None|True|None|None",
      "*QgsProcessingParameterNumber|distance_step|Sampling distance step coefficient (0.5-1.5)|QgsProcessingParameterNumber.Double|1.0|True|0.5|1.5",
      "*QgsProcessingParameterNumber|npartitions|Read the input files in this number of chunks|QgsProcessingParameterNumber.Integer|1|True|1|None",
      "*QgsProcessingParameterNumber|civil_time|Civil time zone value, if none, the time will be local solar time|QgsProcessingParameterNumber.Double|None|True|0.0|None",
      "QgsProcessingParameterBoolean|-p|Do not incorporate the shadowing effect of terrain|False",
      "*QgsProcessingParameterBoolean|-m|Use the low-memory version of the program|False",
      "QgsProcessingParameterRasterDestination|insol_time|Insolation time [h] |None|True",
      "QgsProcessingParameterRasterDestination|beam_rad|Irradiation raster map [Wh.m-2.day-1]|None|True",
      "QgsProcessingParameterRasterDestination|diff_rad|Irradiation raster map [Wh.m-2.day-1]|None|True",
      "QgsProcessingParameterRasterDestination|refl_rad|Irradiation raster map [Wh.m-2.day-1]|None|True",
      "QgsProcessingParameterRasterDestination|glob_rad|Irradiance/irradiation raster map [Wh.m-2.day-1]|None|True"
    ]
  },
  {
    "name": "r.sunhours",
    "display_name": "r.sunhours",
    "command": "r.sunhours",
    "short_description": "Calculates solar elevation, solar azimuth, and sun hours.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterNumber|year|Year|QgsProcessingParameterNumber.Integer|2017|False|1950|2050",
      "QgsProcessingParameterNumber|month|Month|QgsProcessingParameterNumber.Integer|1|True|1|12",
      "QgsProcessingParameterNumber|day|Day|QgsProcessingParameterNumber.Integer|1|False|1|366",
      "QgsProcessingParameterNumber|hour|Hour|QgsProcessingParameterNumber.Integer|12|True|0|24",
      "QgsProcessingParameterNumber|minute|Minutes|QgsProcessingParameterNumber.Integer|0|True|0|60",
      "QgsProcessingParameterNumber|second|Seconds|QgsProcessingParameterNumber.Integer|0|True|0|60",
      "*QgsProcessingParameterBoolean|-t|Time is local sidereal time, not Greenwich standard time|False",
      "*QgsProcessingParameterBoolean|-s|Do not use SOLPOS algorithm of NREL|False",
      "QgsProcessingParameterRasterDestination|elevation|Solar Elevation Angle",
      "QgsProcessingParameterRasterDestination|azimuth|Solar Azimuth Angle",
      "QgsProcessingParameterRasterDestination|sunhour|Sunshine Hours"
    ]
  },
  {
    "name": "r.sunmask.datetime",
    "display_name": "r.sunmask.datetime",
    "command": "r.sunmask",
    "short_description": "r.sunmask.datetime - Calculates cast shadow areas from sun position and elevation raster map.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|elevation|Elevation raster layer [meters]|None|False",
      "QgsProcessingParameterNumber|year|year|QgsProcessingParameterNumber.Integer|2000|True|1950|2050",
      "QgsProcessingParameterNumber|month|month|QgsProcessingParameterNumber.Integer|1|True|0|12",
      "QgsProcessingParameterNumber|day|day|QgsProcessingParameterNumber.Integer|1|True|0|31",
      "QgsProcessingParameterNumber|hour|hour|QgsProcessingParameterNumber.Integer|1|True|0|24",
      "QgsProcessingParameterNumber|minute|minute|QgsProcessingParameterNumber.Integer|0|True|0|60",
      "QgsProcessingParameterNumber|second|second|QgsProcessingParameterNumber.Integer|0|True|0|60",
      "QgsProcessingParameterNumber|timezone|East positive, offset from GMT|QgsProcessingParameterNumber.Integer|0|True|None|None",
      "QgsProcessingParameterString|east|Easting coordinate (point of interest)|",
      "QgsProcessingParameterString|north|Northing coordinate (point of interest)|",
      "QgsProcessingParameterBoolean|-z|Do not ignore zero elevation|True",
      "QgsProcessingParameterBoolean|-s|Calculate sun position only and exit|False",
      "QgsProcessingParameterRasterDestination|output|Shadows"
    ]
  },
  {
    "name": "r.sunmask.position",
    "display_name": "r.sunmask.position",
    "command": "r.sunmask",
    "short_description": "r.sunmask.position - Calculates cast shadow areas from sun position and elevation raster map.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|elevation|Elevation raster layer [meters]|None|False",
      "QgsProcessingParameterNumber|altitude|Altitude of the sun in degrees above the horizon|QgsProcessingParameterNumber.Double|None|True|0.0|89.999",
      "QgsProcessingParameterNumber|azimuth|Azimuth of the sun in degrees from north|QgsProcessingParameterNumber.Double|None|True|0.0|360.0",
      "QgsProcessingParameterString|east|Easting coordinate (point of interest)|False|False",
      "QgsProcessingParameterString|north|Northing coordinate (point of interest)|False|False",
      "QgsProcessingParameterBoolean|-z|Do not ignore zero elevation|True",
      "QgsProcessingParameterBoolean|-s|Calculate sun position only and exit|False",
      "QgsProcessingParameterRasterDestination|output|Shadows"
    ]
  },
  {
    "name": "r.surf.area",
    "display_name": "r.surf.area",
    "command": "r.surf.area",
    "short_description": "Surface area estimation for rasters.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|map|Input layer|None|False",
      "QgsProcessingParameterNumber|vscale|Vertical scale|QgsProcessingParameterNumber.Double|1.0|True|None|None",
      "QgsProcessingParameterEnum|units|Units|miles;feet;meters;kilometers;acres;hectares|False|1|True",
      "QgsProcessingParameterFileDestination|html|Area|Html files (*.html)|report.html|False"
    ]
  },
  {
    "name": "r.surf.contour",
    "display_name": "r.surf.contour",
    "command": "r.surf.contour",
    "short_description": "Surface generation program from rasterized contours.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Raster layer with rasterized contours|None|False",
      "QgsProcessingParameterRasterDestination|output|DTM from contours"
    ]
  },
  {
    "name": "r.surf.fractal",
    "display_name": "r.surf.fractal",
    "command": "r.surf.fractal",
    "short_description": "Creates a fractal surface of a given fractal dimension.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterNumber|dimension|Fractal dimension of surface (2 < D < 3)|QgsProcessingParameterNumber.Double|2.05|True|2.0|3.0",
      "QgsProcessingParameterNumber|number|Number of intermediate images to produce|QgsProcessingParameterNumber.Integer|0|True|0|None",
      "QgsProcessingParameterRasterDestination|output|Fractal Surface"
    ]
  },
  {
    "name": "r.surf.gauss",
    "display_name": "r.surf.gauss",
    "command": "r.surf.gauss",
    "short_description": "Creates a raster layer of Gaussian deviates.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterNumber|mean|Distribution mean|QgsProcessingParameterNumber.Double|0.0|True|None|None",
      "QgsProcessingParameterNumber|sigma|Standard deviation|QgsProcessingParameterNumber.Double|1.0|True|None|None",
      "QgsProcessingParameterRasterDestination|output|Gaussian deviates"
    ]
  },
  {
    "name": "r.surf.idw",
    "display_name": "r.surf.idw",
    "command": "r.surf.idw",
    "short_description": "Surface interpolation utility for raster layers.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Name of input raster layer|None|False",
      "QgsProcessingParameterNumber|npoints|Number of interpolation points|QgsProcessingParameterNumber.Integer|12|True|1|None",
      "QgsProcessingParameterBoolean|-e|Output is the interpolation error|False",
      "QgsProcessingParameterRasterDestination|output|Interpolated IDW"
    ]
  },
  {
    "name": "r.surf.random",
    "display_name": "r.surf.random",
    "command": "r.surf.random",
    "short_description": "Produces a raster layer of uniform random deviates whose range can be expressed by the user.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterNumber|min|Minimum random value|QgsProcessingParameterNumber.Integer|0|True|None|None",
      "QgsProcessingParameterNumber|max|Maximum random value|QgsProcessingParameterNumber.Integer|100|True|None|None",
      "QgsProcessingParameterBoolean|-i|Create an integer raster layer|False",
      "QgsProcessingParameterRasterDestination|output|Random"
    ]
  },
  {
    "name": "r.terraflow",
    "display_name": "r.terraflow",
    "command": "r.terraflow",
    "short_description": "Flow computation for massive grids.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|elevation|Name of elevation raster map|None|False",
      "QgsProcessingParameterBoolean|-s|SFD (D8) flow (default is MFD)|False",
      "QgsProcessingParameterNumber|d8cut|Routing using SFD (D8) direction|QgsProcessingParameterNumber.Double|None|True|None|None",
      "QgsProcessingParameterNumber|memory|Maximum memory to be used (in MB)|QgsProcessingParameterNumber.Integer|300|True|1|None",
      "QgsProcessingParameterRasterDestination|filled|Filled (flooded) elevation",
      "QgsProcessingParameterRasterDestination|direction|Flow direction",
      "QgsProcessingParameterRasterDestination|swatershed|Sink-watershed",
      "QgsProcessingParameterRasterDestination|accumulation|Flow accumulation",
      "QgsProcessingParameterRasterDestination|tci|Topographic convergence index (tci)",
      "QgsProcessingParameterFileDestination|stats|Runtime statistics|Txt files (*.txt)|None|False"
    ]
  },
  {
    "name": "r.texture",
    "display_name": "r.texture",
    "command": "r.texture",
    "short_description": "Generate images with textural features from a raster map.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False",
      "QgsProcessingParameterEnum|method|Textural measurement method(s)|asm;contrast;corr;var;idm;sa;se;sv;entr;dv;de;moc1;moc2|True|0|True",
      "QgsProcessingParameterNumber|size|The size of moving window (odd and >= 3)|QgsProcessingParameterNumber.Double|3.0|True|3.0|None",
      "QgsProcessingParameterNumber|distance|The distance between two samples (>= 1)|QgsProcessingParameterNumber.Double|1.0|True|1.0|None",
      "*QgsProcessingParameterBoolean|-s|Separate output for each angle (0, 45, 90, 135)|False",
      "*QgsProcessingParameterBoolean|-a|Calculate all textural measurements|False",
      "QgsProcessingParameterFolderDestination|output|Texture files directory"
    ]
  },
  {
    "name": "r.thin",
    "display_name": "r.thin",
    "command": "r.thin",
    "short_description": "Thins non-zero cells that denote linear features in a raster layer.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Input raster layer to thin|None|False",
      "QgsProcessingParameterNumber|iterations|Maximum number of iterations|QgsProcessingParameterNumber.Integer|200|True|1|None",
      "QgsProcessingParameterRasterDestination|output|Thinned"
    ]
  },
  {
    "name": "r.tile",
    "display_name": "r.tile",
    "command": "r.tile",
    "short_description": "Splits a raster map into tiles",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False",
      "QgsProcessingParameterNumber|width|Width of tiles (columns)|QgsProcessingParameterNumber.Integer|1024|False|1|None",
      "QgsProcessingParameterNumber|height|Height of tiles (rows)|QgsProcessingParameterNumber.Integer|1024|False|1|None",
      "QgsProcessingParameterNumber|overlap|Overlap of tiles|QgsProcessingParameterNumber.Integer|None|True|0|None",
      "QgsProcessingParameterFolderDestination|output|Tiles Directory"
    ]
  },
  {
    "name": "r.tileset",
    "display_name": "r.tileset",
    "command": "r.tileset",
    "short_description": "Produces tilings of the source projection for use in the destination region and projection.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_tileset",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterCrs|sourceproj|Source projection|None|False",
      "QgsProcessingParameterNumber|sourcescale|Conversion factor from units to meters in source projection|QgsProcessingParameterNumber.Double|1.0|True|None|None",
      "QgsProcessingParameterCrs|destproj|Destination projection|None|True",
      "QgsProcessingParameterNumber|destscale|Conversion factor from units to meters in destination projection|QgsProcessingParameterNumber.Double|1.0|True|None|None",
      "QgsProcessingParameterNumber|maxcols|Maximum number of columns for a tile in the source projection|QgsProcessingParameterNumber.Integer|1024|True|1|None",
      "QgsProcessingParameterNumber|maxrows|Maximum number of rows for a tile in the source projection|QgsProcessingParameterNumber.Integer|1024|True|1|None",
      "QgsProcessingParameterNumber|overlap|Number of cells tiles should overlap in each direction|QgsProcessingParameterNumber.Integer|0|True|0|None",
      "QgsProcessingParameterString|separator|Output field separator|pipe|False|True",
      "*QgsProcessingParameterBoolean|-g|Produces shell script output|False",
      "*QgsProcessingParameterBoolean|-w|Produces web map server query string output|False",
      "QgsProcessingParameterFileDestination|html|Tileset|HTML files (*.html)|None|False"
    ]
  },
  {
    "name": "r.to.vect",
    "display_name": "r.to.vect",
    "command": "r.to.vect",
    "short_description": "Converts a raster into a vector layer.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Input raster layer|None|False",
      "QgsProcessingParameterEnum|type|Feature type|line;point;area|False|2|False",
      "QgsProcessingParameterString|column|Name of attribute column to store value|value|False|True",
      "QgsProcessingParameterBoolean|-s|Smooth corners of area features|False",
      "QgsProcessingParameterBoolean|-v|Use raster values as categories instead of unique sequence|False",
      "QgsProcessingParameterBoolean|-z|Write raster values as z coordinate|False",
      "QgsProcessingParameterBoolean|-b|Do not build vector topology|False",
      "QgsProcessingParameterBoolean|-t|Do not create attribute table|False",
      "QgsProcessingParameterVectorDestination|output|Vectorized"
    ]
  },
  {
    "name": "r.topidx",
    "display_name": "r.topidx",
    "command": "r.topidx",
    "short_description": "Creates topographic index layer from elevation raster layer",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Input elevation layer|None|False",
      "QgsProcessingParameterRasterDestination|output|Topographic index"
    ]
  },
  {
    "name": "r.topmodel.topidxstats",
    "display_name": "r.topmodel.topidxstats",
    "command": "r.topmodel",
    "short_description": "r.topmodel.topidxstats - Builds a TOPMODEL topographic index statistics file.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [
      "-p"
    ],
    "parameters": [
      "QgsProcessingParameterRasterLayer|topidx|Name of input topographic index raster map|None|False",
      "QgsProcessingParameterNumber|ntopidxclasses|Number of topographic index classes|QgsProcessingParameterNumber.Integer|30|True|1|None",
      "Hardcoded|-p",
      "QgsProcessingParameterFileDestination|outtopidxstats|TOPMODEL topographic index statistics file|Txt files (*.txt)|None|False"
    ]
  },
  {
    "name": "r.topmodel",
    "display_name": "r.topmodel",
    "command": "r.topmodel",
    "short_description": "Simulates TOPMODEL which is a physically based hydrologic model.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFile|parameters|Name of TOPMODEL parameters file|QgsProcessingParameterFile.File|txt|None|False",
      "QgsProcessingParameterFile|topidxstats|Name of topographic index statistics file|QgsProcessingParameterFile.File|txt|None|False",
      "QgsProcessingParameterFile|input|Name of rainfall and potential evapotranspiration data file|QgsProcessingParameterFile.File|txt|None|False",
      "QgsProcessingParameterNumber|timestep|Time step. Generate output for this time step|QgsProcessingParameterNumber.Integer|None|True|0|None",
      "QgsProcessingParameterNumber|topidxclass|Topographic index class. Generate output for this topographic index class|QgsProcessingParameterNumber.Integer|None|True|0|None",
      "QgsProcessingParameterFileDestination|output|TOPMODEL output|Txt files (*.txt)|None|False"
    ]
  },
  {
    "name": "r.transect",
    "display_name": "r.transect",
    "command": "r.transect",
    "short_description": "Outputs raster map layer values lying along user defined transect line(s).",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|map|Raster map to be queried|None|False",
      "QgsProcessingParameterString|line|Transect definition: east,north,azimuth,distance[,east,north,azimuth,distance,...]|None|False|False",
      "QgsProcessingParameterString|null_value|String representing NULL value|*|False|True",
      "*QgsProcessingParameterBoolean|-g|Output easting and northing in first two columns of four column output|False",
      "QgsProcessingParameterFileDestination|html|Transect file|HTML files (*.html)|None|False"
    ]
  },
  {
    "name": "r.univar",
    "display_name": "r.univar",
    "command": "r.univar",
    "short_description": "Calculates univariate statistics from the non-null cells of a raster map.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [
      "-t"
    ],
    "parameters": [
      "QgsProcessingParameterMultipleLayers|map|Name of raster map(s)|3|None|False",
      "QgsProcessingParameterRasterLayer|zones|Raster map used for zoning, must be of type CELL|None|True",
      "QgsProcessingParameterString|percentile|Percentile to calculate (comma separated list if multiple) (requires extended statistics flag)|None|False|True",
      "QgsProcessingParameterString|separator|Field separator. Special characters: pipe, comma, space, tab, newline|pipe|False|True",
      "*QgsProcessingParameterBoolean|-e|Calculate extended statistics|False",
      "Hardcoded|-t",
      "QgsProcessingParameterFileDestination|output|Univariate results|Txt files (*.txt)|None|False"
    ]
  },
  {
    "name": "r.uslek",
    "display_name": "r.uslek",
    "command": "r.uslek",
    "short_description": "Computes USLE Soil Erodibility Factor (K).",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|psand|Name of soil sand fraction raster map [0.0-1.0]|None|False",
      "QgsProcessingParameterRasterLayer|pclay|Name of soil clay fraction raster map [0.0-1.0]|None|False",
      "QgsProcessingParameterRasterLayer|psilt|Name of soil silt fraction raster map [0.0-1.0]|None|False",
      "QgsProcessingParameterRasterLayer|pomat|Name of soil organic matter raster map [0.0-1.0]|None|False",
      "QgsProcessingParameterRasterDestination|output|USLE R Raster"
    ]
  },
  {
    "name": "r.usler",
    "display_name": "r.usler",
    "command": "r.usler",
    "short_description": "Computes USLE R factor, Rainfall erosivity index.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Name of annual precipitation raster map [mm/year]|None|False",
      "QgsProcessingParameterEnum|method|Name of USLE R equation|roose;morgan;foster;elswaify|False|0|False",
      "QgsProcessingParameterRasterDestination|output|USLE R Raster"
    ]
  },
  {
    "name": "r.viewshed",
    "display_name": "r.viewshed",
    "command": "r.viewshed",
    "short_description": "Computes the viewshed of a point on an elevation raster map.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Elevation|None|False",
      "QgsProcessingParameterPoint|coordinates|Coordinate identifying the viewing position|0.0,0.0|False",
      "QgsProcessingParameterNumber|observer_elevation|Viewing elevation above the ground|QgsProcessingParameterNumber.Double|1.75|True|None|None",
      "QgsProcessingParameterNumber|target_elevation|Offset for target elevation above the ground|QgsProcessingParameterNumber.Double|0.0|True|None|None",
      "QgsProcessingParameterNumber|max_distance|Maximum visibility radius. By default infinity (-1)|QgsProcessingParameterNumber.Double|-1.0|True|-1.0|None",
      "QgsProcessingParameterNumber|refraction_coeff|Refraction coefficient|QgsProcessingParameterNumber.Double|0.14286|True|0.0|1.0",
      "QgsProcessingParameterNumber|memory|Amount of memory to use in MB|QgsProcessingParameterNumber.Integer|500|True|1|None",
      "*QgsProcessingParameterBoolean|-c|Consider earth curvature (current ellipsoid)|False",
      "*QgsProcessingParameterBoolean|-r|Consider the effect of atmospheric refraction|False",
      "*QgsProcessingParameterBoolean|-b|Output format is invisible = 0, visible = 1|False",
      "*QgsProcessingParameterBoolean|-e|Output format is invisible = NULL, else current elev - viewpoint_elev|False",
      "QgsProcessingParameterRasterDestination|output|Intervisibility"
    ]
  },
  {
    "name": "r.volume",
    "display_name": "r.volume",
    "command": "r.volume",
    "short_description": "Calculates the volume of data \"clumps\".",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Name of input raster map representing data that will be summed within clumps|None|False",
      "QgsProcessingParameterRasterLayer|clump|Clumps layer (preferably the output of r.clump)|None|False",
      "*QgsProcessingParameterBoolean|-f|Generate unformatted report|False",
      "QgsProcessingParameterVectorDestination|centroids|Centroids"
    ]
  },
  {
    "name": "r.walk.coords",
    "display_name": "r.walk.coords",
    "command": "r.walk",
    "short_description": "r.walk.coords - Creates a raster map showing the anisotropic cumulative cost of moving between different geographic locations on an input raster map whose cell category values represent cost from a list of coordinates.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|elevation|Name of input elevation raster map|None|False",
      "QgsProcessingParameterRasterLayer|friction|Name of input raster map containing friction costs|None|False",
      "QgsProcessingParameterString|start_coordinates|Coordinates of starting point(s) (a list of E,N)|None|False|False",
      "QgsProcessingParameterString|stop_coordinates|Coordinates of stopping point(s) (a list of E,N)|None|False|True",
      "QgsProcessingParameterString|walk_coeff|Coefficients for walking energy formula parameters a,b,c,d|0.72,6.0,1.9998,-1.9998|False|True",
      "QgsProcessingParameterNumber|lambda|Lambda coefficients for combining walking energy and friction cost|QgsProcessingParameterNumber.Double|1.0|True|0.0|None",
      "QgsProcessingParameterNumber|slope_factor|Slope factor determines travel energy cost per height step|QgsProcessingParameterNumber.Double|-0.2125|True|None|None",
      "QgsProcessingParameterNumber|max_cost|Maximum cumulative cost|QgsProcessingParameterNumber.Double|0.0|True|None|None",
      "QgsProcessingParameterNumber|null_cost|Cost assigned to null cells. By default, null cells are excluded|QgsProcessingParameterNumber.Double|None|True|None|None",
      "*QgsProcessingParameterNumber|memory|Maximum memory to be used in MB|QgsProcessingParameterNumber.Integer|300|True|1|None",
      "*QgsProcessingParameterBoolean|-k|Use the 'Knight's move'; slower, but more accurate|False",
      "*QgsProcessingParameterBoolean|-n|Keep null values in output raster layer|False",
      "QgsProcessingParameterRasterDestination|output|Cumulative cost",
      "QgsProcessingParameterRasterDestination|outdir|Movement Directions"
    ]
  },
  {
    "name": "r.walk.points",
    "display_name": "r.walk.points",
    "command": "r.walk",
    "short_description": "r.walk.points - Creates a raster map showing the anisotropic cumulative cost of moving between different geographic locations on an input raster map whose cell category values represent cost from point vector layers.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|elevation|Name of input elevation raster map|None|False",
      "QgsProcessingParameterRasterLayer|friction|Name of input raster map containing friction costs|None|False",
      "QgsProcessingParameterFeatureSource|start_points|Start points|0|None|False",
      "QgsProcessingParameterFeatureSource|stop_points|Stop points|0|None|True",
      "QgsProcessingParameterString|walk_coeff|Coefficients for walking energy formula parameters a,b,c,d|0.72,6.0,1.9998,-1.9998|False|True",
      "QgsProcessingParameterNumber|lambda|Lambda coefficients for combining walking energy and friction cost|QgsProcessingParameterNumber.Double|1.0|True|0.0|None",
      "QgsProcessingParameterNumber|slope_factor|Slope factor determines travel energy cost per height step|QgsProcessingParameterNumber.Double|-0.2125|True|None|None",
      "QgsProcessingParameterNumber|max_cost|Maximum cumulative cost|QgsProcessingParameterNumber.Double|0.0|True|None|None",
      "QgsProcessingParameterNumber|null_cost|Cost assigned to null cells. By default, null cells are excluded|QgsProcessingParameterNumber.Double|None|True|None|None",
      "*QgsProcessingParameterNumber|memory|Maximum memory to be used in MB|QgsProcessingParameterNumber.Integer|300|True|1|None",
      "*QgsProcessingParameterBoolean|-k|Use the 'Knight's move'; slower, but more accurate|False",
      "*QgsProcessingParameterBoolean|-n|Keep null values in output raster layer|False",
      "QgsProcessingParameterRasterDestination|output|Cumulative cost",
      "QgsProcessingParameterRasterDestination|outdir|Movement Directions"
    ]
  },
  {
    "name": "r.walk.rast",
    "display_name": "r.walk.rast",
    "command": "r.walk",
    "short_description": "r.walk.rast - Creates a raster map showing the anisotropic cumulative cost of moving between different geographic locations on an input raster map whose cell category values represent cost from a raster.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|elevation|Name of input elevation raster map|None|False",
      "QgsProcessingParameterRasterLayer|friction|Name of input raster map containing friction costs|None|False",
      "QgsProcessingParameterRasterLayer|start_raster|Name of starting raster points map (all non-NULL cells are starting points)|None|False",
      "QgsProcessingParameterString|walk_coeff|Coefficients for walking energy formula parameters a,b,c,d|0.72,6.0,1.9998,-1.9998|False|True",
      "QgsProcessingParameterNumber|lambda|Lambda coefficients for combining walking energy and friction cost|QgsProcessingParameterNumber.Double|1.0|True|0.0|None",
      "QgsProcessingParameterNumber|slope_factor|Slope factor determines travel energy cost per height step|QgsProcessingParameterNumber.Double|-0.2125|True|None|None",
      "QgsProcessingParameterNumber|max_cost|Maximum cumulative cost|QgsProcessingParameterNumber.Double|0.0|True|None|None",
      "QgsProcessingParameterNumber|null_cost|Cost assigned to null cells. By default, null cells are excluded|QgsProcessingParameterNumber.Double|None|True|None|None",
      "*QgsProcessingParameterNumber|memory|Maximum memory to be used in MB|QgsProcessingParameterNumber.Integer|300|True|1|None",
      "*QgsProcessingParameterBoolean|-k|Use the 'Knight's move'; slower, but more accurate|False",
      "*QgsProcessingParameterBoolean|-n|Keep null values in output raster layer|False",
      "QgsProcessingParameterRasterDestination|output|Cumulative cost",
      "QgsProcessingParameterRasterDestination|outdir|Movement Directions"
    ]
  },
  {
    "name": "r.water.outlet",
    "display_name": "r.water.outlet",
    "command": "r.water.outlet",
    "short_description": "Watershed basin creation program.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Drainage direction raster|None|False",
      "QgsProcessingParameterPoint|coordinates|Coordinates of outlet point|0.0,0.0|False",
      "QgsProcessingParameterRasterDestination|output|Basin"
    ]
  },
  {
    "name": "r.watershed",
    "display_name": "r.watershed",
    "command": "r.watershed",
    "short_description": "Watershed basin analysis program.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|elevation|Elevation|None|False",
      "QgsProcessingParameterRasterLayer|depression|Locations of real depressions|None|True",
      "QgsProcessingParameterRasterLayer|flow|Amount of overland flow per cell|None|True",
      "QgsProcessingParameterRasterLayer|disturbed_land|Percent of disturbed land, for USLE|None|True",
      "QgsProcessingParameterRasterLayer|blocking|Terrain blocking overland surface flow, for USLE|None|True",
      "QgsProcessingParameterNumber|threshold|Minimum size of exterior watershed basin|QgsProcessingParameterNumber.Integer|None|True|None|None",
      "QgsProcessingParameterNumber|max_slope_length|Maximum length of surface flow, for USLE|QgsProcessingParameterNumber.Double|None|True|None|None",
      "QgsProcessingParameterNumber|convergence|Convergence factor for MFD (1-10)|QgsProcessingParameterNumber.Integer|5|True|1|10",
      "QgsProcessingParameterNumber|memory|Maximum memory to be used with -m flag (in MB)|QgsProcessingParameterNumber.Integer|300|True|1|None",
      "QgsProcessingParameterBoolean|-s|Enable Single Flow Direction (D8) flow (default is Multiple Flow Direction)|False",
      "QgsProcessingParameterBoolean|-m|Enable disk swap memory option (-m): Operation is slow|False",
      "QgsProcessingParameterBoolean|-4|Allow only horizontal and vertical flow of water|False",
      "QgsProcessingParameterBoolean|-a|Use positive flow accumulation even for likely underestimates|False",
      "QgsProcessingParameterBoolean|-b|Beautify flat areas|False",
      "QgsProcessingParameterRasterDestination|accumulation|Number of cells that drain through each cell|None|True",
      "QgsProcessingParameterRasterDestination|drainage|Drainage direction|None|True",
      "QgsProcessingParameterRasterDestination|basin|Unique label for each watershed basin|None|True",
      "QgsProcessingParameterRasterDestination|stream|Stream segments|None|True",
      "QgsProcessingParameterRasterDestination|half_basin|Half-basins|None|True",
      "QgsProcessingParameterRasterDestination|length_slope|Slope length and steepness (LS) factor for USLE|None|True",
      "QgsProcessingParameterRasterDestination|slope_steepness|Slope steepness (S) factor for USLE|None|True",
      "QgsProcessingParameterRasterDestination|tci|Topographic index ln(a / tan(b))|None|True",
      "QgsProcessingParameterRasterDestination|spi|Stream power index a * tan(b)|None|True"
    ]
  },
  {
    "name": "r.what.color",
    "display_name": "r.what.color",
    "command": "r.what.color",
    "short_description": "Queries colors for a raster map layer.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": "r_what_color",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|input|Raster map to query colors|None|False",
      "QgsProcessingParameterString|value|Values to query colors for (comma separated list)|None|False|True",
      "QgsProcessingParameterString|format|Output format (printf-style)|%d:%d:%d|False|True",
      "QgsProcessingParameterFileDestination|html|Colors file|HTML files (*.html)|None|False"
    ]
  },
  {
    "name": "v.class",
    "display_name": "v.class",
    "command": "v.class",
    "short_description": "Classifies attribute data, e.g. for thematic mapping.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|map|Input vector layer|-1|None|False",
      "QgsProcessingParameterField|column|Column name or expression|None|map|-1|False|False",
      "QgsProcessingParameterString|where|WHERE conditions of SQL statement without 'where' keyword|None|True|True",
      "QgsProcessingParameterEnum|algorithm|Algorithm to use for classification|int;std;qua;equ|False|0|False",
      "QgsProcessingParameterNumber|nbclasses|Number of classes to define|QgsProcessingParameterNumber.Integer|3|False|2|None",
      "QgsProcessingParameterBoolean|-g|Print only class breaks (without min and max)|True",
      "QgsProcessingParameterFileDestination|html|Classification|Html files (*.html)|report.html|False"
    ]
  },
  {
    "name": "r.what.coords",
    "display_name": "r.what.coords",
    "command": "r.what",
    "short_description": "r.what.coords - Queries raster maps on their category values and category labels on a point.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|map|Name of raster map|None|False",
      "QgsProcessingParameterPoint|coordinates|Coordinates for query (east, north)|0.0, 0.0|False",
      "QgsProcessingParameterString|null_value|String representing NULL value|*|False|True",
      "QgsProcessingParameterString|separator|Field separator. Special characters: pipe, comma, space, tab, newlineString representing NULL value|pipe|False|True",
      "QgsProcessingParameterNumber|cache|Size of point cache|QgsProcessingParameterNumber.Integer|500|True|0|None",
      "*QgsProcessingParameterBoolean|-n|Output header row|False|True",
      "*QgsProcessingParameterBoolean|-f|Show the category labels of the grid cell(s)|False|True",
      "*QgsProcessingParameterBoolean|-r|Output color values as RRR:GGG:BBB|False|True",
      "*QgsProcessingParameterBoolean|-i|Output integer category values, not cell values|False|True",
      "*QgsProcessingParameterBoolean|-c|Turn on cache reporting|False|True",
      "QgsProcessingParameterFileDestination|output|Raster Value File|Txt files (*.txt)|None|False"
    ]
  },
  {
    "name": "r.what.points",
    "display_name": "r.what.points",
    "command": "r.what",
    "short_description": "r.what.points - Queries raster maps on their category values and category labels on a layer of points.",
    "group": "Raster (r.*)",
    "group_id": "raster",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterRasterLayer|map|Name of raster map|None|False",
      "QgsProcessingParameterFeatureSource|points|Name of vector points layer for query|0|None|False",
      "QgsProcessingParameterString|null_value|String representing NULL value|*|False|True",
      "QgsProcessingParameterString|separator|Field separator. Special characters: pipe, comma, space, tab, newline|pipe|False|True",
      "QgsProcessingParameterNumber|cache|Size of point cache|QgsProcessingParameterNumber.Integer|500|True|0|None",
      "*QgsProcessingParameterBoolean|-n|Output header row|False|True",
      "*QgsProcessingParameterBoolean|-f|Show the category labels of the grid cell(s)|False|True",
      "*QgsProcessingParameterBoolean|-r|Output color values as RRR:GGG:BBB|False|True",
      "*QgsProcessingParameterBoolean|-i|Output integer category values, not cell values|False|True",
      "*QgsProcessingParameterBoolean|-c|Turn on cache reporting|False|True",
      "QgsProcessingParameterFileDestination|output|Raster Values File|Txt files (*.txt)|None|False"
    ]
  },
  {
    "name": "v.buffer",
    "display_name": "v.buffer",
    "command": "v.buffer",
    "short_description": "Creates a buffer around vector features of given type.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Input vector layer|-1|None|False",
      "QgsProcessingParameterString|cats|Category values|None|False|True",
      "QgsProcessingParameterString|where|WHERE conditions of SQL statement without 'where' keyword|None|True|True",
      "QgsProcessingParameterEnum|type|Input feature type|point;line;boundary;centroid;area|True|0,1,4|True",
      "QgsProcessingParameterNumber|distance|Buffer distance in map units|QgsProcessingParameterNumber.Double|None|True|None|None",
      "QgsProcessingParameterNumber|minordistance|Buffer distance along minor axis in map units|QgsProcessingParameterNumber.Double|None|True|None|None",
      "QgsProcessingParameterNumber|angle|Angle of major axis in degrees|QgsProcessingParameterNumber.Double|0.0|True|0.0|360.0",
      "QgsProcessingParameterString|layer|Layer number or name ('-1' for all layers)|-1|False|False",
      "QgsProcessingParameterField|column|Name of column to use for buffer distances|None|input|-1|False|True",
      "QgsProcessingParameterNumber|scale|Scaling factor for attribute column values|QgsProcessingParameterNumber.Double|1.0|True|None|None",
      "QgsProcessingParameterNumber|tolerance|Maximum distance between theoretical arc and polygon segments as multiple of buffer|QgsProcessingParameterNumber.Double|0.01|True|None|None",
      "*QgsProcessingParameterBoolean|-s|Make outside corners straight|False",
      "*QgsProcessingParameterBoolean|-c|Do not make caps at the ends of polylines|False",
      "*QgsProcessingParameterBoolean|-t|Transfer categories and attributes|False",
      "QgsProcessingParameterVectorDestination|output|Buffer"
    ]
  },
  {
    "name": "v.build.check",
    "display_name": "v.build.check",
    "command": "v.build",
    "short_description": "v.build.check - Checks for topological errors.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [
      "-e"
    ],
    "parameters": [
      "QgsProcessingParameterFeatureSource|map|Name of vector map|-1|None|False",
      "Hardcoded|-e",
      "QgsProcessingParameterVectorDestination|error|Topological errors"
    ]
  },
  {
    "name": "v.build.polylines",
    "display_name": "v.build.polylines",
    "command": "v.build.polylines",
    "short_description": "Builds polylines from lines or boundaries.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Name of input vector map|-1|None|False",
      "QgsProcessingParameterEnum|cats|Category number mode|no;first;multi;same|False|0|True",
      "QgsProcessingParameterEnum|type|Input feature type|line;boundary|True|0,1|True",
      "QgsProcessingParameterVectorDestination|output|Polylines"
    ]
  },
  {
    "name": "v.clean",
    "display_name": "v.clean",
    "command": "v.clean",
    "short_description": "Toolset for cleaning topology of vector map.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Layer to clean|-1|None|False",
      "QgsProcessingParameterEnum|type|Input feature type|point;line;boundary;centroid;area;face;kernel|True|0,1,2,3,4,5,6|True",
      "QgsProcessingParameterEnum|tool|Cleaning tool|break;snap;rmdangle;chdangle;rmbridge;chbridge;rmdupl;rmdac;bpol;prune;rmarea;rmline;rmsa|True|0|False",
      "QgsProcessingParameterString|threshold|Threshold (comma separated for each tool)|None|False|True",
      "*QgsProcessingParameterBoolean|-b|Do not build topology for the output vector|False",
      "*QgsProcessingParameterBoolean|-c|Combine tools with recommended follow-up tools|False",
      "QgsProcessingParameterVectorDestination|output|Cleaned",
      "QgsProcessingParameterVectorDestination|error|Errors"
    ]
  },
  {
    "name": "v.cluster",
    "display_name": "v.cluster",
    "command": "v.cluster",
    "short_description": "Performs cluster identification",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Input layer|-1|None|False",
      "QgsProcessingParameterNumber|distance|Maximum distance to neighbors|QgsProcessingParameterNumber.Double|None|True|None|None",
      "QgsProcessingParameterNumber|min|Minimum number of points to create a cluster|QgsProcessingParameterNumber.Integer|None|True|0|None",
      "QgsProcessingParameterEnum|method|Clustering method|dbscan;dbscan2;density;optics;optics2|True|0|True",
      "*QgsProcessingParameterBoolean|-2|Force 2D clustering|False",
      "*QgsProcessingParameterBoolean|-b|Do not build topology|False",
      "*QgsProcessingParameterBoolean|-t|Do not create attribute table|False",
      "QgsProcessingParameterVectorDestination|output|Clustered"
    ]
  },
  {
    "name": "v.db.select",
    "display_name": "v.db.select",
    "command": "v.db.select",
    "short_description": "Prints vector map attributes",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|map|Input vector map |-1|None|False",
      "QgsProcessingParameterNumber|layer|Layer Number|QgsProcessingParameterNumber.Double|1|False|None|1",
      "QgsProcessingParameterString|columns|Name of attribute column(s), comma separated|None|False|True",
      "*QgsProcessingParameterBoolean|-c|Do not include column names in output|False",
      "QgsProcessingParameterString|separator|Output field separator|,|False|True",
      "*QgsProcessingParameterString|where|WHERE conditions of SQL statement without 'where' keyword|None|True|True",
      "*QgsProcessingParameterString|group|GROUP BY conditions of SQL statement without 'group by' keyword|None|True|True",
      "*QgsProcessingParameterString|vertical_separator|Output vertical record separator|None|False|True",
      "*QgsProcessingParameterString|null_value|Null value indicator|None|False|True",
      "*QgsProcessingParameterBoolean|-v|Vertical output (instead of horizontal)|False",
      "*QgsProcessingParameterBoolean|-r|Print minimal region extent of selected vector features instead of attributes|False",
      "QgsProcessingParameterFileDestination|file|Attributes|Txt files (*.txt)|None|False"
    ]
  },
  {
    "name": "v.decimate",
    "display_name": "v.decimate",
    "command": "v.decimate",
    "short_description": "Decimates a point cloud",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Input vector|1|None|False",
      "QgsProcessingParameterRange|zrange|Filter range for z data (min,max)|QgsProcessingParameterNumber.Double|None|True",
      "QgsProcessingParameterString|cats|Category values|None|False|True",
      "QgsProcessingParameterNumber|skip|Throw away every n-th point|QgsProcessingParameterNumber.Integer|None|True|0|None",
      "QgsProcessingParameterNumber|preserve|Preserve only every n-th point|QgsProcessingParameterNumber.Integer|None|True|0|None",
      "QgsProcessingParameterNumber|offset|Skip first n points|QgsProcessingParameterNumber.Integer|None|True|0|None",
      "QgsProcessingParameterNumber|limit|Copy only n points|QgsProcessingParameterNumber.Integer|None|True|0|None",
      "QgsProcessingParameterNumber|zdiff|Minimal difference of z values|QgsProcessingParameterNumber.Double|None|True|None|None",
      "QgsProcessingParameterNumber|cell_limit|Preserve only n points per grid cell|QgsProcessingParameterNumber.Integer|None|True|0|None",
      "*QgsProcessingParameterBoolean|-g|Apply grid-based decimation|False|True",
      "*QgsProcessingParameterBoolean|-f|Use only first point in grid cell during grid-based decimation|False|True",
      "*QgsProcessingParameterBoolean|-c|Only one point per cat in grid cell|False|True",
      "*QgsProcessingParameterBoolean|-z|Use z in grid decimation|False|True",
      "*QgsProcessingParameterBoolean|-x|Store only the coordinates, throw away categories|False|True",
      "*QgsProcessingParameterBoolean|-b|Do not build topology|False|True",
      "QgsProcessingParameterVectorDestination|output|Output vector map"
    ]
  },
  {
    "name": "v.delaunay",
    "display_name": "v.delaunay",
    "command": "v.delaunay",
    "short_description": "Creates a Delaunay triangulation from an input vector map containing points or centroids.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Input vector layer|0|None|False",
      "QgsProcessingParameterBoolean|-r|Use only points in current region|False|False",
      "QgsProcessingParameterBoolean|-l|Output triangulation as a graph (lines), not areas|False|False",
      "QgsProcessingParameterVectorDestination|output|Delaunay triangulation"
    ]
  },
  {
    "name": "v.dissolve",
    "display_name": "v.dissolve",
    "command": "v.dissolve",
    "short_description": "Dissolves boundaries between adjacent areas sharing a common category number or attribute.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Input vector layer|2|None|False",
      "QgsProcessingParameterField|column|Name of column used to dissolve common boundaries|None|input|-1|False|True",
      "QgsProcessingParameterVectorDestination|output|Dissolved"
    ]
  },
  {
    "name": "v.distance",
    "display_name": "v.distance",
    "command": "v.distance",
    "short_description": "Finds the nearest element in vector map 'to' for elements in vector map 'from'.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": "v_distance",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|from|'from' vector map|-1|None|False",
      "*QgsProcessingParameterEnum|from_type|'from' feature type|point;line;boundary;area;centroid|True|0,1,3|True",
      "QgsProcessingParameterFeatureSource|to|'to' vector map|-1|None|False",
      "*QgsProcessingParameterEnum|to_type|'to' feature type|point;line;boundary;area;centroid|True|0,1,3|True",
      "QgsProcessingParameterNumber|dmax|Maximum distance or -1.0 for no limit|QgsProcessingParameterNumber.Double|-1.0|True|-1.0|None",
      "QgsProcessingParameterNumber|dmin|Minimum distance or -1.0 for no limit|QgsProcessingParameterNumber.Double|-1.0|True|-1.0|None",
      "QgsProcessingParameterEnum|upload|'upload': Values describing the relation between two nearest features|cat;dist;to_x;to_y;to_along;to_angle;to_attr|True|0|False",
      "QgsProcessingParameterField|column|Column name(s) where values specified by 'upload' option will be uploaded|None|from|0|True|False",
      "QgsProcessingParameterField|to_column|Column name of nearest feature (used with upload=to_attr)|None|to|-1|False|True",
      "QgsProcessingParameterVectorDestination|from_output|Nearest",
      "QgsProcessingParameterVectorDestination|output|Distance"
    ]
  },
  {
    "name": "v.drape",
    "display_name": "v.drape",
    "command": "v.drape",
    "short_description": "Converts 2D vector features to 3D by sampling of elevation raster map.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Input vector layer|-1|None|False",
      "QgsProcessingParameterString|where|WHERE conditions of SQL statement without 'where' keyword|None|True|True",
      "QgsProcessingParameterEnum|type|Input feature type|point;line;boundary;centroid|True|0,1,3,4|True",
      "QgsProcessingParameterRasterLayer|elevation|Elevation raster map for height extraction|None|False",
      "QgsProcessingParameterEnum|method|Sampling method|nearest;bilinear;bicubic|False|0|True",
      "QgsProcessingParameterNumber|scale|Scale factor sampled raster values|QgsProcessingParameterNumber.Double|1.0|True|None|None",
      "QgsProcessingParameterNumber|null_value|Height for sampled raster NULL values|QgsProcessingParameterNumber.Double|None|True|None|None",
      "QgsProcessingParameterVectorDestination|output|3D vector"
    ]
  },
  {
    "name": "v.edit",
    "display_name": "v.edit",
    "command": "v.edit",
    "short_description": "Edits a vector map, allows adding, deleting and modifying selected vector features.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": "v_edit",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|map|Name of vector layer|-1|None|False",
      "QgsProcessingParameterEnum|type|Input feature type|point;line;boundary;centroid|True|0,1,2,3|True",
      "QgsProcessingParameterEnum|tool|Tool|create;add;delete;copy;move;flip;catadd;catdel;merge;break;snap;connect;chtype;vertexadd;vertexdel;vertexmove;areadel;zbulk;select|False|0|False",
      "QgsProcessingParameterFile|input|ASCII file for add tool|QgsProcessingParameterFile.File|txt|None|True",
      "QgsProcessingParameterString|move|Difference in x,y,z direction for moving feature or vertex|None|False|True",
      "QgsProcessingParameterString|threshold|Threshold distance (coords,snap,query)|None|False|True",
      "QgsProcessingParameterString|ids|Feature ids|None|False|True",
      "QgsProcessingParameterString|cats|Category values|None|False|True",
      "QgsProcessingParameterString|coords|List of point coordinates|None|False|True",
      "QgsProcessingParameterExtent|bbox|Bounding box for selecting features|None|True",
      "QgsProcessingParameterString|polygon|Polygon for selecting features|None|False|True",
      "QgsProcessingParameterString|where|WHERE conditions of SQL statement without 'where' keyword|None|True|True",
      "QgsProcessingParameterEnum|query|Query tool|length;dangle|False|None|True",
      "QgsProcessingParameterFeatureSource|bgmap|Name of background vector map|-1|None|True",
      "QgsProcessingParameterEnum|snap|Snap added or modified features in the given threshold to the nearest existing feature|no;node;vertex|False|0|True",
      "QgsProcessingParameterString|zbulk|Starting value and step for z bulk-labeling. Pair: value,step (e.g. 1100,10)|None|False|True",
      "QgsProcessingParameterBoolean|-r|Reverse selection|False",
      "QgsProcessingParameterBoolean|-c|Close added boundaries (using threshold distance)|False",
      "QgsProcessingParameterBoolean|-n|Do not expect header of input data|False",
      "QgsProcessingParameterBoolean|-b|Do not build topology|False",
      "QgsProcessingParameterBoolean|-1|Modify only first found feature in bounding box|False",
      "QgsProcessingParameterVectorDestination|output|Edited"
    ]
  },
  {
    "name": "v.extract",
    "display_name": "v.extract",
    "command": "v.extract",
    "short_description": "Selects vector objects from a vector layer and creates a new layer containing only the selected objects.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Vector layer|-1|None|False",
      "QgsProcessingParameterString|where|WHERE conditions of SQL statement without 'where' keyword|None|True|True",
      "QgsProcessingParameterEnum|type|Input feature type|point;line;boundary;centroid;area;face|True|0,1,3,4,5,6|True",
      "QgsProcessingParameterFile|file|Input text file with category numbers/number ranges to be extracted|QgsProcessingParameterFile.File|txt|None|True",
      "QgsProcessingParameterNumber|random|Number of random categories matching vector objects to extract|QgsProcessingParameterNumber.Integer|None|True|0|None",
      "QgsProcessingParameterNumber|new|Desired new category value (enter -1 to keep original categories)|QgsProcessingParameterNumber.Integer|-1|True|-1|None",
      "*QgsProcessingParameterBoolean|-d|Dissolve common boundaries|True",
      "*QgsProcessingParameterBoolean|-t|Do not copy attributes|False",
      "*QgsProcessingParameterBoolean|-r|Reverse selection|False",
      "QgsProcessingParameterVectorDestination|output|Selected"
    ]
  },
  {
    "name": "v.extrude",
    "display_name": "v.extrude",
    "command": "v.extrude",
    "short_description": "Extrudes flat vector object to 3D with defined height.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": "v_extrude",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Name of input 2D vector map|-1|None|False",
      "QgsProcessingParameterString|where|WHERE conditions of SQL statement without 'where' keyword|None|True|True",
      "QgsProcessingParameterEnum|type|Input feature type|point;line;area|True|0,1,2|True",
      "QgsProcessingParameterNumber|zshift|Shifting value for z coordinates|QgsProcessingParameterNumber.Double|0.0|True|0.0|None",
      "QgsProcessingParameterNumber|height|Fixed height for 3D vector objects|QgsProcessingParameterNumber.Double|None|True|None|None",
      "QgsProcessingParameterField|height_column|Name of attribute column with object heights|None|input|0|False|True",
      "QgsProcessingParameterRasterLayer|elevation|Elevation raster for height extraction|None|True",
      "QgsProcessingParameterEnum|method|Sampling interpolation method|nearest;bilinear;bicubic|False|0|True",
      "QgsProcessingParameterNumber|scale|Scale factor sampled raster values|QgsProcessingParameterNumber.Double|1.0|True|0.0|None",
      "QgsProcessingParameterNumber|null_value|Height for sampled raster NULL values|QgsProcessingParameterNumber.Double|None|True|None|None",
      "*QgsProcessingParameterBoolean|-t|Trace elevation|False",
      "QgsProcessingParameterVectorDestination|output|3D Vector"
    ]
  },
  {
    "name": "v.generalize",
    "display_name": "v.generalize",
    "command": "v.generalize",
    "short_description": "Vector based generalization.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Input layer|-1|None|False",
      "QgsProcessingParameterEnum|type|Input feature type|line;boundary;area|True|0,1,2|True",
      "QgsProcessingParameterString|cats|Category values|None|False|True",
      "QgsProcessingParameterString|where|WHERE conditions of SQL statement without 'where' keyword|None|True|True",
      "QgsProcessingParameterEnum|method|Generalization algorithm|douglas;douglas_reduction;lang;reduction;reumann;boyle;sliding_averaging;distance_weighting;chaiken;hermite;snakes;network;displacement|False|0|False",
      "QgsProcessingParameterNumber|threshold|Maximal tolerance value|QgsProcessingParameterNumber.Double|1.0|False|0.0|1000000000.0",
      "QgsProcessingParameterNumber|look_ahead|Look-ahead parameter|QgsProcessingParameterNumber.Integer|7|True|None|None",
      "QgsProcessingParameterNumber|reduction|Percentage of the points in the output of 'douglas_reduction' algorithm|QgsProcessingParameterNumber.Double|50.0|True|0.0|100.0",
      "QgsProcessingParameterNumber|slide|Slide of computed point toward the original point|QgsProcessingParameterNumber.Double|0.5|True|0.0|1.0",
      "QgsProcessingParameterNumber|angle_thresh|Minimum angle between two consecutive segments in Hermite method|QgsProcessingParameterNumber.Double|3.0|True|0.0|180.0",
      "QgsProcessingParameterNumber|degree_thresh|Degree threshold in network generalization|QgsProcessingParameterNumber.Integer|0|True|0|None",
      "QgsProcessingParameterNumber|closeness_thresh|Closeness threshold in network generalization|QgsProcessingParameterNumber.Double|0.0|True|0.0|1.0",
      "QgsProcessingParameterNumber|betweeness_thresh|Betweenness threshold in network generalization|QgsProcessingParameterNumber.Double|0.0|True|None|None",
      "QgsProcessingParameterNumber|alpha|Snakes alpha parameter|QgsProcessingParameterNumber.Double|1.0|True|None|None",
      "QgsProcessingParameterNumber|beta|Snakes beta parameter|QgsProcessingParameterNumber.Double|1.0|True|None|None",
      "QgsProcessingParameterNumber|iterations|Number of iterations|QgsProcessingParameterNumber.Integer|1|True|1|None",
      "*QgsProcessingParameterBoolean|-t|Do not copy attributes|False",
      "*QgsProcessingParameterBoolean|-l|Disable loop support|True",
      "QgsProcessingParameterVectorDestination|output|Generalized",
      "QgsProcessingParameterVectorDestination|error|Errors"
    ]
  },
  {
    "name": "v.hull",
    "display_name": "v.hull",
    "command": "v.hull",
    "short_description": "Produces a convex hull for a given vector map.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Input layer|0|None|False",
      "QgsProcessingParameterString|where|WHERE conditions of SQL statement without 'where' keyword|None|True|True",
      "QgsProcessingParameterBoolean|-f|Create a 'flat' 2D hull even if the input is 3D points|False",
      "QgsProcessingParameterVectorDestination|output|Convex hull"
    ]
  },
  {
    "name": "v.in.ascii",
    "display_name": "v.in.ascii",
    "command": "v.in.ascii",
    "short_description": "Creates a vector map from an ASCII points file or ASCII vector file.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFile|input|ASCII file to be imported|QgsProcessingParameterFile.File|txt|None|False",
      "QgsProcessingParameterEnum|format|Input file format|point;standard|False|0|True",
      "QgsProcessingParameterString|separator|Field separator|pipe|False|True",
      "QgsProcessingParameterString|text|Text delimiter|None|False|True",
      "QgsProcessingParameterNumber|skip|Number of header lines to skip at top of input file|QgsProcessingParameterNumber.Integer|0|True|0|None",
      "QgsProcessingParameterString|columns|Column definition in SQL style (example: 'x double precision, y double precision, cat int, name varchar(10)')|None|False|True",
      "QgsProcessingParameterNumber|x|Number of column used as x coordinate|QgsProcessingParameterNumber.Integer|1|True|1|None",
      "QgsProcessingParameterNumber|y|Number of column used as y coordinate|QgsProcessingParameterNumber.Integer|2|True|1|None",
      "QgsProcessingParameterNumber|z|Number of column used as z coordinate|QgsProcessingParameterNumber.Integer|0|True|0|None",
      "QgsProcessingParameterNumber|cat|Number of column used as category|QgsProcessingParameterNumber.Integer|0|True|0|None",
      "*QgsProcessingParameterBoolean|-z|Create 3D vector map|False",
      "*QgsProcessingParameterBoolean|-n|Do not expect a header when reading in standard format|False",
      "*QgsProcessingParameterBoolean|-t|Do not create table in points mode|False",
      "*QgsProcessingParameterBoolean|-b|Do not build topology in points mode|False",
      "*QgsProcessingParameterBoolean|-r|Only import points falling within current region (points mode)|False",
      "*QgsProcessingParameterBoolean|-i|Ignore broken line(s) in points mode|False",
      "QgsProcessingParameterVectorDestination|output|ASCII"
    ]
  },
  {
    "name": "v.in.dxf",
    "display_name": "v.in.dxf",
    "command": "v.in.dxf",
    "short_description": "Converts files in DXF format to GRASS vector map format.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFile|input|Name of input DXF file|QgsProcessingParameterFile.File|dxf|None|False",
      "QgsProcessingParameterString|layers|List of layers to import|None|False|True",
      "QgsProcessingParameterBoolean|-e|Ignore the map extent of DXF file|True",
      "QgsProcessingParameterBoolean|-t|Do not create attribute tables|False",
      "QgsProcessingParameterBoolean|-f|Import polyface meshes as 3D wire frame|True",
      "QgsProcessingParameterBoolean|-l|List available layers and exit|False",
      "QgsProcessingParameterBoolean|-i|Invert selection by layers (don't import layers in list)|False",
      "QgsProcessingParameterBoolean|-1|Import all objects into one layer|True",
      "QgsProcessingParameterVectorDestination|output|Converted"
    ]
  },
  {
    "name": "v.in.e00",
    "display_name": "v.in.e00",
    "command": "v.in.e00",
    "short_description": "Imports E00 file into a vector map",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFile|input|Name of input E00 file|QgsProcessingParameterFile.File|e00|None|False",
      "QgsProcessingParameterEnum|type|Input feature type|point;line;area|True|0|True",
      "QgsProcessingParameterVectorDestination|output|Name of output vector"
    ]
  },
  {
    "name": "v.in.geonames",
    "display_name": "v.in.geonames",
    "command": "v.in.geonames",
    "short_description": "Imports geonames.org country files into a GRASS vector points map.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": "v_in_geonames",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFile|input|Uncompressed geonames file from (with .txt extension)|QgsProcessingParameterFile.File|txt|None|False",
      "QgsProcessingParameterVectorDestination|output|Geonames"
    ]
  },
  {
    "name": "v.in.lidar",
    "display_name": "v.in.lidar",
    "command": "v.in.lidar",
    "short_description": "Converts LAS LiDAR point clouds to a GRASS vector map with libLAS.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [
      "-o"
    ],
    "parameters": [
      "QgsProcessingParameterFile|input|LiDAR input files in LAS format (*.las or *.laz)|QgsProcessingParameterFile.File||None|False|Lidar files (*.las *.LAS *.laz *.LAZ)",
      "QgsProcessingParameterExtent|spatial|Import subregion only|None|True",
      "QgsProcessingParameterRange|zrange|Filter range for z data|QgsProcessingParameterNumber.Double|None|True",
      "QgsProcessingParameterEnum|return_filter|Only import points of selected return type|first;last;mid|True|None|True",
      "QgsProcessingParameterString|class_filter|Only import points of selected class(es) (comma separated integers)|None|False|True",
      "QgsProcessingParameterNumber|skip|Do not import every n-th point|QgsProcessingParameterNumber.Integer|None|True|1|None",
      "QgsProcessingParameterNumber|preserve|Import only every n-th point|QgsProcessingParameterNumber.Integer|None|True|1|None",
      "QgsProcessingParameterNumber|offset|Skip first n points|QgsProcessingParameterNumber.Integer|None|True|1|None",
      "QgsProcessingParameterNumber|limit|Import only n points|QgsProcessingParameterNumber.Integer|None|True|1|None",
      "*QgsProcessingParameterBoolean|-t|Do not create attribute table|False",
      "*QgsProcessingParameterBoolean|-c|Do not automatically add unique ID as category to each point|False",
      "*QgsProcessingParameterBoolean|-b|Do not build topology|False",
      "Hardcoded|-o",
      "QgsProcessingParameterVectorDestination|output|Lidar"
    ]
  },
  {
    "name": "v.in.lines",
    "display_name": "v.in.lines",
    "command": "v.in.lines",
    "short_description": "Import ASCII x,y[,z] coordinates as a series of lines.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFile|input|ASCII file to be imported|QgsProcessingParameterFile.File|txt|None|False",
      "QgsProcessingParameterString|separator|Field separator|pipe|False|True",
      "*QgsProcessingParameterBoolean|-z|Create 3D vector map|False",
      "QgsProcessingParameterVectorDestination|output|Lines"
    ]
  },
  {
    "name": "v.in.mapgen",
    "display_name": "v.in.mapgen",
    "command": "v.in.mapgen",
    "short_description": "Imports Mapgen or Matlab-ASCII vector maps into GRASS.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFile|input|Name of input file in Mapgen/Matlab format|QgsProcessingParameterFile.File|txt|None|False",
      "*QgsProcessingParameterBoolean|-z|Create 3D vector map|False",
      "*QgsProcessingParameterBoolean|-f|Input map is in Matlab format|False",
      "QgsProcessingParameterVectorDestination|output|Mapgen"
    ]
  },
  {
    "name": "v.in.wfs",
    "display_name": "v.in.wfs",
    "command": "v.in.wfs",
    "short_description": "Import GetFeature from WFS",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterString|url|GetFeature URL starting with 'http'|http://|False|False",
      "QgsProcessingParameterCrs|srs|Alternate spatial reference system|None|True",
      "QgsProcessingParameterString|name|Comma separated names of data layers to download|None|False|True",
      "QgsProcessingParameterNumber|maximum_features|Maximum number of features to download|QgsProcessingParameterNumber.Integer|None|True|1|None",
      "QgsProcessingParameterNumber|start_index|Skip earlier feature IDs and start downloading at this one|QgsProcessingParameterNumber.Integer|None|True|1|None",
      "QgsProcessingParameterVectorDestination|output|Converted"
    ]
  },
  {
    "name": "v.info",
    "display_name": "v.info",
    "command": "v.info",
    "short_description": "Outputs basic information about a user-specified vector map.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|map|Name of input vector map|-1|None|False",
      "QgsProcessingParameterBoolean|-c|Print types/names of table columns for specified layer instead of info|False",
      "QgsProcessingParameterBoolean|-g|Print map region only|False",
      "QgsProcessingParameterBoolean|-e|Print extended metadata info in shell script style|False",
      "QgsProcessingParameterBoolean|-t|Print topology information only|False",
      "QgsProcessingOutputString|html|Information",
      "QgsProcessingParameterFileDestination|html|Information report|Html files (*.html)|report.html|False"
    ]
  },
  {
    "name": "v.kcv",
    "display_name": "v.kcv",
    "command": "v.kcv",
    "short_description": "Randomly partition points into test/train sets.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|map|Input layer|-1|None|False",
      "QgsProcessingParameterNumber|npartitions|Number of partitions|QgsProcessingParameterNumber.Integer|10|False|2|None",
      "QgsProcessingParameterString|column|Name for new column to which partition number is written|part|False|True",
      "QgsProcessingParameterVectorDestination|output|Partition"
    ]
  },
  {
    "name": "v.kernel.rast",
    "display_name": "v.kernel.rast",
    "command": "v.kernel",
    "short_description": "v.kernel.rast - Generates a raster density map from vector points map.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Name of input vector map with training points|0|None|False",
      "QgsProcessingParameterNumber|radius|Kernel radius in map units|QgsProcessingParameterNumber.Double|10.0|False|0.0|None",
      "QgsProcessingParameterNumber|dsize|Discretization error in map units|QgsProcessingParameterNumber.Double|0.0|True|0.0|None",
      "QgsProcessingParameterNumber|segmax|Maximum length of segment on network|QgsProcessingParameterNumber.Double|100.0|True|0.0|None",
      "QgsProcessingParameterNumber|distmax|Maximum distance from point to network|QgsProcessingParameterNumber.Double|100.0|True|0.0|None",
      "QgsProcessingParameterNumber|multiplier|Multiply the density result by this number|QgsProcessingParameterNumber.Double|1.0|True|0.0|None",
      "QgsProcessingParameterEnum|node|Node method|none;split|False|0|False",
      "QgsProcessingParameterEnum|kernel|Kernel function|uniform;triangular;epanechnikov;quartic;triweight;gaussian;cosine|False|5|True",
      "*QgsProcessingParameterBoolean|-o|Try to calculate an optimal radius with given 'radius' taken as maximum (experimental)|False",
      "QgsProcessingParameterRasterDestination|output|Kernel"
    ]
  },
  {
    "name": "v.kernel.vector",
    "display_name": "v.kernel.vector",
    "command": "v.kernel",
    "short_description": "v.kernel.vector - Generates a vector density map from vector points on a vector network.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Name of input vector map with training points|0|None|False",
      "QgsProcessingParameterFeatureSource|net|Name of input network vector map|1|None|False",
      "QgsProcessingParameterNumber|radius|Kernel radius in map units|QgsProcessingParameterNumber.Double|10.0|False|0.0|None",
      "QgsProcessingParameterNumber|dsize|Discretization error in map units|QgsProcessingParameterNumber.Double|0.0|True|0.0|None",
      "QgsProcessingParameterNumber|segmax|Maximum length of segment on network|QgsProcessingParameterNumber.Double|100.0|True|0.0|None",
      "QgsProcessingParameterNumber|distmax|Maximum distance from point to network|QgsProcessingParameterNumber.Double|100.0|True|0.0|None",
      "QgsProcessingParameterNumber|multiplier|Multiply the density result by this number|QgsProcessingParameterNumber.Double|1.0|True|0.0|None",
      "QgsProcessingParameterEnum|node|Node method|none;split|False|0|False",
      "QgsProcessingParameterEnum|kernel|Kernel function|uniform;triangular;epanechnikov;quartic;triweight;gaussian;cosine|False|5|True",
      "*QgsProcessingParameterBoolean|-o|Try to calculate an optimal radius with given 'radius' taken as maximum (experimental)|False",
      "*QgsProcessingParameterBoolean|-n|Normalize values by sum of density multiplied by length of each segment.|False",
      "*QgsProcessingParameterBoolean|-m|Multiply the result by number of input points|False",
      "QgsProcessingParameterVectorDestination|output|Kernel"
    ]
  },
  {
    "name": "v.lidar.correction",
    "display_name": "v.lidar.correction",
    "command": "v.lidar.correction",
    "short_description": "Correction of the v.lidar.growing output. It is the last of the three algorithms for LIDAR filtering.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Input vector layer (v.lidar.growing output)|-1|None|False",
      "QgsProcessingParameterNumber|ew_step|Length of each spline step in the east-west direction|QgsProcessingParameterNumber.Double|25.0|True|0.0|None",
      "QgsProcessingParameterNumber|ns_step|Length of each spline step in the north-south direction|QgsProcessingParameterNumber.Double|25.0|True|0.0|None",
      "QgsProcessingParameterNumber|lambda_c|Regularization weight in reclassification evaluation|QgsProcessingParameterNumber.Double|1.0|True|0.0|None",
      "QgsProcessingParameterNumber|tch|High threshold for object to terrain reclassification|QgsProcessingParameterNumber.Double|2.0|True|0.0|None",
      "QgsProcessingParameterNumber|tcl|Low threshold for terrain to object reclassification|QgsProcessingParameterNumber.Double|1.0|True|0.0|None",
      "QgsProcessingParameterBoolean|-e|Estimate point density and distance|False",
      "QgsProcessingParameterVectorDestination|output|Classified",
      "QgsProcessingParameterVectorDestination|terrain|Only 'terrain' points"
    ]
  },
  {
    "name": "v.lidar.edgedetection",
    "display_name": "v.lidar.edgedetection",
    "command": "v.lidar.edgedetection",
    "short_description": "Detects the object's edges from a LIDAR data set.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Input vector layer|0|None|False",
      "QgsProcessingParameterNumber|ew_step|Length of each spline step in the east-west direction|QgsProcessingParameterNumber.Double|4.0|True|0.0|None",
      "QgsProcessingParameterNumber|ns_step|Length of each spline step in the north-south direction|QgsProcessingParameterNumber.Double|4.0|True|0.0|None",
      "QgsProcessingParameterNumber|lambda_g|Regularization weight in gradient evaluation|QgsProcessingParameterNumber.Double|0.01|True|0.0|None",
      "QgsProcessingParameterNumber|tgh|High gradient threshold for edge classification|QgsProcessingParameterNumber.Double|6.0|True|0.0|None",
      "QgsProcessingParameterNumber|tgl|Low gradient threshold for edge classification|QgsProcessingParameterNumber.Double|3.0|True|0.0|None",
      "QgsProcessingParameterNumber|theta_g|Angle range for same direction detection|QgsProcessingParameterNumber.Double|0.26|True|0.0|360.0",
      "QgsProcessingParameterNumber|lambda_r|Regularization weight in residual evaluation|QgsProcessingParameterNumber.Double|2.0|True|0.0|None",
      "QgsProcessingParameterBoolean|-e|Estimate point density and distance|False",
      "QgsProcessingParameterVectorDestination|output|Edges"
    ]
  },
  {
    "name": "v.lidar.growing",
    "display_name": "v.lidar.growing",
    "command": "v.lidar.growing",
    "short_description": "Building contour determination and Region Growing algorithm for determining the building inside",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Input vector (v.lidar.edgedetection output)|-1|None|False",
      "QgsProcessingParameterFeatureSource|first|First pulse vector layer|-1|None|False",
      "QgsProcessingParameterNumber|tj|Threshold for cell object frequency in region growing|QgsProcessingParameterNumber.Double|0.2|True|None|None",
      "QgsProcessingParameterNumber|td|Threshold for double pulse in region growing|QgsProcessingParameterNumber.Double|0.6|True|None|None",
      "QgsProcessingParameterVectorDestination|output|Buildings"
    ]
  },
  {
    "name": "v.mkgrid",
    "display_name": "v.mkgrid",
    "command": "v.mkgrid",
    "short_description": "Creates a GRASS vector layer of a user-defined grid.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterString|grid|Number of rows and columns in grid|10,10",
      "QgsProcessingParameterEnum|position|Where to place the grid|coor|False|0|True",
      "QgsProcessingParameterPoint|coordinates|Lower left easting and northing coordinates of map|None|True",
      "QgsProcessingParameterString|box|Width and height of boxes in grid|",
      "QgsProcessingParameterNumber|angle|Angle of rotation (in degrees counter-clockwise)|QgsProcessingParameterNumber.Double|0.0|True|0.0|360.0",
      "QgsProcessingParameterNumber|breaks|Number of vertex points per grid cell|QgsProcessingParameterNumber.Integer|0|True|0|60",
      "QgsProcessingParameterEnum|type|Output feature type|point;line;area|False|2|True",
      "QgsProcessingParameterBoolean|-h|Create hexagons (default: rectangles)|False",
      "QgsProcessingParameterBoolean|-a|Allow asymmetric hexagons|False",
      "QgsProcessingParameterVectorDestination|map|Grid"
    ]
  },
  {
    "name": "v.neighbors",
    "display_name": "v.neighbors",
    "command": "v.neighbors",
    "short_description": "Makes each cell value a function of attribute values and stores in an output raster map.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Input vector layer|-1|None|False",
      "QgsProcessingParameterEnum|method|Method for aggregate statistics (count if non given)|count;sum;average;median;mode;minimum;maximum;range;stddev;variance;diversity|False|0|False",
      "QgsProcessingParameterField|points_column|Column name of points map to use for statistics|None|input|0|False|True",
      "QgsProcessingParameterNumber|size|Neighborhood diameter in map units|QgsProcessingParameterNumber.Double|0.1|False|0.0|None",
      "QgsProcessingParameterRasterDestination|output|Neighborhood"
    ]
  },
  {
    "name": "v.net.alloc",
    "display_name": "v.net.alloc",
    "command": "v.net.alloc",
    "short_description": "Allocates subnets for nearest centers",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": "v_net_alloc",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Input vector line layer (arcs)|1|None|False",
      "QgsProcessingParameterFeatureSource|points|Centers point layer (nodes)|0|None|False",
      "QgsProcessingParameterNumber|threshold|Threshold for connecting centers to the network (in map unit)|QgsProcessingParameterNumber.Double|50.0|False|0.0|None",
      "*QgsProcessingParameterString|center_cats|Category values|1-100000|False|False",
      "*QgsProcessingParameterEnum|arc_type|Arc type|line;boundary|True|0,1|False",
      "*QgsProcessingParameterEnum|method|Use costs from centers or costs to centers|from;to|False|0|True",
      "*QgsProcessingParameterField|arc_column|Arc forward/both direction(s) cost column (number)|None|input|0|False|True",
      "*QgsProcessingParameterField|arc_backward_column|Arc backward direction cost column (number)|None|input|0|False|True",
      "*QgsProcessingParameterField|node_column|Node cost column (number)|None|points|0|False|True",
      "*QgsProcessingParameterBoolean|-g|Use geodesic calculation for longitude-latitude locations|False|True",
      "QgsProcessingParameterVectorDestination|output|Network Alloction"
    ]
  },
  {
    "name": "v.net.allpairs",
    "display_name": "v.net.allpairs",
    "command": "v.net.allpairs",
    "short_description": "Computes the shortest path between all pairs of nodes in the network",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": "v_net_allpairs",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Input vector line layer (arcs)|1|None|False",
      "QgsProcessingParameterFeatureSource|points|Centers point layer (nodes)|0|None|False",
      "QgsProcessingParameterNumber|threshold|Threshold for connecting centers to the network (in map unit)|QgsProcessingParameterNumber.Double|50.0|False|0.0|None",
      "*QgsProcessingParameterString|cats|Category values|1-10000|False|True",
      "*QgsProcessingParameterString|where|WHERE condition of SQL statement without 'where' keyword'|None|True|True",
      "*QgsProcessingParameterField|arc_column|Arc forward/both direction(s) cost column (number)|None|input|0|False|True",
      "*QgsProcessingParameterField|arc_backward_column|Arc backward direction cost column (number)|None|input|0|False|True",
      "*QgsProcessingParameterField|node_column|Node cost column (number)|None|points|0|False|True",
      "*QgsProcessingParameterBoolean|-g|Use geodesic calculation for longitude-latitude locations|False|True",
      "QgsProcessingParameterVectorDestination|output|Network_Allpairs"
    ]
  },
  {
    "name": "v.net.bridge",
    "display_name": "v.net.bridge",
    "command": "v.net.bridge",
    "short_description": "Computes bridges and articulation points in the network.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": "v_net_bridge",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Input vector line layer (network)|1|None|False",
      "QgsProcessingParameterFeatureSource|points|Centers point layer (nodes)|0|None|True",
      "QgsProcessingParameterEnum|method|Feature type|bridge;articulation|False|0|False",
      "QgsProcessingParameterNumber|threshold|Threshold for connecting centers to the network (in map unit)|QgsProcessingParameterNumber.Double|50.0|True|0.0|None",
      "*QgsProcessingParameterField|arc_column|Arc forward/both direction(s) cost column (name)|None|input|0|False|True",
      "*QgsProcessingParameterField|arc_backward_column|Arc backward direction cost column (name)|None|input|0|False|True",
      "*QgsProcessingParameterField|node_column|Node cost column (number)|None|points|0|False|True",
      "QgsProcessingParameterVectorDestination|output|Bridge"
    ]
  },
  {
    "name": "v.net.centrality",
    "display_name": "v.net.centrality",
    "command": "v.net.centrality",
    "short_description": "Computes degree, centrality, betweenness, closeness and eigenvector centrality measures in the network.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": "v_net_centrality",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Input vector line layer (network)|1|None|False",
      "QgsProcessingParameterString|degree|Name of output degree centrality column|degree|False|True",
      "QgsProcessingParameterString|closeness|Name of output closeness centrality column|closeness|False|True",
      "QgsProcessingParameterString|betweenness|Name of output betweenness centrality column|betweenness|False|True",
      "QgsProcessingParameterString|eigenvector|Name of output eigenvector centrality column|eigenvector|False|True",
      "*QgsProcessingParameterNumber|iterations|Maximum number of iterations to compute eigenvector centrality|QgsProcessingParameterNumber.Integer|1000|True|1|None",
      "*QgsProcessingParameterNumber|error|Cumulative error tolerance for eigenvector centrality|QgsProcessingParameterNumber.Double|0.1|True|0.0|None",
      "*QgsProcessingParameterString|cats|Category values|None|False|True",
      "*QgsProcessingParameterString|where|WHERE conditions of SQL statement without 'where' keyword|None|True|True",
      "*QgsProcessingParameterField|arc_column|Arc forward/both direction(s) cost column (number)|None|input|0|False|True",
      "*QgsProcessingParameterField|arc_backward_column|Arc backward direction cost column (number)|None|input|0|False|True",
      "*QgsProcessingParameterField|node_column|Node cost column (number)|None|input|0|False|True",
      "*QgsProcessingParameterBoolean|-a|Add points on nodes|True|True",
      "*QgsProcessingParameterBoolean|-g|Use geodesic calculation for longitude-latitude locations|False|True",
      "QgsProcessingParameterVectorDestination|output|Network Centrality"
    ]
  },
  {
    "name": "v.net.components",
    "display_name": "v.net.components",
    "command": "v.net.components",
    "short_description": "Computes strongly and weakly connected components in the network.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": "v_net_components",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Input vector line layer (network)|1|None|False",
      "QgsProcessingParameterFeatureSource|points|Centers point layer (nodes)|0|None|True",
      "QgsProcessingParameterNumber|threshold|Threshold for connecting centers to the network (in map unit)|QgsProcessingParameterNumber.Double|50.0|True|0.0|None",
      "QgsProcessingParameterEnum|method|Type of components|weak;strong|False|0|False",
      "*QgsProcessingParameterField|arc_column|Arc forward/both direction(s) cost column (number)|None|input|0|False|True",
      "*QgsProcessingParameterField|arc_backward_column|Arc backward direction cost column (number)|None|input|0|False|True",
      "*QgsProcessingParameterField|node_column|Node cost column (number)|None|points|0|False|True",
      "*QgsProcessingParameterBoolean|-a|Add points on nodes|True|True",
      "QgsProcessingParameterVectorDestination|output|Network_Components_Line",
      "QgsProcessingParameterVectorDestination|output_point|Network_Components_Point"
    ]
  },
  {
    "name": "v.net.connectivity",
    "display_name": "v.net.connectivity",
    "command": "v.net.connectivity",
    "short_description": "Computes vertex connectivity between two sets of nodes in the network.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": "v_net_connectivity",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Input vector line layer (network)|1|None|False",
      "QgsProcessingParameterFeatureSource|points|Input vector point layer (first set of nodes)|0|None|False",
      "QgsProcessingParameterNumber|threshold|Threshold for connecting centers to the network (in map unit)|QgsProcessingParameterNumber.Double|50.0|False|0.0|None",
      "QgsProcessingParameterString|set1_cats|Set1 Category values|None|False|True",
      "QgsProcessingParameterString|set1_where|Set1 WHERE conditions of SQL statement without 'where' keyword|None|True|True",
      "QgsProcessingParameterString|set2_cats|Set2 Category values|None|False|True",
      "QgsProcessingParameterString|set2_where|Set2 WHERE conditions of SQL statement without 'where' keyword|None|True|True",
      "*QgsProcessingParameterField|arc_column|Arc forward/both direction(s) cost column (number)|None|input|0|False|True",
      "*QgsProcessingParameterField|arc_backward_column|Arc backward direction cost column (number)|None|input|0|False|True",
      "*QgsProcessingParameterField|node_column|Node cost column (number)|None|points|0|False|True",
      "QgsProcessingParameterVectorDestination|output|Network_Connectivity"
    ]
  },
  {
    "name": "v.net.distance",
    "display_name": "v.net.distance",
    "command": "v.net.distance",
    "short_description": "Computes shortest distance via the network between the given sets of features.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": "v_net_distance",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Input vector line layer (network)|1|None|False",
      "QgsProcessingParameterFeatureSource|flayer|Input vector from points layer (from)|0|None|False",
      "QgsProcessingParameterFeatureSource|tlayer|Input vector to layer (to)|-1|None|False",
      "QgsProcessingParameterNumber|threshold|Threshold for connecting nodes to the network (in map unit)|QgsProcessingParameterNumber.Double|50.0|False|0.0|None",
      "*QgsProcessingParameterEnum|arc_type|Arc type|line;boundary|True|0,1|True",
      "*QgsProcessingParameterString|from_cats|From Category values|None|False|True",
      "*QgsProcessingParameterString|from_where|From WHERE conditions of SQL statement without 'where' keyword|None|True|True",
      "*QgsProcessingParameterEnum|to_type|To feature type|point;line;boundary|True|0|True",
      "*QgsProcessingParameterString|to_cats|To Category values|None|False|True",
      "*QgsProcessingParameterString|to_where|To WHERE conditions of SQL statement without 'where' keyword|None|True|True",
      "*QgsProcessingParameterField|arc_column|Arc forward/both direction(s) cost column (number)|None|input|0|False|True",
      "*QgsProcessingParameterField|arc_backward_column|Arc backward direction cost column (number)|None|input|0|False|True",
      "*QgsProcessingParameterField|node_column|Node cost column (number)|None|flayer|0|False|True",
      "*QgsProcessingParameterBoolean|-g|Use geodesic calculation for longitude-latitude locations|False|True",
      "*QgsProcessingParameterBoolean|-l|Write each output path as one line, not as original input segments|False|True",
      "QgsProcessingParameterVectorDestination|output|Network_Distance"
    ]
  },
  {
    "name": "v.net.flow",
    "display_name": "v.net.flow",
    "command": "v.net.flow",
    "short_description": "Computes the maximum flow between two sets of nodes in the network.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": "v_net_flow",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Input vector line layer (network)|1|None|False",
      "QgsProcessingParameterFeatureSource|points|Input vector point layer (flow nodes)|0|None|False",
      "QgsProcessingParameterNumber|threshold|Threshold for connecting centers to the network (in map unit)|QgsProcessingParameterNumber.Double|50|False|0.0|None",
      "QgsProcessingParameterString|source_cats|Source Category values|None|False|True",
      "QgsProcessingParameterString|source_where|Source WHERE conditions of SQL statement without 'where' keyword|None|True|True",
      "QgsProcessingParameterString|sink_cats|Sink Category values|None|False|True",
      "QgsProcessingParameterString|sink_where|Sink WHERE conditions of SQL statement without 'where' keyword|None|True|True",
      "*QgsProcessingParameterField|arc_column|Arc forward/both direction(s) cost column (number)|None|input|0|False|True",
      "*QgsProcessingParameterField|arc_backward_column|Arc backward direction cost column (number)|None|input|0|False|True",
      "*QgsProcessingParameterField|node_column|Node cost column (number)|None|points|0|False|True",
      "QgsProcessingParameterVectorDestination|output|Network_Flow",
      "QgsProcessingParameterVectorDestination|cut|Network_Cut"
    ]
  },
  {
    "name": "v.net.iso",
    "display_name": "v.net.iso",
    "command": "v.net.iso",
    "short_description": "Splits network by cost isolines.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": "v_net_iso",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Input vector line layer (arcs)|1|None|False",
      "QgsProcessingParameterFeatureSource|points|Centers point layer (nodes)|0|None|False",
      "QgsProcessingParameterNumber|threshold|Threshold for connecting centers to the network (in map unit)|QgsProcessingParameterNumber.Double|50.0|False|0.0|None",
      "*QgsProcessingParameterEnum|arc_type|Arc type|line;boundary|True|0,1|False",
      "*QgsProcessingParameterString|center_cats|Category values|1-100000|False|False",
      "QgsProcessingParameterString|costs|Costs for isolines|1000,2000,3000|False|False",
      "*QgsProcessingParameterField|arc_column|Arc forward/both direction(s) cost column (number)|None|input|0|False|True",
      "*QgsProcessingParameterField|arc_backward_column|Arc backward direction cost column (number)|None|input|0|False|True",
      "*QgsProcessingParameterField|node_column|Node cost column (number)|None|points|0|False|True",
      "*QgsProcessingParameterBoolean|-g|Use geodesic calculation for longitude-latitude locations|False|True",
      "QgsProcessingParameterVectorDestination|output|Network_Iso"
    ]
  },
  {
    "name": "v.net.nreport",
    "display_name": "v.net.nreport",
    "command": "v.net",
    "short_description": "v.net.nreport - Reports nodes information of a network",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [
      "operation=nreport"
    ],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Input vector line layer (arcs)|1|None|False",
      "Hardcoded|operation=nreport",
      "QgsProcessingParameterFileDestination|output|NReport|Html files (*.html)|None|False"
    ]
  },
  {
    "name": "v.net.path",
    "display_name": "v.net.path",
    "command": "v.net.path",
    "short_description": "Finds shortest path on vector network",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": "v_net_path",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Input vector line layer (arcs)|1|None|False",
      "QgsProcessingParameterFeatureSource|points|Centers point layer (nodes)|0|None|False",
      "QgsProcessingParameterFile|file|Name of file containing start and end points|QgsProcessingParameterFile.File|txt|None|False",
      "QgsProcessingParameterNumber|threshold|Threshold for connecting centers to the network (in map unit)|QgsProcessingParameterNumber.Double|50.0|False|0.0|None",
      "*QgsProcessingParameterEnum|arc_type|Arc type|line;boundary|True|0,1|False",
      "*QgsProcessingParameterField|arc_column|Arc forward/both direction(s) cost column (number)|None|input|0|False|True",
      "*QgsProcessingParameterField|arc_backward_column|Arc backward direction cost column (number)|None|input|0|False|True",
      "*QgsProcessingParameterField|node_column|Node cost column (number)|None|points|0|False|True",
      "*QgsProcessingParameterNumber|dmax|Maximum distance to the network|QgsProcessingParameterNumber.Double|1000.0|True|0.0|None",
      "*QgsProcessingParameterBoolean|-g|Use geodesic calculation for longitude-latitude locations|False|True",
      "*QgsProcessingParameterBoolean|-s|Write output as original input segments, not each path as one line|False|True",
      "QgsProcessingParameterVectorDestination|output|Network_Path"
    ]
  },
  {
    "name": "v.net.report",
    "display_name": "v.net.report",
    "command": "v.net",
    "short_description": "v.net.report - Reports lines information of a network",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [
      "operation=report"
    ],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Input vector line layer (arcs)|1|None|False",
      "Hardcoded|operation=report",
      "QgsProcessingParameterFileDestination|html|Report|Html files (*.html)|None|False"
    ]
  },
  {
    "name": "v.net.salesman",
    "display_name": "v.net.salesman",
    "command": "v.net.salesman",
    "short_description": "Creates a cycle connecting given nodes (Traveling salesman problem)",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": "v_net_salesman",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Input vector line layer (arcs)|1|None|False",
      "QgsProcessingParameterFeatureSource|points|Centers point layer (nodes)|0|None|False",
      "QgsProcessingParameterNumber|threshold|Threshold for connecting centers to the network (in map unit)|QgsProcessingParameterNumber.Double|50.0|False|0.0|None",
      "*QgsProcessingParameterEnum|arc_type|Arc type|line;boundary|True|0,1|False",
      "*QgsProcessingParameterString|center_cats|Category values|1-100000|False|False",
      "*QgsProcessingParameterField|arc_column|Arc forward/both direction(s) cost column (number)|None|input|0|False|True",
      "*QgsProcessingParameterField|arc_backward_column|Arc backward direction cost column (number)|None|input|0|False|True",
      "*QgsProcessingParameterBoolean|-g|Use geodesic calculation for longitude-latitude locations|False|True",
      "QgsProcessingParameterVectorDestination|output|Network_Salesman",
      "QgsProcessingParameterFileDestination|sequence|Output file holding node sequence|CSV files (*.csv)|None|True"
    ]
  },
  {
    "name": "v.net.spanningtree",
    "display_name": "v.net.spanningtree",
    "command": "v.net.spanningtree",
    "short_description": "Computes minimum spanning tree for the network.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": "v_net_spanningtree",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Input vector line layer (arcs)|1|None|False",
      "QgsProcessingParameterFeatureSource|points|Input point layer (nodes)|0|None|True",
      "QgsProcessingParameterNumber|threshold|Threshold for connecting centers to the network (in map unit)|QgsProcessingParameterNumber.Double|50.0|True|0.0|None",
      "*QgsProcessingParameterField|arc_column|Arc forward/both direction(s) cost column (number)|None|input|0|False|True",
      "*QgsProcessingParameterField|node_column|Node cost column (number)|None|points|0|False|True",
      "*QgsProcessingParameterBoolean|-g|Use geodesic calculation for longitude-latitude locations|False|True",
      "QgsProcessingParameterVectorDestination|output|SpanningTree"
    ]
  },
  {
    "name": "v.net.steiner",
    "display_name": "v.net.steiner",
    "command": "v.net.steiner",
    "short_description": "Creates Steiner tree for the network and given terminals",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": "v_net_steiner",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Input vector line layer (arcs)|1|None|False",
      "QgsProcessingParameterFeatureSource|points|Centers point layer (nodes)|0|None|False",
      "QgsProcessingParameterNumber|threshold|Threshold for connecting centers to the network (in map unit)|QgsProcessingParameterNumber.Double|50.0|False|0.0|None",
      "*QgsProcessingParameterEnum|arc_type|Arc type|line;boundary|True|0,1|True",
      "*QgsProcessingParameterString|terminal_cats|Category values|1-100000|False|False",
      "*QgsProcessingParameterField|acolumn|Arc forward/both direction(s) cost column (number)|None|input|0|False|True",
      "*QgsProcessingParameterNumber|npoints|Number of Steiner points|QgsProcessingParameterNumber.Integer|-1|True|-1|None",
      "*QgsProcessingParameterBoolean|-g|Use geodesic calculation for longitude-latitude locations|False|True",
      "QgsProcessingParameterVectorDestination|output|Network Steiner"
    ]
  },
  {
    "name": "v.net.timetable",
    "display_name": "v.net.timetable",
    "command": "v.net.timetable",
    "short_description": "Finds shortest path using timetables.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Input vector line layer (arcs)|1|None|False",
      "QgsProcessingParameterFeatureSource|points|Centers point layer (nodes)|0|None|False",
      "QgsProcessingParameterFeatureSource|walk_layer|Layer number or name with walking connections|-1|None|True",
      "QgsProcessingParameterNumber|threshold|Threshold for connecting centers to the network (in map unit)|QgsProcessingParameterNumber.Double|50.0|False|0.0|None",
      "*QgsProcessingParameterField|arc_column|Arc forward/both direction(s) cost column (number)|None|input|0|False|True",
      "*QgsProcessingParameterField|arc_backward_column|Arc backward direction cost column (number)|None|input|0|False|True",
      "*QgsProcessingParameterField|node_column|Node cost column (number)|None|input|0|False|True",
      "*QgsProcessingParameterField|route_id|Name of column with route ids|None|input|0|False|True",
      "*QgsProcessingParameterField|stop_time|Name of column with stop timestamps|None|walk_layer|-1|False|True",
      "*QgsProcessingParameterField|to_stop|Name of column with stop ids|None|walk_layer|-1|False|True",
      "*QgsProcessingParameterField|walk_length|Name of column with walk lengths|None|walk_layer|-1|False|True",
      "QgsProcessingParameterVectorDestination|output|Network Timetable"
    ]
  },
  {
    "name": "v.net",
    "display_name": "v.net",
    "command": "v.net",
    "short_description": "Performs network maintenance",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": "v_net",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Input vector line layer (arcs)|1|None|True",
      "QgsProcessingParameterFeatureSource|points|Input vector point layer (nodes)|0|None|True",
      "QgsProcessingParameterFile|file|Name of input arcs file|QgsProcessingParameterFile.File|txt|None|True",
      "QgsProcessingParameterEnum|operation|Operation to be performed|nodes;connect;arcs|False|0|False",
      "QgsProcessingParameterNumber|threshold|Threshold for connecting centers to the network (in map unit)|QgsProcessingParameterNumber.Double|50.0|False|0.0|None",
      "QgsProcessingParameterEnum|arc_type|Arc type|line;boundary|True|0,1|True",
      "*QgsProcessingParameterBoolean|-s|Snap points to network|False",
      "*QgsProcessingParameterBoolean|-c|Assign unique categories to new points|False",
      "QgsProcessingParameterVectorDestination|output|Network|QgsProcessing.TypeVectorAnyGeometry|None|False"
    ]
  },
  {
    "name": "v.net.visibility",
    "display_name": "v.net.visibility",
    "command": "v.net.visibility",
    "short_description": "Performs visibility graph construction.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": "v_net_visibility",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Input vector line layer (arcs)|-1|None|False",
      "QgsProcessingParameterString|coordinates|Coordinates|None|False|True",
      "QgsProcessingParameterFeatureSource|visibility|Input vector line layer containing visible points|1|None|True",
      "QgsProcessingParameterVectorDestination|output|Network Visibility"
    ]
  },
  {
    "name": "v.normal",
    "display_name": "v.normal",
    "command": "v.normal",
    "short_description": "Tests for normality for points.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|map|point vector defining sample points|-1|None|False",
      "QgsProcessingParameterString|tests|Lists of tests (1-15): e.g. 1,3-8,13|1-3|False|False",
      "QgsProcessingParameterField|column|Attribute column|None|map|-1|False|False",
      "QgsProcessingParameterBoolean|-r|Use only points in current region|True",
      "QgsProcessingParameterBoolean|-l|lognormal|False",
      "QgsProcessingParameterFileDestination|html|Normality|Html files (*.html)|report.html|False"
    ]
  },
  {
    "name": "v.out.ascii",
    "display_name": "v.out.ascii",
    "command": "v.out.ascii",
    "short_description": "Exports a vector map to a GRASS ASCII vector representation.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Name of input vector map|-1|None|False",
      "QgsProcessingParameterEnum|type|Input feature type|point;line;boundary;centroid;area;face;kernel|True|0,1,2,3,4,5,6|True",
      "QgsProcessingParameterField|columns|Name of attribute column(s) to be exported|None|input|-1|True|True",
      "QgsProcessingParameterString|where|WHERE conditions of SQL statement without 'where' keyword|None|True|True",
      "QgsProcessingParameterEnum|format|Output format|point;standard;wkt|False|0|False",
      "QgsProcessingParameterEnum|separator|Field separator|pipe;comma;space;tab;newline|False|0|False",
      "QgsProcessingParameterNumber|precision|Number of significant digits (floating point only)|QgsProcessingParameterNumber.Integer|8|True|0|32",
      "*QgsProcessingParameterBoolean|-o|Create old (version 4) ASCII file|False",
      "*QgsProcessingParameterBoolean|-c|Include column names in output (points mode)|False",
      "QgsProcessingParameterFileDestination|output|Name for output ASCII file or ASCII vector name if '-o' is defined|Txt files (*.txt)|None|False"
    ]
  },
  {
    "name": "v.out.dxf",
    "display_name": "v.out.dxf",
    "command": "v.out.dxf",
    "short_description": "Exports GRASS vector map layers to DXF file format.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Name of input vector map|-1|None|False",
      "QgsProcessingParameterFileDestination|output|DXF vector|Dxf files (*.dxf)|None|False"
    ]
  },
  {
    "name": "v.out.postgis",
    "display_name": "v.out.postgis",
    "command": "v.out.postgis",
    "short_description": "Exports a vector map layer to PostGIS feature table.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Name of input vector map|-1|None|False",
      "QgsProcessingParameterEnum|type|Input feature type|point;line;boundary;centroid;area;face;kernel;auto|True|7|True",
      "QgsProcessingParameterString|output|Name for output PostGIS datasource|PG:dbname=grass|False|False",
      "QgsProcessingParameterString|output_layer|Name for output PostGIS layer|None|False|True",
      "QgsProcessingParameterString|options|Creation options|None|True|True",
      "*QgsProcessingParameterBoolean|-t|Do not export attribute table|False",
      "*QgsProcessingParameterBoolean|-l|Export PostGIS topology instead of simple features|False",
      "*QgsProcessingParameterBoolean|-2|Force 2D output even if input is 3D|False"
    ]
  },
  {
    "name": "v.out.pov",
    "display_name": "v.out.pov",
    "command": "v.out.pov",
    "short_description": "Converts to POV-Ray format, GRASS x,y,z -> POV-Ray x,z,y",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Name of input vector map|-1|None|False",
      "QgsProcessingParameterEnum|type|Input feature type|point;line;boundary;centroid;area;face;kernel|True|0,1,4,5|True",
      "QgsProcessingParameterNumber|size|Radius of sphere for points and tube for lines|QgsProcessingParameterNumber.Double|10.0|False|0.0|None",
      "QgsProcessingParameterString|zmod|Modifier for z coordinates, this string is appended to each z coordinate|None|False|True",
      "QgsProcessingParameterString|objmod|Object modifier (OBJECT_MODIFIER in POV-Ray documentation)|None|False|True",
      "QgsProcessingParameterFileDestination|output|POV vector|Pov files (*.pov)|None|False"
    ]
  },
  {
    "name": "v.out.svg",
    "display_name": "v.out.svg",
    "command": "v.out.svg",
    "short_description": "Exports a vector map to SVG file.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Name of input vector map|-1|None|False",
      "QgsProcessingParameterEnum|type|Output type|poly;line;point|False|0|False",
      "QgsProcessingParameterNumber|precision|Coordinate precision|QgsProcessingParameterNumber.Integer|6|True|0|None",
      "QgsProcessingParameterField|attribute|Attribute(s) to include in output SVG|None|input|-1|True|True",
      "QgsProcessingParameterFileDestination|output|SVG File|SVG files (*.svg)|None|False"
    ]
  },
  {
    "name": "v.out.vtk",
    "display_name": "v.out.vtk",
    "command": "v.out.vtk",
    "short_description": "Converts a vector map to VTK ASCII output.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Name of input vector map|-1|None|False",
      "QgsProcessingParameterEnum|type|Input feature type|point;kernel;centroid;line;boundary;area;face|True|0,1,2,3,4,5,6|True",
      "QgsProcessingParameterNumber|precision|Number of significant digits (floating point only)|QgsProcessingParameterNumber.Integer|2|True|0|None",
      "QgsProcessingParameterNumber|zscale|Scale factor for elevation|QgsProcessingParameterNumber.Double|1.0|True|0.0|None",
      "*QgsProcessingParameterBoolean|-c|Correct the coordinates to fit the VTK-OpenGL precision|False",
      "*QgsProcessingParameterBoolean|-n|Export numeric attribute table fields as VTK scalar variables|False",
      "QgsProcessingParameterFileDestination|output|VTK File|Vtk files (*.vtk)|None|False"
    ]
  },
  {
    "name": "v.outlier",
    "display_name": "v.outlier",
    "command": "v.outlier",
    "short_description": "Removes outliers from vector point data.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Input vector layer|-1|None|False",
      "QgsProcessingParameterNumber|ew_step|Interpolation spline step value in east direction|QgsProcessingParameterNumber.Double|10.0|True|None|None",
      "QgsProcessingParameterNumber|ns_step|Interpolation spline step value in north direction|QgsProcessingParameterNumber.Double|10.0|True|None|None",
      "QgsProcessingParameterNumber|lambda|Tykhonov regularization weight|QgsProcessingParameterNumber.Double|0.1|True|None|None",
      "QgsProcessingParameterNumber|threshold|Threshold for the outliers|QgsProcessingParameterNumber.Double|50.0|True|None|None",
      "QgsProcessingParameterEnum|filter|Filtering option|both;positive;negative|False|0|True",
      "QgsProcessingParameterBoolean|-e|Estimate point density and distance|False",
      "QgsProcessingParameterVectorDestination|output|Layer without outliers",
      "QgsProcessingParameterVectorDestination|outlier|Outliers"
    ]
  },
  {
    "name": "v.overlay",
    "display_name": "v.overlay",
    "command": "v.overlay",
    "short_description": "Overlays two vector maps.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|ainput|Input layer (A)|-1|None|False",
      "QgsProcessingParameterEnum|atype|Input layer (A) Type|area;line;auto|False|0|True",
      "QgsProcessingParameterFeatureSource|binput|Input layer (B)|2|None|False",
      "QgsProcessingParameterEnum|btype|Input layer (B) Type|area|False|0|True",
      "QgsProcessingParameterEnum|operator|Operator to use|and;or;not;xor|False|0|False",
      "QgsProcessingParameterNumber|snap|Snapping threshold for boundaries|QgsProcessingParameterNumber.Double|0.00000001|True|-1|None",
      "QgsProcessingParameterBoolean|-t|Do not create attribute table|False",
      "QgsProcessingParameterVectorDestination|output|Overlay"
    ]
  },
  {
    "name": "v.pack",
    "display_name": "v.pack",
    "command": "v.pack",
    "short_description": "Exports a vector map as GRASS GIS specific archive file.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Name of input vector map to pack|-1|None|False",
      "*QgsProcessingParameterBoolean|-c|Switch the compression off|False",
      "QgsProcessingParameterFileDestination|output|Packed archive|Pack files (*.pack)|output.pack|False"
    ]
  },
  {
    "name": "v.parallel",
    "display_name": "v.parallel",
    "command": "v.parallel",
    "short_description": "Creates parallel line to input vector lines.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Input lines|1|None|False",
      "QgsProcessingParameterNumber|distance|Offset along major axis in map units|QgsProcessingParameterNumber.Double|1.0|False|0.0|100000000.0",
      "QgsProcessingParameterNumber|minordistance|Offset along minor axis in map units|QgsProcessingParameterNumber.Double|None|True|0.0|100000000.0",
      "QgsProcessingParameterNumber|angle|Angle of major axis in degrees|QgsProcessingParameterNumber.Double|0.0|True|0.0|360.0",
      "QgsProcessingParameterEnum|side|Side|left;right;both|False|0|False",
      "QgsProcessingParameterNumber|tolerance|Tolerance of arc polylines in map units|QgsProcessingParameterNumber.Double|None|True|0.0|100000000.0",
      "QgsProcessingParameterBoolean|-r|Make outside corners round|False",
      "QgsProcessingParameterBoolean|-b|Create buffer-like parallel lines|False",
      "QgsProcessingParameterVectorDestination|output|Parallel lines"
    ]
  },
  {
    "name": "v.patch",
    "display_name": "v.patch",
    "command": "v.patch",
    "short_description": "Create a new vector map layer by combining other vector map layers.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterMultipleLayers|input|Input layers|-1|None|False",
      "QgsProcessingParameterBoolean|-e|Copy also attribute table|True",
      "QgsProcessingParameterVectorDestination|output|Combined",
      "QgsProcessingParameterVectorDestination|bbox|Bounding boxes"
    ]
  },
  {
    "name": "v.perturb",
    "display_name": "v.perturb",
    "command": "v.perturb",
    "short_description": "Random location perturbations of GRASS vector points",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Vector points to be spatially perturbed|-1|None|False",
      "QgsProcessingParameterEnum|distribution|Distribution of perturbation|uniform;normal|False|0|True",
      "QgsProcessingParameterString|parameters|Parameter(s) of distribution (uniform: maximum; normal: mean and stddev)|None|False|True",
      "QgsProcessingParameterNumber|minimum|Minimum deviation in map units|QgsProcessingParameterNumber.Double|0.0|True|None|None",
      "QgsProcessingParameterNumber|seed|Seed for random number generation|QgsProcessingParameterNumber.Integer|0|True|None|None",
      "QgsProcessingParameterVectorDestination|output|Perturbed"
    ]
  },
  {
    "name": "v.proj",
    "display_name": "v.proj",
    "command": "v.proj",
    "short_description": "Re-projects a vector layer to another coordinate reference system",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": "v_proj",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Input vector to reproject|-1|None|False",
      "QgsProcessingParameterCrs|crs|New coordinate reference system|None|False",
      "QgsProcessingParameterNumber|smax|Maximum segment length in meters in output vector map|QgsProcessingParameterNumber.Double|10000.0|True|0.0|None",
      "*QgsProcessingParameterBoolean|-z|Assume z coordinate is ellipsoidal height and transform if possible|False|True",
      "*QgsProcessingParameterBoolean|-w|Disable wrapping to -180,180 for latlon output|False|True",
      "QgsProcessingParameterVectorDestination|output|Output vector map"
    ]
  },
  {
    "name": "v.qcount",
    "display_name": "v.qcount",
    "command": "v.qcount",
    "short_description": "Indices for quadrat counts of vector point lists.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Vector points layer|0|None|False",
      "QgsProcessingParameterNumber|nquadrats|Number of quadrats|QgsProcessingParameterNumber.Integer|4|False|0|None",
      "QgsProcessingParameterNumber|radius|Quadrat radius|QgsProcessingParameterNumber.Double|10.0|False|0.0|None",
      "QgsProcessingParameterVectorDestination|output|Quadrats"
    ]
  },
  {
    "name": "v.random",
    "display_name": "v.random",
    "command": "v.random",
    "short_description": "Randomly generate a 2D/3D vector points map.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterNumber|npoints|Number of points to be created|QgsProcessingParameterNumber.Double|100|False|0|None",
      "QgsProcessingParameterFeatureSource|restrict|Restrict points to areas in input vector|-1|None|True",
      "QgsProcessingParameterString|where|WHERE conditions of SQL statement without 'where' keyword|None|True|True",
      "QgsProcessingParameterNumber|zmin|Minimum z height for 3D output|QgsProcessingParameterNumber.Double|0.0|True|None|None",
      "QgsProcessingParameterNumber|zmax|Maximum z height for 3D output|QgsProcessingParameterNumber.Double|0.0|True|None|None",
      "QgsProcessingParameterNumber|seed|Seed for random number generation|QgsProcessingParameterNumber.Integer|None|True|None|None",
      "QgsProcessingParameterString|column|Column for Z values|z|False|True",
      "QgsProcessingParameterEnum|column_type|Type of column for z values|integer;double precision|False|0|True",
      "QgsProcessingParameterBoolean|-z|Create 3D output|False|True",
      "QgsProcessingParameterBoolean|-a|Generate n points for each individual area|False|True",
      "QgsProcessingParameterVectorDestination|output|Random"
    ]
  },
  {
    "name": "v.rast.stats",
    "display_name": "v.rast.stats",
    "command": "v.rast.stats",
    "short_description": "Calculates univariate statistics from a raster map based on vector polygons and uploads statistics to new attribute columns.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": "v_rast_stats",
    "hardcoded_strings": [
      "-c"
    ],
    "parameters": [
      "QgsProcessingParameterFeatureSource|map|Name of vector polygon map|-1|None|False",
      "QgsProcessingParameterRasterLayer|raster|Name of raster map to calculate statistics from|None|False",
      "QgsProcessingParameterString|column_prefix|Column prefix for new attribute columns|None|False|False",
      "QgsProcessingParameterEnum|method|The methods to use|number;minimum;maximum;range;average;stddev;variance;coeff_var;sum;first_quartile;median;third_quartile;percentile|True|0,1,2,3,4,5,6,7,8,9,10,11,12|True",
      "QgsProcessingParameterNumber|percentile|Percentile to calculate|QgsProcessingParameterNumber.Integer|90|True|0|100",
      "Hardcoded|-c",
      "QgsProcessingParameterVectorDestination|output|Rast stats"
    ]
  },
  {
    "name": "v.reclass",
    "display_name": "v.reclass",
    "command": "v.reclass",
    "short_description": "Changes vector category values for an existing vector map according to results of SQL queries or a value in attribute table column.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": "v_reclass",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Input layer|-1|None|False",
      "QgsProcessingParameterEnum|type|Input feature type|point;line;boundary;centroid|True|0,1,2,3|True",
      "QgsProcessingParameterField|column|The name of the column whose values are to be used as new categories|None|input|-1|False|True",
      "QgsProcessingParameterFile|rules|Reclass rule file|QgsProcessingParameterFile.File|txt|None|True",
      "QgsProcessingParameterVectorDestination|output|Reclassified"
    ]
  },
  {
    "name": "v.rectify",
    "display_name": "v.rectify",
    "command": "v.rectify",
    "short_description": "Rectifies a vector by computing a coordinate transformation for each object in the vector based on the control points.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": "v_rectify",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Name of input vector map|-1|None|False",
      "QgsProcessingParameterString|inline_points|Inline control points|None|True|True",
      "QgsProcessingParameterFile|points|Name of input file with control points|QgsProcessingParameterFile.File|txt|None|True",
      "QgsProcessingParameterNumber|order|Rectification polynomial order|QgsProcessingParameterNumber.Integer|1|True|1|3",
      "QgsProcessingParameterString|separator|Field separator for RMS report|pipe|False|True",
      "*QgsProcessingParameterBoolean|-3|Perform 3D transformation|False",
      "*QgsProcessingParameterBoolean|-o|Perform orthogonal 3D transformation|False",
      "*QgsProcessingParameterBoolean|-b|Do not build topology|False",
      "QgsProcessingParameterVectorDestination|output|Rectified",
      "QgsProcessingParameterFileDestination|rmsfile|Root Mean Square errors file|Txt files (*.txt)|None|False"
    ]
  },
  {
    "name": "v.report",
    "display_name": "v.report",
    "command": "v.report",
    "short_description": "Reports geometry statistics for vectors.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|map|Input layer|-1|None|False",
      "QgsProcessingParameterEnum|option|Value to calculate|area;length;coor|False|0|False",
      "QgsProcessingParameterEnum|units|units|miles;feet;meters;kilometers;acres;hectares;percent|False|2|True",
      "QgsProcessingParameterEnum|sort|Sort the result (ascending, descending)|asc;desc|False|0|True",
      "QgsProcessingParameterFileDestination|html|Report|Html files (*.html)|report.html|False"
    ]
  },
  {
    "name": "v.sample",
    "display_name": "v.sample",
    "command": "v.sample",
    "short_description": "Samples a raster layer at vector point locations.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": "v_sample",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Vector layer defining sample points|0|None|False",
      "QgsProcessingParameterField|column|Vector layer attribute column to use for comparison|None|input|-1|False|False",
      "QgsProcessingParameterRasterLayer|raster|Raster map to be sampled|None|False",
      "QgsProcessingParameterNumber|zscale|Sampled raster values will be multiplied by this factor|QgsProcessingParameterNumber.Double|1.0|True|None|None",
      "QgsProcessingParameterEnum|method|Sampling interpolation method|nearest;bilinear;bicubic|False|0|True",
      "QgsProcessingParameterVectorDestination|output|Sampled|QgsProcessing.TypeVectorPoint|None|True"
    ]
  },
  {
    "name": "v.segment",
    "display_name": "v.segment",
    "command": "v.segment",
    "short_description": "Creates points/segments from input vector lines and positions.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Input lines layer|1|None|False",
      "QgsProcessingParameterFile|rules|File containing segment rules|QgsProcessingParameterFile.File|txt|None|False",
      "QgsProcessingParameterVectorDestination|output|Segments"
    ]
  },
  {
    "name": "v.select",
    "display_name": "v.select",
    "command": "v.select",
    "short_description": "Selects features from vector map (A) by features from other vector map (B).",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|ainput|Input layer (A)|-1|None|False",
      "QgsProcessingParameterEnum|atype|Input layer (A) Type|point;line;boundary;centroid;area|True|0,1,4|True",
      "QgsProcessingParameterFeatureSource|binput|Input layer (B)|-1|None|False",
      "QgsProcessingParameterEnum|btype|Input layer (B) Type|point;line;boundary;centroid;area|True|0,1,4|True",
      "QgsProcessingParameterEnum|operator|Operator to use|overlap;equals;disjoint;intersect;touches;crosses;within;contains;overlaps;relate|False|0|False",
      "QgsProcessingParameterString|relate|Intersection Matrix Pattern used for 'relate' operator|None|False|True",
      "QgsProcessingParameterBoolean|-t|Do not create attribute table|False",
      "QgsProcessingParameterBoolean|-c|Do not skip features without category|False",
      "QgsProcessingParameterBoolean|-r|Reverse selection|False",
      "QgsProcessingParameterVectorDestination|output|Selected"
    ]
  },
  {
    "name": "v.split",
    "display_name": "v.split",
    "command": "v.split",
    "short_description": "Split lines to shorter segments by length.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Input lines layer|1|None|False",
      "QgsProcessingParameterNumber|length|Maximum segment length|QgsProcessingParameterNumber.Double|None|True|None|None",
      "QgsProcessingParameterEnum|units|Length units|map;meters;kilometers;feet;surveyfeet;miles;nautmiles|False|0|True",
      "QgsProcessingParameterNumber|vertices|Maximum number of vertices in segment|QgsProcessingParameterNumber.Integer|None|True|None|None",
      "QgsProcessingParameterBoolean|-n|Add new vertices, but do not split|False|True",
      "QgsProcessingParameterBoolean|-f|Force segments to be exactly of given length, except for last one|False|True",
      "QgsProcessingParameterVectorDestination|output|Split by length"
    ]
  },
  {
    "name": "v.surf.bspline",
    "display_name": "v.surf.bspline",
    "command": "v.surf.bspline",
    "short_description": "Bicubic or bilinear spline interpolation with Tykhonov regularization.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Input points layer|-1|None|False",
      "QgsProcessingParameterField|column|Attribute table column with values to interpolate|None|input|-1|False|True",
      "QgsProcessingParameterFeatureSource|sparse_input|Sparse points layer|-1|None|True",
      "QgsProcessingParameterNumber|ew_step|Length of each spline step in the east-west direction|QgsProcessingParameterNumber.Double|4.0|True|None|None",
      "QgsProcessingParameterNumber|ns_step|Length of each spline step in the north-south direction|QgsProcessingParameterNumber.Double|4.0|True|None|None",
      "QgsProcessingParameterEnum|method|Spline interpolation algorithm|bilinear;bicubic|False|0|True",
      "QgsProcessingParameterNumber|lambda_i|Tykhonov regularization parameter (affects smoothing)|QgsProcessingParameterNumber.Double|0.01|True|None|None",
      "QgsProcessingParameterEnum|solver|Type of solver which should solve the symmetric linear equation system|cholesky;cg|False|0|True",
      "QgsProcessingParameterNumber|maxit|Maximum number of iteration used to solve the linear equation system|QgsProcessingParameterNumber.Integer|10000|True|1|None",
      "QgsProcessingParameterNumber|error|Error break criteria for iterative solver|QgsProcessingParameterNumber.Double|0.000001|True|0.0|None",
      "QgsProcessingParameterNumber|memory|Maximum memory to be used (in MB)|QgsProcessingParameterNumber.Integer|300|True|1|None",
      "QgsProcessingParameterVectorDestination|output|Output vector|QgsProcessing.TypeVectorAnyGeometry|None|True|False",
      "QgsProcessingParameterRasterDestination|raster_output|Interpolated spline|None|True"
    ]
  },
  {
    "name": "v.surf.idw",
    "display_name": "v.surf.idw",
    "command": "v.surf.idw",
    "short_description": "Surface interpolation from vector point data by Inverse Distance Squared Weighting.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Input vector layer|0|None|False",
      "QgsProcessingParameterNumber|npoints|Number of interpolation points|QgsProcessingParameterNumber.Integer|12|True|0|None",
      "QgsProcessingParameterNumber|power|Power parameter; greater values assign greater influence to closer points|QgsProcessingParameterNumber.Double|2.0|True|None|None",
      "QgsProcessingParameterField|column|Attribute table column with values to interpolate|None|input|-1|False|False",
      "QgsProcessingParameterBoolean|-n|Don't index points by raster cell|False",
      "QgsProcessingParameterRasterDestination|output|Interpolated IDW"
    ]
  },
  {
    "name": "v.surf.rst.cvdev",
    "display_name": "v.surf.rst.cvdev",
    "command": "v.surf.rst",
    "short_description": "v.surf.rst.cvdev - Performs surface interpolation from vector points map by splines.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Input points layer|0|None|False",
      "QgsProcessingParameterField|zcolumn|Name of the attribute column with values to be used for approximation|None|input|-1|False|True",
      "QgsProcessingParameterString|where|WHERE conditions of SQL statement without 'where' keyword|None|True|True",
      "QgsProcessingParameterRasterLayer|mask|Name of the raster map used as mask|None|True",
      "QgsProcessingParameterNumber|tension|Tension parameter|QgsProcessingParameterNumber.Double|40.0|True|None|None",
      "QgsProcessingParameterNumber|smooth|Smoothing parameter|QgsProcessingParameterNumber.Double|None|True|None|None",
      "QgsProcessingParameterField|smooth_column|Name of the attribute column with smoothing parameters|None|input|-1|False|True",
      "QgsProcessingParameterNumber|segmax|Maximum number of points in a segment|QgsProcessingParameterNumber.Integer|40|True|0|None",
      "QgsProcessingParameterNumber|npmin|Minimum number of points for approximation in a segment (>segmax)|QgsProcessingParameterNumber.Integer|300|True|0|None",
      "QgsProcessingParameterNumber|dmin|Minimum distance between points (to remove almost identical points)|QgsProcessingParameterNumber.Double|None|True|0.0|None",
      "QgsProcessingParameterNumber|dmax|Maximum distance between points on isoline (to insert additional points)|QgsProcessingParameterNumber.Double|None|True|None|None",
      "QgsProcessingParameterNumber|zscale|Conversion factor for values used for approximation|QgsProcessingParameterNumber.Double|1.0|True|None|None",
      "QgsProcessingParameterNumber|theta|Anisotropy angle (in degrees counterclockwise from East)|QgsProcessingParameterNumber.Double|None|True|0.0|360.0",
      "QgsProcessingParameterNumber|scalex|Anisotropy scaling factor|QgsProcessingParameterNumber.Double|None|True|None|None",
      "QgsProcessingParameterBoolean|-t|Use scale dependent tension|False",
      "QgsProcessingParameterBoolean|-c|Perform cross-validation procedure without raster approximation [leave this option as True]|True",
      "QgsProcessingParameterVectorDestination|cvdev|Cross Validation Errors|QgsProcessing.TypeVectorAnyGeometry|None|True"
    ]
  },
  {
    "name": "v.surf.rst",
    "display_name": "v.surf.rst",
    "command": "v.surf.rst",
    "short_description": "Performs surface interpolation from vector points map by splines.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Input points layer|0|None|False",
      "QgsProcessingParameterField|zcolumn|Name of the attribute column with values to be used for approximation|None|input|-1|False|True",
      "QgsProcessingParameterString|where|WHERE conditions of SQL statement without 'where' keyword|None|True|True",
      "QgsProcessingParameterRasterLayer|mask|Name of the raster map used as mask|None|True",
      "QgsProcessingParameterNumber|tension|Tension parameter|QgsProcessingParameterNumber.Double|40.0|True|None|None",
      "QgsProcessingParameterNumber|smooth|Smoothing parameter|QgsProcessingParameterNumber.Double|None|True|None|None",
      "QgsProcessingParameterField|smooth_column|Name of the attribute column with smoothing parameters|None|input|-1|False|True",
      "QgsProcessingParameterNumber|segmax|Maximum number of points in a segment|QgsProcessingParameterNumber.Integer|40|True|0|None",
      "QgsProcessingParameterNumber|npmin|Minimum number of points for approximation in a segment (>segmax)|QgsProcessingParameterNumber.Integer|300|True|0|None",
      "QgsProcessingParameterNumber|dmin|Minimum distance between points (to remove almost identical points)|QgsProcessingParameterNumber.Double|None|True|0.0|None",
      "QgsProcessingParameterNumber|dmax|Maximum distance between points on isoline (to insert additional points)|QgsProcessingParameterNumber.Double|None|True|None|None",
      "QgsProcessingParameterNumber|zscale|Conversion factor for values used for approximation|QgsProcessingParameterNumber.Double|1.0|True|None|None",
      "QgsProcessingParameterNumber|theta|Anisotropy angle (in degrees counterclockwise from East)|QgsProcessingParameterNumber.Double|None|True|0.0|360.0",
      "QgsProcessingParameterNumber|scalex|Anisotropy scaling factor|QgsProcessingParameterNumber.Double|None|True|None|None",
      "QgsProcessingParameterBoolean|-t|Use scale dependent tension|False",
      "QgsProcessingParameterBoolean|-d|Output partial derivatives instead of topographic parameters|False",
      "QgsProcessingParameterRasterDestination|elevation|Interpolated RST|None|True",
      "QgsProcessingParameterRasterDestination|slope|Slope|None|True",
      "QgsProcessingParameterRasterDestination|aspect|Aspect|None|True",
      "QgsProcessingParameterRasterDestination|pcurvature|Profile curvature|None|True",
      "QgsProcessingParameterRasterDestination|tcurvature|Tangential curvature|None|True",
      "QgsProcessingParameterRasterDestination|mcurvature|Mean curvature|None|True",
      "QgsProcessingParameterVectorDestination|deviations|Deviations|QgsProcessing.TypeVectorAnyGeometry|None|True",
      "QgsProcessingParameterVectorDestination|treeseg|Quadtree Segmentation|QgsProcessing.TypeVectorAnyGeometry|None|True",
      "QgsProcessingParameterVectorDestination|overwin|Overlapping Windows|QgsProcessing.TypeVectorAnyGeometry|None|True"
    ]
  },
  {
    "name": "v.to.3d",
    "display_name": "v.to.3d",
    "command": "v.to.3d",
    "short_description": "Performs transformation of 2D vector features to 3D.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": "v_to_3d",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Name of input vector map|-1|None|False",
      "QgsProcessingParameterEnum|type|Input feature type|point;line;boundary;centroid|True|0,1,2,3|True",
      "QgsProcessingParameterNumber|height|Fixed height for 3D vector features|QgsProcessingParameterNumber.Double|None|True|None|None",
      "QgsProcessingParameterField|column|Name of attribute column used for height|None|input|0|False|True",
      "*QgsProcessingParameterBoolean|-r|Reverse transformation; 3D vector features to 2D|False",
      "*QgsProcessingParameterBoolean|-t|Do not copy attribute table|False",
      "QgsProcessingParameterVectorDestination|output|3D"
    ]
  },
  {
    "name": "v.to.lines",
    "display_name": "v.to.lines",
    "command": "v.to.lines",
    "short_description": "Converts vector polygons or points to lines.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Name of input vector map|-1|None|False",
      "QgsProcessingParameterEnum|method|Method used for point interpolation|delaunay|False|0|True",
      "QgsProcessingParameterVectorDestination|output|Lines"
    ]
  },
  {
    "name": "v.to.points",
    "display_name": "v.to.points",
    "command": "v.to.points",
    "short_description": "Create points along input lines",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Input lines layer|1|None|False",
      "QgsProcessingParameterEnum|type|Input feature type|point;line;boundary;centroid;area;face;kernel|True|0,1,2,3,5|True",
      "QgsProcessingParameterEnum|use|Use line nodes or vertices only|node;vertex|False|0|True",
      "QgsProcessingParameterNumber|dmax|Maximum distance between points in map units|QgsProcessingParameterNumber.Double|100.0|True|0.0|None",
      "QgsProcessingParameterBoolean|-i|Interpolate points between line vertices|False",
      "QgsProcessingParameterBoolean|-t|Do not create attribute table|False",
      "QgsProcessingParameterVectorDestination|output|Points along lines"
    ]
  },
  {
    "name": "v.to.rast",
    "display_name": "v.to.rast",
    "command": "v.to.rast",
    "short_description": "Converts (rasterize) a vector layer into a raster layer.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Input vector layer|-1|None|False",
      "QgsProcessingParameterEnum|type|Input feature type|point;line;boundary;area|True|0,1,3|True",
      "QgsProcessingParameterString|where|WHERE conditions of SQL statement without 'where' keyword|None|True|True",
      "QgsProcessingParameterEnum|use|Source of raster values|attr;cat;val;z;dir|False|0|False",
      "QgsProcessingParameterField|attribute_column|Name of column for 'attr' parameter (data type must be numeric)|None|input|0|False|True",
      "QgsProcessingParameterField|rgb_column|Name of color definition column (with RRR:GGG:BBB entries)|None|input|0|False|True",
      "QgsProcessingParameterField|label_column|Name of column used as raster category labels|None|input|0|False|True",
      "QgsProcessingParameterNumber|value|Raster value (for use=val)|QgsProcessingParameterNumber.Double|1|True|None|None",
      "QgsProcessingParameterNumber|memory|Maximum memory to be used (in MB)|QgsProcessingParameterNumber.Integer|300|True|1|None",
      "QgsProcessingParameterRasterDestination|output|Rasterized"
    ]
  },
  {
    "name": "v.transform",
    "display_name": "v.transform",
    "command": "v.transform",
    "short_description": "Performs an affine transformation on a vector layer.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": "v_transform",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Input vector layer|-1|None|False",
      "QgsProcessingParameterNumber|xshift|X shift|QgsProcessingParameterNumber.Double|0.0|True|None|None",
      "QgsProcessingParameterNumber|yshift|Y shift|QgsProcessingParameterNumber.Double|0.0|True|None|None",
      "QgsProcessingParameterNumber|zshift|Z shift|QgsProcessingParameterNumber.Double|0.0|True|None|None",
      "QgsProcessingParameterNumber|xscale|X scale|QgsProcessingParameterNumber.Double|1.0|True|None|None",
      "QgsProcessingParameterNumber|yscale|Y scale|QgsProcessingParameterNumber.Double|1.0|True|None|None",
      "QgsProcessingParameterNumber|zscale|Z scale|QgsProcessingParameterNumber.Double|1.0|True|None|None",
      "QgsProcessingParameterNumber|zrotation|Rotation around z axis in degrees counterclockwise|QgsProcessingParameterNumber.Double|0.0|True|None|None",
      "QgsProcessingParameterString|columns|Name of attribute column(s) used as transformation parameters (Format: parameter:column, e.g. xshift:xs,yshift:ys,zrot:zr)|None|True|True",
      "*QgsProcessingParameterBoolean|-t|Shift all z values to bottom=0|False",
      "*QgsProcessingParameterBoolean|-w|Swap coordinates x, y and then apply other parameters|False",
      "*QgsProcessingParameterBoolean|-x|Swap coordinates x, z and then apply other parameters|False",
      "*QgsProcessingParameterBoolean|-y|Swap coordinates y, z and then apply other parameters|False",
      "*QgsProcessingParameterBoolean|-a|Swap coordinates after the other transformations|False",
      "*QgsProcessingParameterBoolean|-b|Do not build topology|False",
      "QgsProcessingParameterVectorDestination|output|Transformed"
    ]
  },
  {
    "name": "v.type",
    "display_name": "v.type",
    "command": "v.type",
    "short_description": "Change the type of geometry elements.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Name of existing vector map|-1|None|False",
      "QgsProcessingParameterEnum|from_type|Feature type to convert from|point;line;boundary;centroid;face;kernel|False|1|False",
      "QgsProcessingParameterEnum|to_type|Feature type to convert to|point;line;boundary;centroid;face;kernel|False|2|False",
      "QgsProcessingParameterVectorDestination|output|Typed"
    ]
  },
  {
    "name": "v.univar",
    "display_name": "v.univar",
    "command": "v.univar",
    "short_description": "Calculates univariate statistics for attribute. Variance and standard deviation is calculated only for points if specified.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|map|Name of input vector map|-1|None|False",
      "QgsProcessingParameterEnum|type|Input feature type|point;line;boundary;centroid;area|True|0,1,4|True",
      "QgsProcessingParameterString|where|WHERE conditions of SQL statement without 'where' keyword|None|True|True",
      "QgsProcessingParameterField|column|Column name|None|map|-1|False|False",
      "QgsProcessingParameterNumber|percentile|Percentile to calculate|QgsProcessingParameterNumber.Integer|90|True|0|100",
      "QgsProcessingParameterBoolean|-g|Print the stats in shell script style|True",
      "QgsProcessingParameterBoolean|-e|Calculate extended statistics|False",
      "QgsProcessingParameterBoolean|-w|Weigh by line length or area size|False",
      "QgsProcessingParameterBoolean|-d|Calculate geometric distances instead of attribute statistics|False",
      "QgsProcessingParameterFileDestination|html|Statistics|Html files (*.html)|report.html|False"
    ]
  },
  {
    "name": "v.vect.stats",
    "display_name": "v.vect.stats",
    "command": "v.vect.stats",
    "short_description": "Count points in areas and calculate statistics.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": "v_vect_stats",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|points|Name of existing vector map with points|0|None|False",
      "QgsProcessingParameterFeatureSource|areas|Name of existing vector map with areas|2|None|False",
      "QgsProcessingParameterEnum|type|Input feature type|point;centroid|True|0|False",
      "QgsProcessingParameterEnum|method|Method for aggregate statistics|sum;average;median;mode;minimum;min_cat;maximum;max_cat;range;stddev;variance;diversity|False|0",
      "QgsProcessingParameterField|points_column|Column name of points map to use for statistics|None|points|0|False|False",
      "QgsProcessingParameterString|count_column|Column name to upload points count (integer, created if doesn't exists)|None|False|False",
      "QgsProcessingParameterString|stats_column|Column name to upload statistics (double, created if doesn't exists)|None|False|False",
      "QgsProcessingParameterVectorDestination|output|Updated"
    ]
  },
  {
    "name": "v.voronoi.skeleton",
    "display_name": "v.voronoi.skeleton",
    "command": "v.voronoi",
    "short_description": "v.voronoi.skeleton - Creates a Voronoi diagram for polygons or compute the center line/skeleton of polygons.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": null,
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Input polygons layer|2|None|False",
      "QgsProcessingParameterNumber|smoothness|Factor for output smoothness|QgsProcessingParameterNumber.Double|0.25|True|None|None",
      "QgsProcessingParameterNumber|thin|Maximum dangle length of skeletons (-1 will extract the center line)|QgsProcessingParameterNumber.Double|-1.0|True|-1.0|None",
      "*QgsProcessingParameterBoolean|-a|Create Voronoi diagram for input areas|False",
      "*QgsProcessingParameterBoolean|-s|Extract skeletons for input areas|True",
      "*QgsProcessingParameterBoolean|-l|Output tessellation as a graph (lines), not areas|False",
      "*QgsProcessingParameterBoolean|-t|Do not create attribute table|False",
      "QgsProcessingParameterVectorDestination|output|Voronoi"
    ]
  },
  {
    "name": "v.voronoi",
    "display_name": "v.voronoi",
    "command": "v.voronoi",
    "short_description": "v.voronoi - Creates a Voronoi diagram from an input vector layer containing points.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": "v_voronoi",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|input|Input points layer|0|None|False",
      "*QgsProcessingParameterBoolean|-l|Output tessellation as a graph (lines), not areas|False",
      "*QgsProcessingParameterBoolean|-t|Do not create attribute table|False",
      "QgsProcessingParameterVectorDestination|output|Voronoi"
    ]
  },
  {
    "name": "v.what.rast",
    "display_name": "v.what.rast",
    "command": "v.what.rast",
    "short_description": "Uploads raster values at positions of vector centroids to the table.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": "v_what_rast",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|map|Name of vector points map for which to edit attributes|-1|None|False",
      "QgsProcessingParameterRasterLayer|raster|Raster map to be sampled|None|False",
      "QgsProcessingParameterEnum|type|Input feature type|point;centroid|False|0|False",
      "QgsProcessingParameterField|column|Name of attribute column to be updated with the query result|None|map|0|False|False",
      "QgsProcessingParameterString|where|WHERE conditions of SQL statement without 'where' keyword|None|True|True",
      "*QgsProcessingParameterBoolean|-i|Interpolate values from the nearest four cells|False|True",
      "QgsProcessingParameterVectorDestination|output|Sampled"
    ]
  },
  {
    "name": "v.what.vect",
    "display_name": "v.what.vect",
    "command": "v.what.vect",
    "short_description": "Uploads vector values at positions of vector points to the table.",
    "group": "Vector (v.*)",
    "group_id": "vector",
    "ext_path": "v_what_vect",
    "hardcoded_strings": [],
    "parameters": [
      "QgsProcessingParameterFeatureSource|map|Name of vector points map for which to edit attributes|0|None|False",
      "QgsProcessingParameterField|column|Column to be updated with the query result|None|map|-1|False|False",
      "QgsProcessingParameterFeatureSource|query_map|Vector map to be queried|-1|None|False",
      "QgsProcessingParameterField|query_column|Column to be queried|None|query_map|-1|False|False",
      "QgsProcessingParameterNumber|dmax|Maximum query distance in map units|QgsProcessingParameterNumber.Double|0.0|True|0.0|None",
      "QgsProcessingParameterVectorDestination|output|Updated"
    ]
  }
]