GeoPython 2024: Geospatial web applications from Jupyter notebooks using Python and Voilà

Описание к видео GeoPython 2024: Geospatial web applications from Jupyter notebooks using Python and Voilà

Davide De Marchi
Geospatial web-applications from Jupyter notebooks using Python and Voilà

Can we consider JupyterLab a software developer framework able to deal with complex geospatial apps? Curious to see an enhanced STAC client able to search, preview and fully exploit Copernicus products or some multipage geodata-centric web-apps for air quality and agriculture monitoring, fully developed inside JupyterLab?

At the Joint Research Centre of the European Commission, we are extensively using Python to develop geospatial web-applications that exploit big datasets like the Copernicus Sentinel products, continental scale Landcover/Landuse data, global DEMs, etc. Beside using JupyterLab as a data scientist environment to manipulate scientific data, we decided to keep the software development activities, mainly those targeting data visualization, in the same exact environment, thus assuring a smooth transition from data to communication. We create our web-apps as Jupyter notebooks and then deploy them using the Voilà plugin [1], which renders the notebooks by executing, but not showing, the code cells. To manage user interaction, we use the ipyvuetify library [2], which include a vast list of fancy, customizable, and modular widgets. We have built an open-source library (VOIS [3] [4]) to simplify the development activities and to promote code reuse. Full-page responsive applications using modal dialog-boxes and engaging visualizations allowing for modern user interaction are built, featuring geospatial data-search/data-browsing and easy communication of complex scientific results to a wider audience. This led to the creation of a general-purpose tool called CollectionsExplorer, featuring the fusion of a STAC [5] client with a GIS-like web-application for overlaying multiple, big, raster and vector data, as well as more vertical applications, for example, to monitor air quality in Europe or validate high-resolution agricultural geo-dataset at continental scale. This presentation will give insights on our Python-based geospatial applications development pipeline, discussing some lessons learnt and showing many real examples of general-purpose tools as well as vertical geospatial web-applications created using Jupyter/Voilà/VOIS and deployed in on-premises or commercial cloud platforms.

[1] https://voila.readthedocs.io/
[2] https://ipyvuetify.readthedocs.io/
[3] https://code.europa.eu/jrc-bdap/vois
[4] https://vois.readthedocs.io/
[5] https://stacspec.org/en

Комментарии

Информация по комментариям в разработке