+1 Helena Helena Mitasova Professor, Department of Marine, Earth and Atmospheric Sciences Faculty Fellow, Center for Geospatial Analytics North Carolina State University Raleigh, NC 27695-8208
On Tue, Apr 19, 2022 at 5:25 PM Vaclav Petras <[email protected]> wrote: > +1, Vaclav > > On Tue, 19 Apr 2022 at 17:17, Veronica Andreo <[email protected]> > wrote: > >> 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 >> > _______________________________________________ > grass-psc mailing list > [email protected] > https://lists.osgeo.org/mailman/listinfo/grass-psc >
_______________________________________________ grass-psc mailing list [email protected] https://lists.osgeo.org/mailman/listinfo/grass-psc
