Changes between Version 4 and Version 5 of GSoC/2020


Ignore:
Timestamp:
Feb 2, 2020, 1:59:58 PM (13 months ago)
Author:
wenzeslaus
Comment:

--tmp-mapset has a PR and people on the top

Legend:

Unmodified
Added
Removed
Modified
  • GSoC/2020

    v4 v5  
    140140=== New easy-to-use CLI and API for GRASS GIS ===
    141141
     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
    142148 * TL;DR: Make running of GRASS GIS modules as easy as it is to run GDAL commands.
    143149  * `grass run r.slope.aspect elevation=elevation.tiff slope=slope.tiff aspect=aspect.tiff`
     
    194200  * source:grass/trunk/lib/init/grass.py (full GRASS GIS standard startup "script")
    195201 * See also:
    196   * Tickets:
     202  * Tickets, PRs, commits:
    197203   * #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
    198204   * #2511 Starting GRASS in mapset which is not owned by the user
     
    204210   * #2685 Add ignore lock flag to grass command
    205211   * #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
    206214  * Documentation:
    207215   * [https://grass.osgeo.org/grass74/manuals/grass_database.html GRASS GIS Database]
     
    213221   * wiki:Grass7/VectorLib/OGRInterface
    214222   * 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):
    216226   * [https://github.com/qgis/QGIS/blob/0a1382a0be36d408aebd227fb0066f68c513e41e/python/plugins/processing/algs/grass7/Grass7Algorithm.py QGIS Processing Grass7Algorithm.py] source code
    217227   * [https://github.com/moovida/jgrasstools/blob/530c87f26d220f3eeff9d2fb9d21abd8821c00c3/grass/src/main/java/org/jgrasstools/grass/utils/ModuleSupporter.java uDig's JGrasstools] source code
     
    219229   * [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)
    220230   * [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
    234241 * Test and training tasks:
    235242  * 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.)
    237243   * 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.)
    238244   * 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.
     
    245251   * 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).
    246252  * 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: Python
    250  * Mentors: Vaclav Petras
    251  * Co-mentors: Pietro Zambelli
    252  * Proposed by: Vaclav Petras
    253253
    254254== Tips for students ==