[GRASS-PSC] [Motion] Approve Caitlin's student grant final report and issue the second payment

Moritz Lennert mlennert at club.worldonline.be
Thu Apr 21 12:34:00 PDT 2022


+1

Moritz 

Le 19 avril 2022 22:07:20 GMT+02:00, Veronica Andreo <veroandreo at gmail.com> a écrit :
>Dear PSC,
>
>Caitlin has just completed her project for the student grant and submitted
>the final report (I FWD it here in case you missed it).
>
>I hereby propose to approve her final report and issue the second half of
>the payment. Big thanks to Caitlin and her mentors for your work and
>commitment! Thanks as well to those testing and providing feedback along
>the process! Great work Caitlin!! Congratulations!
>
>I start with my +1 !!
>
>Vero
>
>---------- Forwarded message ---------
>De: Caitlin Haedrich <caitlin.haedrich at gmail.com>
>Date: lun., 18 abr. 2022 19:25
>Subject: [GRASS-dev] grass.jupyter Mini Project Final Report
>To: <grass-dev at lists.osgeo.org>, <grass-user at lists.osgeo.org>
>
>
>Hi all,
>
>Last week, we wrapped a final push on grass.jupyter and are excited for its
>official release with GRASS 8.2. Here's my final report along with a
>summary of grass.jupyter changes introduced as part of the project. Thank
>you all for your support, feedback and testing over the past few months!
>
>*The state of the art BEFORE the start of the Mini Project:*
>During GSoC 2021, we created “grass.jupyter”, a package that improves the
>integration of GRASS GIS and Jupyter with a set of functions for displaying
>GRASS data in Jupyter Notebooks. In its previous state, “grass.jupyter”
>allows users to create static visuals and simple interactive maps. However,
>several additional features are needed to allow Jupyter users to fully and
>easily access the power GRASS, including space-time dataset visualization
>and more options for interactive mapping.
>
>*Project Goals*:
>In preparation for the stable release of grass.jupyter with GRASS 8.2, this
>project had three main goals: (1) create space time dataset visualizations
>for use in Jupyter Notebooks, (2) improve the integration of GRASS with
>folium (leaflet library for Python) and (3) write a function for displaying
>vector attributes in nicely-formatted tables (using Pandas or Geopandas).
>Along the way, we also wanted to finalize the naming of grass.jupyter
>classes and create documentation (thank you Vaclav Petras).
>
>*The state of the art AFTER the Mini Project:*
>1. New TimeSeriesMap class that creates ipywidget time sliders of space
>time datasets (see attached timeseriesmap.png) and a notebook documenting
>it's usage [1]
>2. Improved GRASS-folium integration allowing rasters and vectors to be
>added to existing folium maps (see attached grass-folium.png) and updated
>notebook demonstrating its usage [2]
>3. Updated class names:
>
>   - GrassRenderer -> Map
>   - Grass3dRenderer -> Map3D
>   - InteractiveMap
>   - TimeSeries -> TimeSeriesMap
>
>4. Thanks to Vaclav Petras, we also have a manual page for grass.jupyter [3]
>5. I didn't end up working to integrate GRASS and Pandas. It seems that it
>is quite straightforward to display vector attributes in nicely-formatted
>Pandas tables. For example:
>
>>>> import pandas as pd
>
>>>> import sqlite3
>>>> sql_path = gs.read_command("db.databases",
>driver="sqlite").replace('\n', '')
>>>> con = sqlite3.connect(sql_path)
>>>> sql_stat="SELECT * FROM field"
>>>> df = pd.read_sql_query(sql_stat, con)
>
>>>> con.close()
>>>> df
>
>There are other outputs that would be nice to display in nice Pandas
>tables, like text output from r.univar, r.stats, or t.vect.list. However,
>this is difficult since there is no standard output that is easily
>parse-able to pandas. I think the best way would be to create a standard
>json or csv output for all modules that return text. Then, it would be
>simple to take any module output and convert to a nice-looking Pandas table.
>
>*Next Steps:*
>1. Bug: InteractiveMap does not honor use_region=True for vectors.
>2. Bug: InteractiveMap for Jupyter does not handle not existing data
>properly (https://github.com/OSGeo/grass/issues/2302)
>3. InteractiveMap: add legend options for rasters, support simpleCRS for
>faster rendering, ToolTip integration for vector attributes
>4. Continue Pandas integration by adding standard json or csv output to
>modules that return text
>5. ... And many others! I think there's still lots of ways we can improve
>and expand the integration of GRASS and Jupyter. Ideas welcome.
>
>You can find an archive of all my weekly reports at [4] and follow next
>steps for grass.jupyter on our project page on GitHub [5]. Thank you again
>to Vaclav Petras and Anna Petrasova for their guidance and contributions to
>grass.jupyter. And, another thank you to Vero Andreo, Stefan Blumentrath
>and Markus Neteler for their feedback and testing!
>
>Best,
>Caitlin
>
>[1]
>https://mybinder.org/v2/gh/OSGeo/grass/main?urlpath=lab%2Ftree%2Fdoc%2Fnotebooks%2Ftemporal.ipynb
>[2]
>https://mybinder.org/v2/gh/OSGeo/grass/main?urlpath=lab%2Ftree%2Fdoc%2Fnotebooks%2Fgrass_jupyter.ipynb
>[3] https://grass.osgeo.org/grass81/manuals/libpython/grass.jupyter.html
>[4]
>https://trac.osgeo.org/grass/wiki/GSoC/2021/JupyterAndGRASS/MiniGrant2022
>[5] https://github.com/OSGeo/grass/projects/7
>_______________________________________________
>grass-dev mailing list
>grass-dev at lists.osgeo.org
>https://lists.osgeo.org/mailman/listinfo/grass-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/grass-psc/attachments/20220421/36dc47b4/attachment.html>


More information about the grass-psc mailing list