New open-source Python library improves rapid mapping services

17 Mar 2022

In emergency services, rapid response is paramount. ICube-SERTIT’s Rapid Mapping Service provides near real-time delivery of geo-information to help emergency services respond quickly to disasters such as flooding, fires and landslides.

EOReader aims to implement all CEMS sensors

A new Python open-source library, called EOReader, speeds up this mapping response by enabling the easy opening of imagery from multiple satellite sensors, both optical and synthetic aperture radar (SAR).  

EOReader was developed by ICube-SERTIT, a technological platform of ICube Laboratory and part of the University of Strasbourg. ICube-SERTIT’s Rapid Mapping Service combines remote sensing images from many different types of satellite sensors to rapidly produce detailed maps of disaster locations.

Since timeliness is critical for emergency response, it is important to harmonise the extraction of data from this array of sensors. This was the motivation behind EOReader, an open-source Python library, which eases the loading and stacking of various optical and SAR sensors in a sensor-agnostic way.

ICube-SERTIT’s Rapid Mapping Service delivers on-demand information based on the output of over 20 different optical and radar sensors.

The service serves the Copernicus Emergency Management Service (CEMS) Rapid Mapping and Risk & Recovery and the International Charter Space and Major Disasters. It delivers early disaster response information, such as flood, fires and landslide rapid mapping, as well as recovery geo-information for preparedness and recovery phases.

EOReader can be used to load satellite bands, both optical and SAR, from over 20 Third Party Missions (TPM) and the Copernicus Sentinels. The optical sensors cover all ranges of data resolutions, depending on the needs of the disaster response, from the very high resolution Pléiades, WorldView and PlanetScope, to the high resolution Landsat missions. SAR sensors can also be managed in EOReader from a range of missions such as COSMO-SkyMed, RADARSAT-2, ICEYE and TerraSAR-X.

Optical band mapping in EOReader
Optical band mapping in EOReader

ICube-SERTIT tested data from different missions during the development of the library. Among these were test datasets from ICEYE and COSMO-SkyMed Second Generation, obtained through ESA’s Earthnet Programme.

Lead developer, Rémi Braun from ICube-SERTIT, explains, “There are many idiosyncrasies in the satellite sensor products from TPM providers, which need de-coding. The EOReader library opens the sensor products agnostically, recognising the sensor thanks to its product name and/or structure. This greatly simplifies the operator’s task.”

“We wanted to limit our use of third party tools in our automatic extraction chains. Since no comparable library existed in Python, we made EOReader open-source.”

The aim is to manage the use of all existing sensors available in CEMS and allow new sensors to be added seamlessly without tool modification.

ICube-SERTIT did not reinvent the wheel. Where possible, existing open-source third party Python libraries (e.g. rasterio and geopandas) are incorporated, and in particular for SAR products, ESA’s software SNAP.

“We see this as a healthy give and take operation, taking existing software and returning interesting added-value to the community,” adds Braun.

EOReader can be used to load satellite, DEM and Cloud bands as well as optical indices, e.g. Normalised Difference Vegetation Index (NDVI) or the Normalised Difference Water Index (NDWI), and stack them altogether in a user-friendly way, using band mapping to hide all sensor-related complexity.

Common natural disasters such as floods, fires and landslides, require varying band types.

“As an example, if you wish to detect water during a flood, you may require a RED band and a NDWI index. In EOReader, you can easily choose to load them regardless of the sensor, if available,” says Braun.

EOReader was released as open source in mid-2021, and while it is being used daily at ICube-SERTIT, there is growing interest in the community for this Python library. The company provides documentation, complemented by notebook tutorials for new users and a code repository.