GRASS GIS at OSGeo Community Sprint 2022
OSGeo Community Sprint 2022, Florence, Aug 27-28, 2022.
Introduction
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.
When
The code sprint will be held on 27-28 of August.
Where
The codesprint will be hosted at the University of Florence.
- onsite: Centro Didattico Morgagni UniFi in Viale Morgagni 42 -- 44 Firenze (map).
- online participation (chat): https://gitter.im/grassgis/sprint
Goals
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 grass.py, 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
- g.search.path - 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 g.print.ws
- PERMANENT
- 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 things which does things
Python manual: get rid of the too many copyright statements:
(C) 2008-2010 by the GRASS Development Team This program is free software under the GNU General Public License (>=v2). Read the file COPYING that comes with GRASS for details.
- Example: https://grass.osgeo.org/grass82/manuals/libpython/grass.script.html
SEO problems
- esp. Google still refers to the GRASS GIS 7.8 manual!!
NC sample data on the website
- Rename https://grass.osgeo.org/download/data/#NorthCarolinaDataset: take out _grass7 to not confuse G8 users
New semantic versioning and GitHub milestones
- rename label 8.4 to 8.3?
Marketing
- 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
Tests
- Document how to write test (or prominently say where this is already documented)
Sponsorship
- raise more money at https://opencollective.com/osgeo/projects/grass
- add different levels
- explain better what it is a good idea to donate money (what is the value gained for the donor)
GitHub maintenance
- use a project board (?) - discuss
Message Translation
- how to backport translations (weblate pull requests)
Student grants
- new round at Student grants
- edition 2022: Student Grants/2022
- add collection of ideas
- find funding
Web site
- hugo: merge the version variable PR (https://github.com/OSGeo/grass-website/pull/318)
- Add roadmap, with iframe pointing to milestones in GitHub?
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.info
- r.stats
- r.report
- r.coin
Attending
See https://wiki.osgeo.org/wiki/FOSS4G_2022/Community_sprint#GRASS_GIS (please register there)
Reports
Saturday
Anna
Markus
- set up https://gitter.im/grassgis/sprint
- Talk to Luca :-)
- discuss Student Grants/2022 with Vero
- review PRs
- In GitHub, the milestone "8.4.0" has been renamed to "8.3.0" (https://github.com/OSGeo/grass/milestone/13) following the adoption of full semantic versioning.
Sunday
Renaming
- 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
You
- ...
Vaclav Petras
- Discuss location -> project rename.
- Review PRs.