Skip to content

Commit a676db2

Browse files
author
Médéric RIBREUX
committed
Handle parameters and update description files (WIP)
1 parent 733218c commit a676db2

File tree

318 files changed

+2210
-2073
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

318 files changed

+2210
-2073
lines changed

python/plugins/processing/algs/grass7/Grass7Algorithm.py

Lines changed: 50 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727

2828
__revision__ = '$Format:%H$'
2929

30+
import sys
3031
import os
3132
import uuid
3233
import importlib
@@ -41,29 +42,38 @@
4142
QgsProcessingParameterDefinition,
4243
QgsProcessingException,
4344
QgsProcessingParameterExtent,
44-
QgsProcessingParameterNumber)
45+
QgsProcessingParameterNumber,
46+
QgsProcessingParameterString,
47+
QgsProcessingParameterPoint,
48+
QgsProcessingParameterBoolean,
49+
QgsProcessingParameterVectorLayer,
50+
QgsProcessingParameterRasterLayer,
51+
QgsProcessingParameterMultipleLayers,
52+
QgsProcessingOutputVectorLayer,
53+
QgsProcessingOutputRasterLayer,
54+
QgsProcessingOutputHtml)
4555
from qgis.utils import iface
4656

4757
#from processing.core.GeoAlgorithm import GeoAlgorithm (replaced by QgsProcessingAlgorithm)
4858
from processing.core.ProcessingConfig import ProcessingConfig
4959
#from processing.core.GeoAlgorithmExecutionException import GeoAlgorithmExecutionException (replaced by QgsProcessingException).
5060

51-
from processing.core.parameters import (getParameterFromString,
52-
ParameterVector,
53-
ParameterMultipleInput,
61+
from processing.core.parameters import (getParameterFromString)
62+
#ParameterVector,
63+
#ParameterMultipleInput,
5464
#ParameterExtent,
5565
#ParameterNumber,
5666
#ParameterSelection,
57-
ParameterRaster,
58-
ParameterTable,
59-
ParameterBoolean,
60-
ParameterString,
61-
ParameterPoint)
62-
from processing.core.outputs import (getOutputFromString,
63-
OutputRaster,
64-
OutputVector,
65-
OutputFile,
66-
OutputHTML)
67+
#ParameterRaster,
68+
#ParameterTable,
69+
#ParameterBoolean,
70+
#ParameterString,
71+
#ParameterPoint)
72+
#from processing.core.outputs import (getOutputFromString,
73+
# OutputRaster,
74+
# OutputVector,
75+
# OutputFile,
76+
# OutputHTML)
6777

6878
from .Grass7Utils import Grass7Utils
6979

@@ -91,6 +101,7 @@ def __init__(self, descriptionfile):
91101
self._display_name = ''
92102
self._group = ''
93103
self.grass7Name = ''
104+
self.params = []
94105
self.hardcodedStrings = []
95106
self.descriptionFile = descriptionfile
96107
self.defineCharacteristicsFromFile()
@@ -152,6 +163,10 @@ def getParameterDescriptions(self):
152163
except Exception:
153164
pass
154165
return descs
166+
167+
def initAlgorithm(self, config=None):
168+
for p in self.params:
169+
self.addParameter(p)
155170

156171
def defineCharacteristicsFromFile(self):
157172
"""
@@ -186,23 +201,23 @@ def defineCharacteristicsFromFile(self):
186201
self.hardcodedStrings.append(line[len('Hardcoded|'):])
187202
parameter = getParameterFromString(line)
188203
if parameter is not None:
189-
self.addParameter(parameter)
190-
if isinstance(parameter, ParameterVector):
204+
self.params.append(parameter)
205+
if isinstance(parameter, QgsProcessingParameterVectorLayer):
191206
hasVectorInput = True
192-
if isinstance(parameter, ParameterMultipleInput) \
193-
and parameter.datatype < 3:
207+
if isinstance(parameter, QgsProcessingParameterMultipleLayers) \
208+
and parameter.layerType() < 3:
194209
hasVectorInput = True
195-
else:
196-
output = getOutputFromString(line)
197-
self.addOutput(output)
198-
if isinstance(output, OutputRaster):
199-
hasRasterOutput = True
200-
elif isinstance(output, OutputVector):
201-
vectorOutputs += 1
202-
if isinstance(output, OutputHTML):
203-
self.addOutput(OutputFile("rawoutput",
204-
self.tr("{0} (raw output)").format(output.description()),
205-
"txt"))
210+
#else:
211+
# output = Grass7Utils.getOutputFromString(line)
212+
# self.addOutput(output)
213+
# if isinstance(output, QgsProcessingOutputRasterLayer):
214+
# hasRasterOutput = True
215+
# elif isinstance(output, QgsProcessingOutputVectorLayer):
216+
# vectorOutputs += 1
217+
# if isinstance(output, QgsProcessingOutputHtml):
218+
# self.addOutput(OutputFile("rawoutput",
219+
# self.tr("{0} (raw output)").format(output.description()),
220+
# "txt"))
206221
line = lines.readline().strip('\n').strip()
207222
except Exception as e:
208223
QgsMessageLog.logMessage(self.tr('Could not open GRASS GIS 7 algorithm: {0}\n{1}').format(self.descriptionFile, line), self.tr('Processing'), QgsMessageLog.CRITICAL)
@@ -217,19 +232,21 @@ def defineCharacteristicsFromFile(self):
217232
self.GRASS_REGION_CELLSIZE_PARAMETER,
218233
self.tr('GRASS GIS 7 region cellsize (leave 0 for default)'),
219234
type=QgsProcessingParameterNumber.Double,
220-
minValue=0.0, maxValue=None, defaultValue=0.0)
235+
minValue=0.0, maxValue=sys.float_info.max + 1, defaultValue=0.0)
221236
)
222237
if hasVectorInput:
223238
param = QgsProcessingParameterNumber(self.GRASS_SNAP_TOLERANCE_PARAMETER,
224239
self.tr('v.in.ogr snap tolerance (-1 = no snap)'),
225240
type=QgsProcessingParameterNumber.Double,
226-
minValue=-1.0, maxValue=None, defaultValue=-1.0)
241+
minValue=-1.0, maxValue=sys.float_info.max + 1,
242+
defaultValue=-1.0)
227243
param.setFlags(param.flags() | QgsProcessingParameterDefinition.FlagAdvanced)
228244
self.addParameter(param)
229245
param = QgsProcessingParameterNumber(self.GRASS_MIN_AREA_PARAMETER,
230246
self.tr('v.in.ogr min area'),
231-
type=QgsProcessingParameterNumber.double,
232-
minValue=0.0, maxValue=None, defaultValue=0.0001)
247+
type=QgsProcessingParameterNumber.Double,
248+
minValue=0.0, maxValue=sys.float_info.max + 1,
249+
defaultValue=0.0001)
233250
param.setFlags(param.flags() | QgsProcessingParameterDefinition.FlagAdvanced)
234251
self.addParameter(param)
235252
if vectorOutputs == 1:
Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
i.albedo
22
Computes broad band albedo from surface reflectance.
33
Imagery (i.*)
4-
ParameterMultipleInput|input|Name of input raster maps|3|False
5-
ParameterBoolean|-m|MODIS (7 input bands:1,2,3,4,5,6,7)|False
6-
ParameterBoolean|-n|NOAA AVHRR (2 input bands:1,2)|False
7-
ParameterBoolean|-l|Landsat 5+7 (6 input bands:1,2,3,4,5,7)|False
8-
ParameterBoolean|-a|ASTER (6 input bands:1,3,5,6,8,9)|False
9-
ParameterBoolean|-c|Aggressive mode (Landsat)|False
10-
ParameterBoolean|-d|Soft mode (MODIS)|False
11-
OutputRaster|output|Albedo
4+
QgsProcessingParameterMultipleLayers|input|Name of input raster maps|3|None|False
5+
QgsProcessingParameterBoolean|-m|MODIS (7 input bands:1,2,3,4,5,6,7)|False
6+
QgsProcessingParameterBoolean|-n|NOAA AVHRR (2 input bands:1,2)|False
7+
QgsProcessingParameterBoolean|-l|Landsat 5+7 (6 input bands:1,2,3,4,5,7)|False
8+
QgsProcessingParameterBoolean|-a|ASTER (6 input bands:1,3,5,6,8,9)|False
9+
QgsProcessingParameterBoolean|-c|Aggressive mode (Landsat)|False
10+
QgsProcessingParameterBoolean|-d|Soft mode (MODIS)|False
11+
QgsProcessingParameterRasterDestination|output|Albedo
Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
i.aster.toar
22
Calculates Top of Atmosphere Radiance/Reflectance/Brightness Temperature from ASTER DN.
33
Imagery (i.*)
4-
ParameterMultipleInput|input|Names of ASTER DN layers (15 layers)|3|False
5-
ParameterNumber|dayofyear|Day of Year of satellite overpass [0-366]|0|366|0|False
6-
ParameterNumber|sun_elevation|Sun elevation angle (degrees, < 90.0)|0.0|90.0|45.0|False
7-
ParameterBoolean|-r|Output is radiance (W/m2)|False
8-
ParameterBoolean|-a|VNIR is High Gain|False
9-
ParameterBoolean|-b|SWIR is High Gain|False
10-
ParameterBoolean|-c|VNIR is Low Gain 1|False
11-
ParameterBoolean|-d|SWIR is Low Gain 1|False
12-
ParameterBoolean|-e|SWIR is Low Gain 2|False
4+
QgsProcessingParameterMultipleLayers|input|Names of ASTER DN layers (15 layers)|3|None|False
5+
QgsProcessingParameterNumber|dayofyear|Day of Year of satellite overpass [0-366]|0|QgsProcessingParameterNumber.Double|False|False|0|366
6+
QgsProcessingParameterNumber|sun_elevation|Sun elevation angle (degrees, < 90.0)|0.0|QgsProcessingParameterNumber.Double|False|False|45.0|90.0
7+
QgsProcessingParameterBoolean|-r|Output is radiance (W/m2)|False
8+
QgsProcessingParameterBoolean|-a|VNIR is High Gain|False
9+
QgsProcessingParameterBoolean|-b|SWIR is High Gain|False
10+
QgsProcessingParameterBoolean|-c|VNIR is Low Gain 1|False
11+
QgsProcessingParameterBoolean|-d|SWIR is Low Gain 1|False
12+
QgsProcessingParameterBoolean|-e|SWIR is Low Gain 2|False
1313
OutputDirectory|output|Output Directory
Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
i.atcorr
22
Performs atmospheric correction using the 6S algorithm.
33
Imagery (i.*)
4-
ParameterRaster|input|Name of input raster map|False
5-
ParameterRange|range|Input imagery range [0,255]|0,255|True
6-
ParameterRaster|elevation|Input altitude raster map in m (optional)|True
7-
ParameterRaster|visibility|Input visibility raster map in km (optional)|True
8-
ParameterFile|parameters|Name of input text file|False|False
9-
ParameterRange|rescale|Rescale output raster map [0,255]|0,255|True
10-
OutputRaster|output|Atmospheric correction
11-
*ParameterBoolean|-i|Output raster map as integer|False
12-
*ParameterBoolean|-r|Input raster map converted to reflectance (default is radiance)|False
13-
*ParameterBoolean|-a|Input from ETM+ image taken after July 1, 2000|False
14-
*ParameterBoolean|-b|Input from ETM+ image taken before July 1, 2000|False
4+
QgsProcessingParameterRasterLayer|input|Name of input raster map|None|False
5+
QgsProcessingParameterRange|range|Input imagery range [0,255]|0,255|True
6+
QgsProcessingParameterRasterLayer|elevation|Input altitude raster map in m (optional)|None|True
7+
QgsProcessingParameterRasterLayer|visibility|Input visibility raster map in km (optional)|None|True
8+
QgsProcessingParameterFile|parameters|Name of input text file|False|False
9+
QgsProcessingParameterRange|rescale|Rescale output raster map [0,255]|0,255|True
10+
QgsProcessingParameterRasterDestination|output|Atmospheric correction
11+
*QgsProcessingParameterBoolean|-i|Output raster map as integer|False
12+
*QgsProcessingParameterBoolean|-r|Input raster map converted to reflectance (default is radiance)|False
13+
*QgsProcessingParameterBoolean|-a|Input from ETM+ image taken after July 1, 2000|False
14+
*QgsProcessingParameterBoolean|-b|Input from ETM+ image taken before July 1, 2000|False
1515

1616

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
i.biomass
22
Computes biomass growth, precursor of crop yield calculation.
33
Imagery (i.*)
4-
ParameterRaster|fpar|Name of fPAR raster map|False
5-
ParameterRaster|lightuse_efficiency|Name of light use efficiency raster map (UZB:cotton=1.9)|False
6-
ParameterRaster|latitude|Name of degree latitude raster map [dd.ddd]|False
7-
ParameterRaster|dayofyear|Name of Day of Year raster map [1-366]|False
8-
ParameterRaster|transmissivity_singleway|Name of single-way transmissivity raster map [0.0-1.0]False
9-
ParameterRaster|water_availability|Value of water availability raster map [0.0-1.0]|False
10-
OutputRaster|output|Biomass
4+
QgsProcessingParameterRasterLayer|fpar|Name of fPAR raster map|None|False
5+
QgsProcessingParameterRasterLayer|lightuse_efficiency|Name of light use efficiency raster map (UZB:cotton=1.9)|None|False
6+
QgsProcessingParameterRasterLayer|latitude|Name of degree latitude raster map [dd.ddd]|None|False
7+
QgsProcessingParameterRasterLayer|dayofyear|Name of Day of Year raster map [1-366]|None|False
8+
QgsProcessingParameterRasterLayer|transmissivity_singleway|Name of single-way transmissivity raster map [0.0-1.0]False
9+
QgsProcessingParameterRasterLayer|water_availability|Value of water availability raster map [0.0-1.0]|None|False
10+
QgsProcessingParameterRasterDestination|output|Biomass
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
i.cca
22
Canonical components analysis (CCA) program for image processing.
33
Imagery (i.*)
4-
ParameterMultipleInput|input|Input rasters (2 to 8)|3|False
5-
ParameterFile|signature|File containing spectral signatures|False|False
4+
QgsProcessingParameterMultipleLayers|input|Input rasters (2 to 8)|3|None|False
5+
QgsProcessingParameterFile|signature|File containing spectral signatures|False|False
66
OutputDirectory|output|Output Directory
Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
i.cluster
22
Generates spectral signatures for land cover types in an image using a clustering algorithm.
33
Imagery (i.*)
4-
ParameterMultipleInput|input|Input rasters|3|False
5-
ParameterNumber|classes|Initial number of classes (1-255)|1|255|1|True
6-
ParameterFile|seed|Name of file containing initial signatures|False|True
7-
ParameterString|sample|Sampling intervals (by row and col)|None|False|True
8-
ParameterNumber|iterations|Maximum number of iterations|1|None|30|True
9-
ParameterNumber|convergence|Percent convergence|0.0|100.0|98.0|True
10-
ParameterNumber|separation|Cluster separation|0.0|None|0.0|True
11-
ParameterNumber|min_size|Minimum number of pixels in a class|1|None|17|True
4+
QgsProcessingParameterMultipleLayers|input|Input rasters|3|None|False
5+
QgsProcessingParameterNumber|classes|Initial number of classes (1-255)|1|QgsProcessingParameterNumber.Double|True|False|1|255
6+
QgsProcessingParameterFile|seed|Name of file containing initial signatures|False|True
7+
QgsProcessingParameterString|sample|Sampling intervals (by row and col)|None|False|True
8+
QgsProcessingParameterNumber|iterations|Maximum number of iterations|1|QgsProcessingParameterNumber.Double|True|False|30|None
9+
QgsProcessingParameterNumber|convergence|Percent convergence|0.0|QgsProcessingParameterNumber.Double|True|False|98.0|100.0
10+
QgsProcessingParameterNumber|separation|Cluster separation|0.0|QgsProcessingParameterNumber.Double|True|False|0.0|None
11+
QgsProcessingParameterNumber|min_size|Minimum number of pixels in a class|1|QgsProcessingParameterNumber.Double|True|False|17|None
1212
OutputFile|signaturefile|Signature File
1313
OutputFile|reportfile|Final Report File
Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
i.colors.enhance
22
Performs auto-balancing of colors for RGB images.
33
Imagery (i.*)
4-
ParameterRaster|red|Name of red channel|False
5-
ParameterRaster|green|Name of green channel|False
6-
ParameterRaster|blue|Name of blue channel|False
7-
ParameterNumber|strength|Cropping intensity (upper brightness level)|0|100|98|True
8-
*ParameterBoolean|-f|Extend colors to full range of data on each channel|False
9-
*ParameterBoolean|-p|Preserve relative colors, adjust brightness only|False
10-
*ParameterBoolean|-r|Reset to standard color range|False
11-
*ParameterBoolean|-s|Process bands serially (default: run in parallel)|False
12-
OutputRaster|redoutput|Enhanced Red
13-
OutputRaster|greenoutput|Enhanced Green
14-
OutputRaster|blueoutput|Enhanced Blue
4+
QgsProcessingParameterRasterLayer|red|Name of red channel|None|False
5+
QgsProcessingParameterRasterLayer|green|Name of green channel|None|False
6+
QgsProcessingParameterRasterLayer|blue|Name of blue channel|None|False
7+
QgsProcessingParameterNumber|strength|Cropping intensity (upper brightness level)|0|QgsProcessingParameterNumber.Double|True|False|98|100
8+
*QgsProcessingParameterBoolean|-f|Extend colors to full range of data on each channel|False
9+
*QgsProcessingParameterBoolean|-p|Preserve relative colors, adjust brightness only|False
10+
*QgsProcessingParameterBoolean|-r|Reset to standard color range|False
11+
*QgsProcessingParameterBoolean|-s|Process bands serially (default: run in parallel)|False
12+
QgsProcessingParameterRasterDestination|redoutput|Enhanced Red
13+
QgsProcessingParameterRasterDestination|greenoutput|Enhanced Green
14+
QgsProcessingParameterRasterDestination|blueoutput|Enhanced Blue
1515

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
i.eb.eta
22
Actual evapotranspiration for diurnal period (Bastiaanssen, 1995).
33
Imagery (i.*)
4-
ParameterRaster|netradiationdiurnal|Name of the diurnal net radiation map [W/m2]|False
5-
ParameterRaster|evaporativefraction|Name of the evaporative fraction map|False
6-
ParameterRaster|temperature|Name of the surface skin temperature [K]|False
7-
OutputRaster|output|Evapotranspiration
4+
QgsProcessingParameterRasterLayer|netradiationdiurnal|Name of the diurnal net radiation map [W/m2]|None|False
5+
QgsProcessingParameterRasterLayer|evaporativefraction|Name of the evaporative fraction map|None|False
6+
QgsProcessingParameterRasterLayer|temperature|Name of the surface skin temperature [K]|None|False
7+
QgsProcessingParameterRasterDestination|output|Evapotranspiration
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
i.eb.evapfr
22
Computes evaporative fraction (Bastiaanssen, 1995) and root zone soil moisture (Makin, Molden and Bastiaanssen, 2001).
33
Imagery (i.*)
4-
ParameterRaster|netradiation|Name of Net Radiation raster map [W/m2]|False
5-
ParameterRaster|soilheatflux|Name of soil heat flux raster map [W/m2]|False
6-
ParameterRaster|sensibleheatflux|Name of sensible heat flux raster map [W/m2]|False
4+
QgsProcessingParameterRasterLayer|netradiation|Name of Net Radiation raster map [W/m2]|None|False
5+
QgsProcessingParameterRasterLayer|soilheatflux|Name of soil heat flux raster map [W/m2]|None|False
6+
QgsProcessingParameterRasterLayer|sensibleheatflux|Name of sensible heat flux raster map [W/m2]|None|False
77
Hardcoded|-m
8-
OutputRaster|evaporativefraction|Evaporative Fraction
9-
OutputRaster|soilmoisture|Root Zone Soil Moisture
8+
QgsProcessingParameterRasterDestination|evaporativefraction|Evaporative Fraction
9+
QgsProcessingParameterRasterDestination|soilmoisture|Root Zone Soil Moisture

0 commit comments

Comments
 (0)