GRASS GIS at OSGeo Community Sprint 2022

From GRASS-Wiki
Jump to navigation Jump to search

OSGeo Community Sprint 2022, Florence, Aug 27-28, 2022.


Participation is free of charge and anyone involved or interested in getting involved in OSGeo community projects is welcome.

This year we will try to offer the format an hour with the developer, where we ask seasoned community members to donate time for welcoming new members and introduce them to different projects or guide them through the setup of the development environment or translation tools and get started on the Foss4G journey.

You can choose to contribute to one or more projects. The sky is the limit. There’s always plenty to do – and it’s not all about programming. Translation, documentation, feedback, discussions, and testing are very important for projects! Conference registration is not a prerequisite for participation in the code sprint.


The code sprint will be held on 27-28 of August.


The codesprint will be hosted at the University of Florence.


Command Line Improvements

  • Finish issues #942 #753 #964 - A unified colorful prompt across all shells
    • I need help with windows for testing if color works as expected
    • Get clarification on whether issue #970 is up for grabs
    • Discuss with Vaclav about introducing sub commands into, and maybe get it started.

Discuss naming and presentation of GRASS GIS data hierarchy

  • Kladivova, Petrasova, Petras, Landa (2022, not published): GRASS GIS was conceived from its very beginning as a powerful geospatial computing tool that emphasized data integrity to deliver accurate results. To achieve consistent results when working with data from different sources, GRASS GIS requires the data to be imported into GRASS data storage and reprojected into a common coordinate reference system (CRS) predetermined by the user for each project. Within each project, called location, data are further organized into subprojects, called mapsets, used for managing different subregions or analyses. Additionally, mapsets have distinct processing settings such as computational extent and resolution. The directory with one or more locations is referred to as GRASS database and is typically named grassdata.
  • location and mapset -> project and subproject
  • GRASS database (GISDBASE, database directory) -> not needed as a prominent concept; a path, directory (folder) which happens to have one or more projects
  • More than just a rename, but different presentation.
  • Renaming modules:
    • g.project.switch (or g.switch.project) - change current project or subproject
    • - manage visibility of data in other subprojects
    • g.mapset and g.mapsets kept for backwards compatibility
    • g.proj - keep or rename?
  • grass.script.setup.init - add project and subproject keyword arguments; keep location and mapset
  • Workspace file (.gxw) -> automatically created in each subproject with the last used GUI state, but still needs to be available as now for things like 3D animations and
    • permanent versus temporary confusion
    • alternative names: default, base, main (if common files are moved to location, there is no need for a specific name at all)
    • also as a default subproject (mapset)? Path to project (location) would translate to project/{default}, e.g., project/PERMANENT

Tools versus Modules

  • Modular: A component added to a modular system
  • Tools: A thing which does things

GRASS GIS manual related

Python manual: get rid of the too many copyright statements:

SEO problems

  • esp. Google still refers to the GRASS GIS 7.8 manual!!

Encoding in meta tag now matches encoding of the files and it is UTF-8.

NC sample data on the website

New semantic versioning and GitHub milestones

  • rename label 8.4 to 8.3?


  • Best practice (recommendations) how to make a presentation on GRASS GIS
    • existing good material (e.g., reveal.js slides)
    • what should be mentioned
    • adversise the mailing list and new communication platform
    • ... add more.
  • add link to Anna's presentation on parallelization --> and blogpost
  • add link to Vashek's presentation on code style --> and blogpost

Parallel processing

  • r.mapcalc.tiled/r.*.tiled: set default window to non-square for faster row-based computation
  • develop a script which tests a combination of nprocs/memory settings to guide the user what to use on the particular machine
  • add link to Anna's presentation on parallelization


  • Document how to write test (or prominently say where this is already documented)


GitHub maintenance

  • use a project board (?) - discuss

Message Translation

  • how to backport translations (weblate pull requests)

Student grants

Web site

Juyper notebooks

  • fix timeseries plot which runs into an endless loop in t.rast.series - SQLite locking mess

JSON Ouput

Update GRASS modules to support json exports.

  • g.mapsets
  • g.mapset
  • g.location
  • r.describe
  • t.vect.list
  • g.region
  • r.univar
  • r.what
  • r.stats
  • r.coin


See (please register there)






Vaclav Petras

  • Indent most of C code. Figure out steps for updates of existing PRs.
  • Review PR.
  • Call with Wolf to discuss: CLI, CLI colors, subcommands, code layout, projects/locations.



  • location -> project
    • very clear that location has another meaning
    • higher consensus for changing location to project (comparing to need renaming mapset)
    • location used by many as project
  • mapset -> subproject
    • clarifies the hiearchy
    • does not need further comments
    • subproject clearly part of a project
  • rename can be backwards compatible
    • new modules
    • Python API
    • GUI
    • documentation
    • The words should be generally removed from the interface when they are not needed.
    • Full path to subproject (mapset) is already supported in the Python API.
    • old modules and parameters left, removed with next major version
    • default is not a good name
    • Should support the use case of using Python or R to just do computation and then everything is deleted, so there is no need for multiple subprojects (mapsets).
    • No: default, admin, protected
    • Maybe: base, main

Anna Petrasova

Vaclav Petras

  • Discuss location -> project rename.
  • Review and merge PRs.
  • Update some PRs with conflicts from indent of C code.


Markus Neteler

See also