GRASS GIS at OSGeo Community Sprint 2022: Difference between revisions
⚠️Wenzeslaus (talk | contribs) (→Goals) |
(→Sunday) |
||
(34 intermediate revisions by 6 users not shown) | |||
Line 23: | Line 23: | ||
The codesprint will be hosted at the University of Florence. | The codesprint will be hosted at the University of Florence. | ||
* Centro Didattico Morgagni UniFi in Viale Morgagni 42 -- 44 Firenze ([https://umap.openstreetmap.fr/it/map/foss4g-2022-sites_776000#16/43.7978/11.2472 map]). | * onsite: Centro Didattico Morgagni UniFi in Viale Morgagni 42 -- 44 Firenze ([https://umap.openstreetmap.fr/it/map/foss4g-2022-sites_776000#16/43.7978/11.2472 map]). | ||
* online participation (chat): https://gitter.im/grassgis/sprint | |||
== Goals == | == Goals == | ||
=== Command Line Improvements === | |||
* Finish issues [https://github.com/OSGeo/grass/issues/942 #942] [https://github.com/OSGeo/grass/issues/753 #753] [https://github.com/OSGeo/grass/issues/964 #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.project.switch (or g.switch.project) - change current project or subproject | ||
** g.search.path - manage visibility of data in other subprojects | ** g.search.path - manage visibility of data in other subprojects | ||
** g.mapset and g.mapsets kept for backwards compatibility | ** g.mapset and g.mapsets kept for backwards compatibility | ||
** grass.script.setup.init - add project and subproject keyword arguments; keep location and mapset | ** 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 thing which does things | |||
=== GRASS GIS manual related === | |||
Python manual: get rid of the too many copyright statements: | |||
* <code>(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.</code> | |||
* Example: https://grass.osgeo.org/grass82/manuals/libpython/grass.script.html | |||
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 === | |||
* Rename https://grass.osgeo.org/download/data/#NorthCarolinaDataset: take out <tt>_grass7</tt> 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: see e.g. the sponsoring/supporting plan as OSGeo has (https://www.osgeo.org/about/how-to-become-a-sponsor/) | |||
* 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|Student grants]] | |||
** edition 2022: [[Student Grants/2022]] (for adding ideas, see there) | |||
** 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 == | == Reports == | ||
[[File:FOSS4G2022 Florence sprint aug 27.jpg|600px|alt=|Happy coders at the sprint|Happy coders at the sprint]] | |||
=== Saturday === | === Saturday === | ||
==== | ==== Anna ==== | ||
* [https://gist.github.com/petrasovaa/356b2bf9671b2b6801963f4368d7db0b Extracting nodes by the number of connections] | |||
* ... | |||
==== 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. | |||
==== Ondřej ==== | |||
* Fix issues connected with Python 3.11 | |||
** [https://github.com/OSGeo/grass/pull/2539 GRASS not starting at all] | |||
** [https://github.com/OSGeo/grass/pull/2550 Fix deprecation warnings flooding from locale] | |||
==== 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. | |||
=== Sunday === | === 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 | |||
* PERMANENT | |||
** 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 ==== | |||
* fix [https://github.com/OSGeo/grass/pull/1634 parallel r.univar] | |||
* merge [https://github.com/OSGeo/grass/pull/2521 #2521] | |||
==== Vaclav Petras ==== | |||
* Discuss location -> project rename. | |||
* Review and merge PRs. | |||
* Update some PRs with conflicts from indent of C code. | |||
==== Ondřej ==== | |||
* [https://github.com/OSGeo/grass/pull/2561 Allow the user of i.vi PVI to specify the soil line slope] | |||
* [https://github.com/OSGeo/grass/pull/2557 Add Markdown linter to GitHub actions] (and fix the million raised issues - still work in progress) | |||
* . | ==== Markus Neteler ==== | ||
* Tests with planetary CRS codes (prep. for planned [[Student Grants/2022|Student grants 2022]]) | |||
== See also == | |||
* https://wiki.osgeo.org/wiki/FOSS4G_2022/Community_sprint | * https://wiki.osgeo.org/wiki/FOSS4G_2022/Community_sprint |
Latest revision as of 08:49, 1 September 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 thing 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!!
Encoding in meta tag now matches encoding of the files and it is UTF-8.
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: see e.g. the sponsoring/supporting plan as OSGeo has (https://www.osgeo.org/about/how-to-become-a-sponsor/)
- 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 (for adding ideas, see there)
- 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.
Ondřej
- Fix issues connected with Python 3.11
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.
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
- PERMANENT
- 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
- fix parallel r.univar
- merge #2521
Vaclav Petras
- Discuss location -> project rename.
- Review and merge PRs.
- Update some PRs with conflicts from indent of C code.
Ondřej
- Allow the user of i.vi PVI to specify the soil line slope
- Add Markdown linter to GitHub actions (and fix the million raised issues - still work in progress)
Markus Neteler
- Tests with planetary CRS codes (prep. for planned Student grants 2022)