Changes between Version 41 and Version 42 of GSoC/2018


Ignore:
Timestamp:
03/10/18 14:54:19 (7 years ago)
Author:
wenzeslaus
Comment:

more examples, test tasks, link tickets

Legend:

Unmodified
Added
Removed
Modified
  • GSoC/2018

    v41 v42  
    294294
    295295 * TL;DR: Make running of GRASS GIS modules as easy as it is to run GDAL commands.
     296  * `grass run r.slope.aspect elevation=elevation.tiff slope=slope.tiff aspect=aspect.tiff`
     297  * CLI like GDAL has.
    296298  * No GRASS Database, Location, Mapset to deal with.
    297299  * No import, export from user perspective.
     
    324326  * Ideally this should work also with PostGIS and databases provided through GDAL/OGR.
    325327 * Proposal should discuss and address how advanced things such raster algebra, multi-map inputs and outputs, temporal framework, cartography and visualization tools will work.
     328 * Use should be able to always specify the details manually:
     329
     330{{{
     331grass run --mapset=/some/directory/grassdata/ncspm/practice1 r.lake elevation=some/file.tiff ...
     332grass run --region="s=55600 n=60500..." --mask=some/mask.tiff r.lake elevation=some/file.tiff ...
     333grass run --crs=EPSG:3358 --mask=some/mask.tiff r.lake elevation=some/file.tiff ...
     334}}}
     335
    326336 * The system behind the interface will be inherently fragile, so it is necessary to write large amount of tests which would check different combinations of data types and projections.
    327337 * All the underlying code is expected to be in Python, so the project should involve also creation of Python API on the way.
     
    334344  * source:grass/trunk/lib/init/grass.py (full GRASS GIS standard startup "script")
    335345 * See also:
    336   * #2579 Specify command to be executed as parameter of grass command (patch) and other suggestion for CLI
    337   * [http://lists.osgeo.org/pipermail/grass-dev/2015-January/072979.html grass-dev QGIS Processing & GRASS (January 2015)]
    338   * #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
    339   * [http://grasswiki.osgeo.org/wiki/Working_with_GRASS_without_starting_it_explicitly Working with GRASS without starting it explicitly]
    340   * wiki:Grass7/VectorLib/OGRInterface
    341   * wiki:Grass7/VectorLib/PostGISInterface
    342   * [https://github.com/qgis/QGIS/blob/0a1382a0be36d408aebd227fb0066f68c513e41e/python/plugins/processing/algs/grass7/Grass7Algorithm.py QGIS Processing Grass7Algorithm.py] source code
    343   * [https://github.com/moovida/jgrasstools/blob/530c87f26d220f3eeff9d2fb9d21abd8821c00c3/grass/src/main/java/org/jgrasstools/grass/utils/ModuleSupporter.java uDig's JGrasstools] source code
    344   * [http://sextante.googlecode.com/svn/trunk/soft/sextante_lib/sextante_gui/src/es/unex/sextante/gui/grass/ SEXTANTE grass] source code (broken link)
    345   * [https://github.com/geopython/PyWPS/blob/425f0eb160f60714a6705a24ba926e03690ab371/pywps/Grass.py PyWPS source code] and [http://pywps.wald.intevation.org/documentation/process.html PyWPS documentation] (broken link)
    346   * [https://code.google.com/p/wps-grass-bridge/source/browse/trunk/?r=97 wps-grass-bridge] source code (broken link)
    347   * Related discussions on mailing list:
    348    * [http://lists.osgeo.org/pipermail/grass-dev/2015-February/073867.html On GSoC Proposal New easy-to-use...]
    349    * [http://lists.osgeo.org/pipermail/grass-dev/2015-March/074433.html GSOC project proposal]
     346  * Tickets:
     347   * #2579 Specify command to be executed as parameter of grass command (patch) and other suggestion for CLI
     348   * #2678 GRASS starts even when Mapset is locked
     349   * #2679 Drop or fix setting of Location and Mapset using environmental variables
     350   * #2681 Remove legacy meaning of LOCATION variable
     351   * #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
     352  * Mailing list and wikis:
     353   * [http://lists.osgeo.org/pipermail/grass-dev/2015-January/072979.html grass-dev QGIS Processing & GRASS (January 2015)]
     354   * [http://grasswiki.osgeo.org/wiki/Working_with_GRASS_without_starting_it_explicitly Working with GRASS without starting it explicitly]
     355   * wiki:Grass7/VectorLib/OGRInterface
     356   * wiki:Grass7/VectorLib/PostGISInterface
     357  * Other projects (see also the ones linked in the text):
     358   * [https://github.com/qgis/QGIS/blob/0a1382a0be36d408aebd227fb0066f68c513e41e/python/plugins/processing/algs/grass7/Grass7Algorithm.py QGIS Processing Grass7Algorithm.py] source code
     359   * [https://github.com/moovida/jgrasstools/blob/530c87f26d220f3eeff9d2fb9d21abd8821c00c3/grass/src/main/java/org/jgrasstools/grass/utils/ModuleSupporter.java uDig's JGrasstools] source code
     360   * [http://sextante.googlecode.com/svn/trunk/soft/sextante_lib/sextante_gui/src/es/unex/sextante/gui/grass/ SEXTANTE grass] source code (broken link)
     361   * [https://github.com/geopython/PyWPS/blob/425f0eb160f60714a6705a24ba926e03690ab371/pywps/Grass.py PyWPS source code] and [http://pywps.wald.intevation.org/documentation/process.html PyWPS documentation] (broken link)
     362   * [https://code.google.com/p/wps-grass-bridge/source/browse/trunk/?r=97 wps-grass-bridge] source code (broken link)
     363   * Related discussions on mailing list:
     364    * [http://lists.osgeo.org/pipermail/grass-dev/2015-February/073867.html On GSoC Proposal New easy-to-use...]
     365    * [http://lists.osgeo.org/pipermail/grass-dev/2015-March/074433.html GSOC project proposal]
     366   * Similar complex command line interfaces to learn from: !GeoGig, !ImageMagic (compare new and old CLI), Git, Docker
     367 * Test and training tasks:
     368  * Tests and extent `--exec` functionality:
     369   * Add `--tmp-location` which runs `--exec` in a database/location/mapset which are created at the beginning and deleted at the end.
     370   * Add `-c XY` and `-c LL` for simple unprojected and latitude-longitude Locations (compare options in the current CLI to wxGUI Location Wizard).
     371   * Add `--clean` (current default) and `--no-clean` which say if `--exec` should clean the `.tmp` directory in the Mapset (for parallel execution).
     372   * Add `--lock` (current default) and `--no-lock` which say if `--exec` should lock the Mapset (for parallel execution).
     373   * Add `--region` to set a temporary computational region for the execution.
     374   * Add `--import-raster=some/file.tiff` which imports (r.in.gdal or r.import) a raster file (same for vector).
     375   * Add `--link-raster=some/file.tiff` which links (r.external) a raster file (same for vector).
     376   * Add `--export-raster=some/file.tiff` which exports (e.g. r.out.gdal) a raster file (same for vector).
     377   * Add `--link-output-raster=some/file.tiff` which creates (r.external.out) a new (output) raster file (same for vector).
    350378 * Language requirements: Python
    351  * Mentor for the GRASS GIS part: Vaclav Petras
    352  * Mentor for the QGIS part: ?
    353  * Mentor for the <insert other OSGeo project> part: ?
    354  * Co-mentors (e.g. PostGIS connection part): ?
     379 * Mentors: Vaclav Petras
     380 * Co-mentors: ?
    355381== Tips for students ==
    356382