2021-06-21 07:17:35 +03:00

185 lines
6.7 KiB
Markdown

TODO List for GRASS7 algorithms support into QGIS Processing
QGIS3 Processing Port
=====================
* TODO Convert all ext scripts.
* Review i.py.
* Use a message band rather than a messageBox for errors on exclusives parameters.
* r_rgb.py
* r_horizon.py
* r_mask.py
* r_mask_vect.py
* r_mask_rast.py
* r_statistics.py
* v_net.py
* v_net_alloc.py
* v_net_allpairs.py
* v_net_arcs.py
* v_net_articulation.py
* v_net_connect.py
* v_net_connectivity.py
* v_net_flow.py
* v_net_iso.py
* v_net_nodes.py
* v_net_path.py
* v_net_steiner.py
* v_net_visibility.py
* Things to do elsewhere
* TODO QgsProcessingParameterPoint can't be used anymore.
* TODO We need NULL QgsProcessingParameterPoint!
* TODO We need a QgsParameterMultipleInputLayers parameter for minimum and maximum number of layers.
* TODO Open all the files in a QgsProcessingOutputFolder at the end of the algorithm.
* TODO Review all the methods of QgsProcessingAlgorithm.
* TODO Make tests under MS-Windows 7 for Utf-8 support.
* DONE Algorithms can handle data with utf-8 in filepath.
* TODO Support utf-8 profiles filepath.
* TODO Review Python3 port.
* dict iteritems
* TODO Improve unit tests.
* TODO Use prepareAlgorithm for algorithm preparation.
* TODO Support ParameterTable.
* TODO Support multiple input vector formats
* DONE create a general inputVectorLayer method.
* TODO Support database connections.
* TODO Support Auth API for databases connections.
* TODO Some formats can't be correctly used by v.external:
* GML.
* TODO Build a workaround for those formats (use v.in.ogr).
* DONE Fix ParameterFiles (use False instead of 0 value for file type).
* DONE Support multiple output vector formats.
* DONE Add an optional/advanced 'format option' textbox if vector output is detected.
* DONE Review all algorithm parameters.
* DONE Support multiple output file raster formats.
* DONE Add an optional/advanced 'format option' textbox if raster output is detected.
* DONE Detext file format from extension.
* DONE Improve GdalUtils to report raster formats that can be created with GDAL.
* DONE Add GRASS 7.2 new algorithms.
* DONE Remove r.aspect => r.slope.aspect.
* DONE Remove r.median.
* DONE r.out.ascii.
* DONE r.out.mat.
* DONE r.out.mpeg.
* DONE r.out.png.
* DONE r.out.pop.
* DONE r.out.ppm3.
* DONE r.out.vtk.
* DONE r.out.xyz.
* DONE r.proj.
* DONE r.stats.zonal.
* DONE v.decimate.
* DONE v.in.e00.
* DONE v.proj.
* DONE Support QgsProcessingParameterRange (error in processing/gui/wrappers.py).
* DONE implement a basic RangePanel/wrapper.
* DONE Improve Wrapper logic for min/max.
* DONE Use some raster/vector layers with spacename into their path.
* DONE Use GRASS --exec instead of GRASS_BATCH_JOB.
* DONE Improve Grass Path and Binary detection for all OSs.
* DONE Replace all parameters by QgsProcessingParameters.
* DONE Support multiple QgsProcessingParameterEnum.
* DONE Review all ParameterFile
* DONE Review all OutputDirectory.
* DONE Convert all OutputDirectory to QgsProcessingParameterFolderDestination
* DONE Default case:
* Take the name of the output variable.
* create a default value as basename.
* export all layers into the directory with a shell loop.
* DONE Remove all multipleOutputDir in ext/
* r.colors: TODO ext | DONE desc | TODO tests.
* r.texture: DONE ext | DONE desc | TODO tests.
* r.stats.quantile: DONE ext | DONE desc | TODO tests.
* r.series.interp: DONE ext | DONE desc | TODO tests.
* r.mapcalc: DONE ext | DONE desc | TODO tests.
* i.aster.toar: DONE ext | DONE desc | TODO tests.
* i.tasscap: DONE ext | DONE desc | TODO tests.
* i.rectify: DONE ext | DONE desc | TODO tests.
* i.cca: DONE ext | DONE desc | TODO tests.
* i.landsat.toar: DONE ext | DONE desc | TODO tests.
* i.pca: DONE ext | DONE desc | TODO tests.
* i.topo.corr: DONE ext | DONE desc | TODO tests.
* DONE Review all OutputFile
* DONE Replace by QgsProcessingParameterFileDestination
* DONE QgsProcessingParameterFileDestination should use the file filter in Dialog.
Replace fileOut with fileDestination in gui/ParametersUtils.py
* DONE Remove specific algorithms code in Grass7Algorithm.py (move them in ext).
* DONE Re-enable GRASS algorithm by default.
* DONE Support multiple bands input rasters.
* DONE Better support for files output that are HTML.
* DONE All html output files will be report outputs.
* DONE All html output will come as stdout files by default.
* DONE OutputHtml must not be converted to OutputLayerDefinition.
* DONE Convert false HTML files to real HTML files.
* DONE Opens HTML files in Viewer.
Unit tests
==========
i.* modules:
------------
* i.albedo: needs better data
* i.aster.toar: needs OutputDir support in tests
* i.atcorr: OK (basic implementation)
* i.biomass: OK (basic implementation)
* i.cca: needs OutputDir support in tests
* i.cluster: OK (full implementation)
* i.colors.enhance: needs other raster data
* i.eb.eta: OK (basic implementation)
* i.eb.evapfr: needs better data
* i.eb.hsebal01: OK (basic implementation)
* i.eb.netrad: OK (basic implementation)
* i.eb.soilheatflux: OK (basic implementation)
* i.emissivity: OK (basic implementation)
* i.evapo.mh: OK (basic implementation)
* i.evapo.pm: OK (basic implementation)
* i.evapo.pt: OK (basic implementation)
* i.evapo.time: broken (don't know why, should work)
* i.fft: OK (full implementation)
* i.gensig: OK (full implementation)
* i.gensigset: OK (full implementation)
* i.group: OK (full implementation)
* i.his.rgb: needs better data
* i.ifft: needs specific raster data
* i.image.mosaic: OK (basic implementation)
* i.in.spotvgt: needs probably a true NVDI SPOT file (quite huge for tests).
* i.landsat.acca: needs better data
* i.landsat.toar: needs OutputDir support in tests
* i.maxlik: OK (full implementation)
* i.modis.qc: OK (full implementation)
* i.oif: OK (full implementation)
* i.ortho.camera: not implemented in Processing
* i.ortho.elev: not implemented in Processing
* i.ortho.rectify: not implemented in Processing
* i.pansharpen: OK (full implementation)
* i.pca: needs OutputDir support in tests
* i.rectify: needs OutputDir support in tests
* i.rgb.his: OK (full implementation)
* i.segment: OK (full implementation)
* i.smap: OK (full implementation)
* i.spectral: not implementable in Processing
* i.target: not implementable in Processing
* i.tasscap: needs OutputDir support in tests
* i.topo.corr.ill: OK (basic implementation)
* i.topo.corr: needs OutputDir support in tests
* i.vi: OK (basic implementation)
* i.zc: OK (basic implementation)
r.* modules
-----------
Need to write everything
v.* modules
-----------
Need to write everything
Other
=====
* TODO: decide what to do with nviz:
nviz_cmd -> G7:m.nviz.image