R is a data science language with strong support for spatial data handling and analysis as well as spatial statistics. It has a variety of extension packages for spatial analysis, some of which have been developed and maintained for several decades. Support for data structures like tables, matrices and (labelled) arrays is native; packages sp and raster have supported handling raster images early on. More recently, packages stars and terra have taken over this role, where package stars focuses more on transparent data structures, and multidimensional raster or vector data cubes whereas terra focuses more on high performance and raster stacks; both build against GDAL for I/O and heavy lifting. Both packages also assume that the data is present on the local machine, typically in the form of one or more files. If this is not the case, and data is for instance distributed over cloud storage, the R user needs to move there, and may need to write a loop over the required tiles. R packages rstac and gdalcubes [1,2] help to identify tiles using STAC queries, and building a regular data cube from an image collection. Distributing such tasks over many nodes is possible (with R), but not trivial. An easier and more user-friendly approach to distributed computing capabilities is to use a higher level API for cloud-based processing of Earth Observation data, such as openEO [3]. The recently released R package openeo [4] provides a native R client to interact with the openEO API, using a syntax that is familiar to R users in order to create geospatial and temporal analysis workflows. It also provides a STAC browser, integrated in rstudio, to examine the image collections available from an openEO backend. Results from openEO queries can be downloaded and viewed. It is planned that user-defined functions (UDFs) can be written in R, tested locally, and submitted e.g. as reducers in a call to an openEO backend to be iterated over all the imagery selected, after which results can be viewed or downloaded. Furthermore, the openEO client for R is designed to enable interaction with and processing in the openEO Platform environment. openEO Platform [5] is an operational service developed with ESA funding on top of openEO API. Key aspects of openEO Platform, such as the authentication with OIDC or the execution of processing in three federated backends is also enabled by the R client library.
The usability of the R-Client and R-UDFs have been showcased as a proof of concept within the openEO project. Timeseries break detection has been carried out on forest patches in the amazonas using the bfast method as an UDF running on an openEO backend. Future use cases plan to show applications of custom R-UDFs, which extend the capabilities of native openEO processes, including advanced time series modelling (phenology), temporal and spatial smoothing for downscaling Sentinel 5P data and machine learning for classification tasks.
[1] https://doi.org/10.1016/j.spasta.2020.100465
[2] https://r-spatial.org/r/2021/04/23/cloud-based-cubes.html
[3] https://doi.org/10.3390/rs13061125
[4] https://open-eo.github.io/openeo-r-client/
[5] https://openeo.cloud/
Global vegetation dynamics are changing rapidly under the influence of climate change and a rapidly increasing human population. Today the monitoring of our changing Earth with satellite data is possible at increasing spatial and temporal detail with the advent of novel satellites with free data access, such as the European Sentinel constellation. This is a huge opportunity for global vegetation monitoring and stresses the need to develop methods that can detect, characterize, and help to understand such change. Algorithms that can characterize vegetation dynamics and detect changes using frequent satellite images are of critical importance.
The ‘Breaks for Additive Season and Trend’ (BFAST) suite of functions is such an approach that has been developed to detect abrupt trend and seasonal changes in dense satellite image time series. BFAST algorithms can detect change in an unsupervised manner, without the need for training data or labels, such that it can detect breaks and abnormalities within large satellite image collections covering the Earth. It has been applied for different purposes, going from disturbance and recovery monitoring (floods, illegal deforestation, land degradation, etc.), phenological change detection, and land cover change monitoring.
Here, we provide an overview of the current functionality, challenges, and applications of the BFAST open-source collaborative code project for land cover change characterization. We show examples of different applications, such as global land cover monitoring in the context of the ESA WorldCover project, and deforestation and regrowth monitoring across the pan-tropics.
We present updates, such as the development of BFAST Lite, a newly proposed unsupervised time series change detection algorithm that is derived from the original BFAST algorithm, focusing on improvements w.r.t. speed and flexibility. The goal of the BFAST Lite algorithm is to aid the upscaling of BFAST for global land cover change detection. We demonstrate that BFAST functions are now also implemented in open collaborative cloud platforms e.g. Google Earth Engine, FAO online SEPAL system, and the collaborative ground segment Terrascope from VITO (BE). We present also the utilization of BFAST on different backends as Python and R user defined functions within the openEO application processing interface.
We conclude with key challenges and provide an outlook on the next steps. Key challenges currently are to increase the speed and flexibility of the algorithm for dealing with the increasingly large data amounts. Efficiency increase has been gained by implementing key aspect of the algorithm in C++ code and enabling change detection using Graphics Processing Units (GPUs) via Open Computing Language (OpenCL). Currently, deep learning and machine learning approaches are explored towards automated pre-processing of input and optimizing the parameters as well as the output of BFAST algorithms. This has the potential to make, e.g. BFAST Lite, more flexible and applicable globally by using its unsupervised change detection capacity for supervised land cover and land use change detection. We summarize key priorities for future developments.
State-of-the-art analysis workflows require mass processing of EO imagery, with data volumes easily exceeding several terabytes even for relatively small areas of interest. This can scale up to multi-petabytes for a continental or planetary-scale analysis.
Cloud processing platforms such as Google Earth Engine (GEE), the Australian Geoscience Data Cube, openEO Platform and CODE-DE leverage accessibility to EO data archives and facilitate time series analysis workflows. Unfortunately, the support of instant visualization of spatial-temporal data is often limited, and scripting language programming skills are hence required.
We here present the GEE Time Series Explorer for QGIS. It provides instant access to multi-petabyte satellite imagery and geospatial datasets stored in the Earth Engine Data Catalog. The user-friendly interface gives direct access to the most popular satellite imagery collections like Sentinel, Landsat and MODIS. Users can apply data preparation steps like i) filtering by date range and image properties, ii) cloud masking, or iii) spectral reflectance scaling. Collection images can be visualized individually or aggregated through image compositing and mosaicking. Requested RGB data is delivered by the Earth Engine cloud computing service via a Web Map Service (WMS). The requested data is processed on-demand for the current map view extent and scale level, leading to fluid exploration from local to regional to planetary scales.
The GEE Time Series Explorer supports interactive spectral-temporal profile sampling and visualization for selected point locations. The download of bigger sample sets is also possible and allows sample-based feasibility analysis, prior to any mass processing workflow.
Recently, the GEE Time Series Explorer was used in the context of a sample-based mapping of land use on pivot irrigation plots across the Cerrado Biome in Brazil (ANA and INPE, 2021). In
the study, time series data for 152,000 samples were downloaded and fed into a processing chain for deriving phenological information and ultimately classification of land use (Bendini et
al., 2019). The same workflow has been used for Brazil´s irrigation atlas (ANA, 2021) and will contribute to an operational monitoring system to assess water consumption across Brazil.
In addition, the GEE Time Series Explorer was used for labelling reference samples to validate maps on long-term agricultural land use around the Aral Sea in Central Asia (Müller et al., 2021). A set of 2,187 validation samples was labelled by eight trained interpreters at annual intervals between 1987 and 2019 and used for state-of-the-art accuracy assessment with unbiased area estimates (Olofsson et al., 2014) of irrigated cropland in the region.
The here presented GEE Time Series Explorer is integrated into QGIS, one of the most popular and widely used open source GIS packages available. It can be used from within the QGIS main window or the EnMAP-Box, a QGIS plugin that has a strong focus on raster data processing and visualization. The EnMAP-Box introduces and improves some concepts in QGIS like i) freely arrangeable map views, ii) spectral and temporal annotations for raster bands, allowing for better spectral and temporal profile plotting, iii) a spectral library view for visualizing raster profiles and building libraries. Those extra features will improve data exploration and utilization even more.
Orfeo Toolbox (OTB) is a free and open-source remote sensing software (https://zenodo.org/record/5418155). It is available on multiple platforms, Linux, Windows and MacOs, and was developed primarily by CNES (French Space Agency) and CS Group in the frame of the development of the ORFEO program (French and Italian support program for Pleiades and Cosmo-Skymed).
OTB can process large images thanks to its built-in streaming and multithreading mechanisms. Its data processing schema is primarily based on ITK pipelines, and uses GDAL dependency to read and write raster and vector data. Many formats are supported by the library (at least those supported by GDAL) as CosmoSkyMed, Formosat, Ikonos, Pleiades, QuickBird, Radarsat 2, Sentinel 1, Spot5, Spot 6/7, TerraSarX or WorldView 2.
OTB provides a lot of applications to process optical and SAR products: ortho-rectification, calibration, pansharpening, classification, large-scale segmentation and more. The library is written in C++ but all the applications can also be accessed from Python, command line launcher, QGIS and Monterverdi, a powerful satellite image visualization tool bundled in the OTB packages capable of manipulating large images efficiently.
The library also facilitates external contributions thanks to the remote module functionality: users can add new applications without modifying the core of the library. If this new remote module is relevant, it could be added as an official remote module, like DiapOTB (differential SAR interferometric processing chain) and OTBTensorflow (multi-purpose deep learning framework, targeting remote sensing images processing).
Moreover, several operational image processing chains are based on OTB: their algorithms use the framework of OTB Applications while the orchestration is written in python. Some of the chains are also open source: Let It Snow (Snow cover detection), iota2 (Large Scale Land Surface Classification), WASP (Multitemp images fusion), S1Tiling (Sentinel-1 calibration and MAJA (Maccs-Atcor Joint Algorithm). The Orfeo Toolbox is also a part of the Sentinel 2 ground segment, being integrated in the S2 Instrument Processing Facility (IPF) module where it is used for radiometric corrections and resampling.
In the latest releases (from 7.x to 8.0), several features have been added as new SAR sensor models and new applications, and the OSSIM dependency - used for geometric sensor modelling and metadata parsing – has been removed in favor of functionalities available in GDAL. The aim of the presentation is to present the major features of OTB, the latest updates, the future features and architecture of the library and how OTB is used at CNES and CS Group to process data from scientific and developer points of view.
The current status & evolution plans of the ESA SNAP toolbox, the free and open source toolbox for the processing of ESA and 3rd party EO satellite imagery, will be presented.
The SentiNel Application Platform SNAP is the first-choice tool when new as well as experienced users want to work with ESA’s Sentinel, ENVISAT and Earth Explorer optical and SAR data, as well as combining them with other Earth Observation data. SNAP counts almost 200 000 downloads for the current version. It has a vibrant community and a very active forum with more than 8000 registered users. SNAP has been available for more than 6 years and, with the inclusion of its predecessor BEAM, a toolbox for processing has been offered for more than 20 years.
SNAP is a generic toolbox for raster image data from Earth Observation Satellites. It is fully plug-in based and hosts the Sentinel-1, -2 and -3 Toolboxes, as well as the Proba-V, SMOS, Radarsat and Chris Toolboxes. The NASA Ocean Biology Processing Group (OBPG) has based their SeaDAS application on SNAP too. In addition to desktop visualisation and analysis, SNAP supports EO data processing interactively and in command-line mode. The latter is used for continuous NRT processing as well as for mass production. We will give an overview of the status of the SNAP toolbox, in order to give a very quick introduction to new users, and we present the new features of the latest version SNAP 9 release, such as the improved Colour Manipulation Tool, new Change Vector Analysis, a new OLCI Anomaly Detection and new InSAR tools for ionospheric correction and retrieval of Vertical and E-W motion.
In SNAP 9 a new standard data format has been introduced which is based on the cloud optimised format zarr. Zarr is an established format when working with scientific datacubes. Zarr has been initially developed in the Python community. The SNAP team at Brockmann Consult has developed JZarr, a Java library providing read and write capabilities for this format. The implementation supports chunked, compressed, N-dimensional arrays. Since OpenDataCube, an Open Source Geospatial Data Management & Analysis Platform or the xcube datacube used inside the EuroDataCube by ESA, rely on the zarr datacubes, SNAP 9 has now opened the door to link its EO data processing and analysis tools with the power of datacube.
This enables a SNAP user to read from SNAP directly the layers contained in a datacube, opened from local storage and, in future, from any location in the cloud via its URL. Cube data can thus be visualised, analysed, and processed like any other data currently accessible in SNAP. Finally, SNAP will be able export its results as a datacube.
We will present this link at the example of two current developments, the ESA project BalticAIMS a system is currently being developed which integrated a workflow composed of SNAP processors in an operational data processing system with xcube based datacubes where a variety of heterogeneous data sources are harmonised and made analysis ready, and the Agricultural Virtual Laboratory (AVL) project, where SNAP operators are used within TAO and where the results are converted to Zarr and datacubes. TAO (Tool Augmentation by user enhancements and
Orchestration) is an orchestration and integration framework for remote sensing processing.
The support for reading and writing remote datacubes will further enhance the usability of datacubes within SNAP. This lowers the time barrier for users to get the hands on the data they are interested in. No pre-downloading will be necessary. You can just select the remote datacube and then analyse and inspect the data.
The further evolution of SNAP will ease the process to work with datacubes by stacking data of the same kind. Especially when it is necessary to subsequently add new layers to the cube. For example, when processing monthly averages over the course of a year and you can add each month one by one to the layers. This will be achieved by implementing so-called product groups. Product groups are groups of products, as the name implies.
At the time of the presentation SNAP 9 will be available and SNAP 10 will follow shortly after.