FOSS4G 2023

Emanuele Capizzi

Temporary Research Fellow at Politecnico di Milano.


A QGIS plugin for local weather sensor data
Emanuele Capizzi

Ground-based weather sensor networks are essential in monitoring local weather patterns and climate. Integration of such data into GIS environments is critical to supporting manifold applications including urban planning, public health studies, and weather forecasting.
These networks use scattered geolocalized sensors to measure multiple atmospheric variables (e.g. air temperature, wind speed, precipitations). Often, data is distributed online by network managers which can be either local/national authorities, private companies, or volunteers. Due to the diversity of data providers, both formats and access patterns of meteorological sensor data are heterogeneous and the preprocessing tasks (e.g. temporal aggregations, spatial filtering) are generally time-consuming.
Given the above and to increase end-users exploitation of such sensor data, we present the development of an experimental QGIS plugin facilitating access and preprocessing of openly available data from ground-based sensor networks and enabling their direct use in QGIS. The plugin is designed to implement REST APIs connections and HTTP requests to download data. A user interface allows for selecting time intervals and types of observation to be downloaded. Once data is retrieved, the plugin provides options for filtering, outliers removal, time aggregation with summary statistics as well as observation mapping into a standard GIS layer. These functionalities are only partially available in similar existing QGIS plugins. The plugin leverages FOSS Python libraries for data handling including Pandas. The Dask parallel computing library is also exploited to speed up I/O operations on raw data.
The current version of the plugin is developed to retrieve and process weather sensor data provided by the Environmental Protection Agency of Lombardy Region (ARPA Lombardia), Northern Italy. The data retrieval is based on the Sodapy Python library, a Python client for the Socrata Open Data API. The plugin's work-in-progress source code is available at ( released under MIT license. The plugin is being developed within the LCZ-ODC project (agreement n. 2022-30-HH.0) funded by Italian Space Agency (ASI), which aims to identify Local Climate Zones within the Metropolitan City of Milan.
Ongoing work includes the extension of the plugin functionalities to incorporate additional data providers, starting from other Italian regional ARPAs. The goal of this project is to provide a reproducible framework to access and handle weather data into QGIS, thus extending the capability of the software to support a wider range of practitioners and applications.

Use cases & applications
UBT C / N110 - Second Floor