Changes between Version 4 and Version 5 of GSoC/2020
- Timestamp:
- 02/02/20 13:59:58 (5 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
GSoC/2020
v4 v5 140 140 === New easy-to-use CLI and API for GRASS GIS === 141 141 142 * Requirements: 143 * Language: Python 144 * Proposal: Student needs to show sufficient understanding of the GRASS GIS Database structure and significantly extend on text below in terms of more concrete formulation of ideas and identification of missing and existing parts. 145 * Mentors: Vaclav Petras 146 * Co-mentors: 147 * Proposed by: Vaclav Petras 142 148 * TL;DR: Make running of GRASS GIS modules as easy as it is to run GDAL commands. 143 149 * `grass run r.slope.aspect elevation=elevation.tiff slope=slope.tiff aspect=aspect.tiff` … … 194 200 * source:grass/trunk/lib/init/grass.py (full GRASS GIS standard startup "script") 195 201 * See also: 196 * Tickets :202 * Tickets, PRs, commits: 197 203 * #2424 PyGRASS does not work when GRASS is invoked from outside because it is not possible to change path to dynamic libraries in running process 198 204 * #2511 Starting GRASS in mapset which is not owned by the user … … 204 210 * #2685 Add ignore lock flag to grass command 205 211 * #3537 Add functionalities `--tmp-location` and `--no-clean` 212 * r72790 Add `--tmp-location` 213 * [https://github.com/OSGeo/grass/pull/313 PR #313] Add `--tmp-mapset` option 206 214 * Documentation: 207 215 * [https://grass.osgeo.org/grass74/manuals/grass_database.html GRASS GIS Database] … … 213 221 * wiki:Grass7/VectorLib/OGRInterface 214 222 * wiki:Grass7/VectorLib/PostGISInterface 215 * Other projects (see also the ones linked in the text): 223 * [https://lists.osgeo.org/pipermail/grass-dev/2015-February/073867.html On GSoC Proposal New easy-to-use...] 224 * [https://lists.osgeo.org/pipermail/grass-dev/2015-March/074433.html GSOC project proposal] 225 * Other projects (see also the ones linked in the text): 216 226 * [https://github.com/qgis/QGIS/blob/0a1382a0be36d408aebd227fb0066f68c513e41e/python/plugins/processing/algs/grass7/Grass7Algorithm.py QGIS Processing Grass7Algorithm.py] source code 217 227 * [https://github.com/moovida/jgrasstools/blob/530c87f26d220f3eeff9d2fb9d21abd8821c00c3/grass/src/main/java/org/jgrasstools/grass/utils/ModuleSupporter.java uDig's JGrasstools] source code … … 219 229 * [https://github.com/geopython/PyWPS/blob/425f0eb160f60714a6705a24ba926e03690ab371/pywps/Grass.py PyWPS source code] and [https://pywps.wald.intevation.org/documentation/process.html PyWPS documentation] (broken link) 220 230 * [https://code.google.com/p/wps-grass-bridge/source/browse/trunk/?r=97 wps-grass-bridge] source code (broken link) 221 * Related discussions on mailing list: 222 * [https://lists.osgeo.org/pipermail/grass-dev/2015-February/073867.html On GSoC Proposal New easy-to-use...] 223 * [https://lists.osgeo.org/pipermail/grass-dev/2015-March/074433.html GSOC project proposal] 224 * Similar complex command line interfaces to learn from: 225 * Git (a classic example of subcommand interface) 226 * Docker (subcommand interface combined with running other commands inside a container) 227 * !GeoGig (needs to get geospatial data in and out) 228 * !ImageMagic 229 * radical changes in CLI interface between versions [https://legacy.imagemagick.org/script/index.php 6] and [https://www.imagemagick.org/script/command-line-tools.php 7] 230 * new CLI has a single `magick` command with many parameters 231 * GMT 232 * [http://gmt.soest.hawaii.edu/doc/5.3.2/GMT_Docs.html#new-features-in-gmt-5 radical changes in CLI interface between versions 4 and 5] 233 * new CLI has a single `gmt` command and subcommands 231 * Similar complex command line interfaces to learn from: 232 * Git (a classic example of subcommand interface) 233 * Docker (subcommand interface combined with running other commands inside a container) 234 * !GeoGig (needs to get geospatial data in and out) 235 * !ImageMagic 236 * radical changes in CLI interface between versions [https://legacy.imagemagick.org/script/index.php 6] and [https://www.imagemagick.org/script/command-line-tools.php 7] 237 * new CLI has a single `magick` command with many parameters 238 * GMT 239 * [http://gmt.soest.hawaii.edu/doc/5.3.2/GMT_Docs.html#new-features-in-gmt-5 radical changes in CLI interface between versions 4 and 5] 240 * new CLI has a single `gmt` command and subcommands 234 241 * Test and training tasks: 235 242 * Extend `--exec` functionality: 236 * Add `--tmp-mapset` which runs `--exec` in a database/location/mapset which is created at the beginning and deleted at the end (database/location exists before and after). (See also `--tmp-location`, #3537, #3585, and r72790.)237 243 * Add `--clean` (current default) and `--no-clean` which say if `--exec` should clean the `.tmp` directory in the Mapset (for parallel execution). (See also #3537.) 238 244 * Add `--lock` (current default) and `--no-lock` which say if `--exec` should lock the Mapset (for parallel execution). See also #2685 and the `-f` flag. … … 245 251 * Make it possible to associate `*.gxw` files with `grass` executable (#1204) or at least add `--gui-workspace` or preferably just recognize it in the command line (distinguish it from database/location/mapset). 246 252 * Solve one of the tickets linked above. 247 * Requirements:248 * Student needs to show understanding of the GRASS GIS Database structure and significantly extend on text above in the proposal.249 * Language: Python250 * Mentors: Vaclav Petras251 * Co-mentors: Pietro Zambelli252 * Proposed by: Vaclav Petras253 253 254 254 == Tips for students ==