1TODO List for GRASS7 algorithms support into QGIS Processing
2
3QGIS3 Processing Port
4=====================
5
6* TODO Convert all ext scripts.
7  * Review i.py.
8  * Use a message band rather than a messageBox for errors on exclusives parameters.
9  * r_rgb.py
10  * r_horizon.py
11  * r_mask.py
12  * r_mask_vect.py
13  * r_mask_rast.py
14  * r_statistics.py
15  * v_net.py
16  * v_net_alloc.py
17  * v_net_allpairs.py
18  * v_net_arcs.py
19  * v_net_articulation.py
20  * v_net_connect.py
21  * v_net_connectivity.py
22  * v_net_flow.py
23  * v_net_iso.py
24  * v_net_nodes.py
25  * v_net_path.py
26  * v_net_steiner.py
27  * v_net_visibility.py
28* Things to do elsewhere
29  * TODO QgsProcessingParameterPoint can't be used anymore.
30  * TODO We need NULL QgsProcessingParameterPoint!
31  * TODO We need a QgsParameterMultipleInputLayers parameter for minimum and maximum number of layers.
32  * TODO Open all the files in a QgsProcessingOutputFolder at the end of the algorithm.
33* TODO Review all the methods of QgsProcessingAlgorithm.
34* TODO Make tests under MS-Windows 7 for Utf-8 support.
35  * DONE Algorithms can handle data with utf-8 in filepath.
36  * TODO Support utf-8 profiles filepath.
37* TODO Review Python3 port.
38  * dict iteritems
39* TODO Improve unit tests.
40* TODO Use prepareAlgorithm for algorithm preparation.
41* TODO Support ParameterTable.
42* TODO Support multiple input vector formats
43  * DONE create a general inputVectorLayer method.
44  * TODO Support database connections.
45  * TODO Support Auth API for databases connections.
46  * TODO Some formats can't be correctly used by v.external:
47    * GML.
48  * TODO Build a workaround for those formats (use v.in.ogr).
49
50* DONE Fix ParameterFiles (use False instead of 0 value for file type).
51* DONE Support multiple output vector formats.
52  * DONE Add an optional/advanced 'format option' textbox if vector output is detected.
53* DONE Review all algorithm parameters.
54* DONE Support multiple output file raster formats.
55  * DONE Add an optional/advanced 'format option' textbox if raster output is detected.
56  * DONE Detext file format from extension.
57  * DONE Improve GdalUtils to report raster formats that can be created with GDAL.
58* DONE Add GRASS 7.2 new algorithms.
59  * DONE Remove r.aspect => r.slope.aspect.
60  * DONE Remove r.median.
61  * DONE r.out.ascii.
62  * DONE r.out.mat.
63  * DONE r.out.mpeg.
64  * DONE r.out.png.
65  * DONE r.out.pop.
66  * DONE r.out.ppm3.
67  * DONE r.out.vtk.
68  * DONE r.out.xyz.
69  * DONE r.proj.
70  * DONE r.stats.zonal.
71  * DONE v.decimate.
72  * DONE v.in.e00.
73  * DONE v.proj.
74* DONE Support QgsProcessingParameterRange (error in processing/gui/wrappers.py).
75  * DONE implement a basic RangePanel/wrapper.
76  * DONE Improve Wrapper logic for min/max.
77* DONE Use some raster/vector layers with spacename into their path.
78* DONE Use GRASS --exec instead of GRASS_BATCH_JOB.
79* DONE Improve Grass Path and Binary detection for all OSs.
80* DONE Replace all parameters by QgsProcessingParameters.
81  * DONE Support multiple QgsProcessingParameterEnum.
82  * DONE Review all ParameterFile
83  * DONE Review all OutputDirectory.
84    * DONE Convert all OutputDirectory to QgsProcessingParameterFolderDestination
85    * DONE Default case:
86      * Take the name of the output variable.
87      * create a default value as basename.
88      * export all layers into the directory with a shell loop.
89    * DONE Remove all multipleOutputDir in ext/
90    * r.colors: TODO ext | DONE desc | TODO tests.
91    * r.texture: DONE ext | DONE desc | TODO tests.
92    * r.stats.quantile: DONE ext | DONE desc | TODO tests.
93    * r.series.interp: DONE ext | DONE desc | TODO tests.
94    * r.mapcalc: DONE ext | DONE desc | TODO tests.
95    * i.aster.toar: DONE ext | DONE desc | TODO tests.
96    * i.tasscap: DONE ext | DONE desc | TODO tests.
97    * i.rectify: DONE ext | DONE desc | TODO tests.
98    * i.cca: DONE ext | DONE desc | TODO tests.
99    * i.landsat.toar: DONE ext | DONE desc | TODO tests.
100    * i.pca: DONE ext | DONE desc | TODO tests.
101    * i.topo.corr: DONE ext | DONE desc | TODO tests.
102  * DONE Review all OutputFile
103    * DONE Replace by QgsProcessingParameterFileDestination
104    * DONE QgsProcessingParameterFileDestination should use the file filter in Dialog.
105      Replace fileOut with fileDestination in gui/ParametersUtils.py
106* DONE Remove specific algorithms code in Grass7Algorithm.py (move them in ext).
107* DONE Re-enable GRASS algorithm by default.
108* DONE Support multiple bands input rasters.
109* DONE Better support for files output that are HTML.
110  * DONE All html output files will be report outputs.
111  * DONE All html output will come as stdout files by default.
112  * DONE OutputHtml must not be converted to OutputLayerDefinition.
113  * DONE Convert false HTML files to real HTML files.
114  * DONE Opens HTML files in Viewer.
115
116
117Unit tests
118==========
119
120i.* modules:
121------------
122
123* i.albedo: needs better data
124* i.aster.toar: needs OutputDir support in tests
125* i.atcorr: OK (basic implementation)
126* i.biomass: OK (basic implementation)
127* i.cca: needs OutputDir support in tests
128* i.cluster: OK (full implementation)
129* i.colors.enhance: needs other raster data
130* i.eb.eta: OK (basic implementation)
131* i.eb.evapfr: needs better data
132* i.eb.hsebal01: OK (basic implementation)
133* i.eb.netrad: OK (basic implementation)
134* i.eb.soilheatflux: OK (basic implementation)
135* i.emissivity: OK (basic implementation)
136* i.evapo.mh: OK (basic implementation)
137* i.evapo.pm: OK (basic implementation)
138* i.evapo.pt: OK (basic implementation)
139* i.evapo.time: broken (don't know why, should work)
140* i.fft: OK (full implementation)
141* i.gensig: OK (full implementation)
142* i.gensigset: OK (full implementation)
143* i.group: OK (full implementation)
144* i.his.rgb: needs better data
145* i.ifft: needs specific raster data
146* i.image.mosaic: OK (basic implementation)
147* i.in.spotvgt: needs probably a true NVDI SPOT file (quite huge for tests).
148* i.landsat.acca: needs better data
149* i.landsat.toar: needs OutputDir support in tests
150* i.maxlik: OK (full implementation)
151* i.modis.qc: OK (full implementation)
152* i.oif: OK (full implementation)
153* i.ortho.camera: not implemented in Processing
154* i.ortho.elev: not implemented in Processing
155* i.ortho.rectify: not implemented in Processing
156* i.pansharpen: OK (full implementation)
157* i.pca: needs OutputDir support in tests
158* i.rectify: needs OutputDir support in tests
159* i.rgb.his: OK (full implementation)
160* i.segment: OK (full implementation)
161* i.smap: OK (full implementation)
162* i.spectral: not implementable in Processing
163* i.target: not implementable in Processing
164* i.tasscap: needs OutputDir support in tests
165* i.topo.corr.ill: OK (basic implementation)
166* i.topo.corr: needs OutputDir support in tests
167* i.vi: OK (basic implementation)
168* i.zc: OK (basic implementation)
169
170r.* modules
171-----------
172
173Need to write everything
174
175v.* modules
176-----------
177
178Need to write everything
179
180Other
181=====
182
183* TODO: decide what to do with nviz:
184    nviz_cmd -> G7:m.nviz.image
185