+1 Moritz
Le 19 avril 2022 22:07:20 GMT+02:00, Veronica Andreo <[email protected]> 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 <[email protected]> >Date: lun., 18 abr. 2022 19:25 >Subject: [GRASS-dev] grass.jupyter Mini Project Final Report >To: <[email protected]>, <[email protected]> > > >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 >[email protected] >https://lists.osgeo.org/mailman/listinfo/grass-dev
_______________________________________________ grass-psc mailing list [email protected] https://lists.osgeo.org/mailman/listinfo/grass-psc
