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