EODIE 2.0.0 Documentation

Purpose

EODIE is a toolkit to extract object based timeseries information from Earth Observation data.

The EODIE code can be found on Gitlab .

The goal of EODIE is to ease the extraction of time series information at object level. Today, vast amounts of Earth Observation data are available to the users via, for example, Earth Explorer or SciHub. Often, not the whole images are needed for exploitation, but only the timeseries of a certain feature on object level. Objects may be polygons depicting agricultural field parcels, forest plots, or areas of a certain land cover type, for instance.

EODIE takes the objects in as polygons in a vector file as well as the timeframe of interest and the features (eg. vegetation indices) to be extracted. The output is a per polygon timeseries of the selected features over the timeframe of interest.

Is EODIE suitable for me?

To use EODIE a general understanding of geospatial concepts is helpful. You will need:

  • Access to remote sensing data over your timeframe and area of interest (e.g. Sentinel-2/Landsat 8)

  • A geospatial vector file with polygons of your objects of interests - supported formats are, for instance, ESRI Shapefile, GeoPackage, GeoJSON, csv and FlatGeoBuf.

EODIE is particularly designed for people wanting to exploit timeseries information of raster remote sensing data without the need for dealing with particularities of the data itself. EODIE produces human and machine readable csv files containing all information needed to start working with the data. A database output is also available.

Installation

Please visit Installation for installation instructions using conda.

Getting started

You can test the usage of EODIE as command line tool by following the Examples .

Maintainers

Samantha Wittke, Finnish Geospatial Research Institute in the National Land Survey of Finland ([ORCiD](https://orcid.org/0000-0002-9625-7235))

Contributors

Citation

EODIE - Earth Observation Data Information Extractor (2022) S. Wittke [online] , DOI: https://doi.org/10.5281/zenodo.4762323

Projects

Projects, enabled by EODIE or where EODIE or a derivative of EODIE has been used:

Contribution guide

Contributions can be made following the Contribution Guide

Acknowledgements

This project was initiated under the Academy of Finland research project 295047 in collaboration with Paula Litkey and Miloš Pandžić and has been supported also from the project 316096/320075. We made use of geospatial data / computing resources provided by ‘Open Geospatial Information Infrastructure for Research’ (oGIIR, urn:nbn:fi:research-infras-2016072513). Part of the work has also been done under the umbrella of Academy of Finland flagship project UNITE (337656). Ms. Wittke acknowledges the PhD grant from Aalto School of Engineering. We are also grateful for the constructive comments on the code and documentation by the Nordic-RSE community (Richard Darst, Radovan Bast, Luca Ferranti, Enrico Glerean and Matthew West). The development of the EODIE Galaxy Tool has been supported by EOSC-Nordic, a project funded by the European Union’s Horizon 2020 research and innovation programme under grant agreement No 857652 and implemented by Anne Fouilloux.

The authors would also like to thank the developers of the following tools:

  • EODIE processing workflows have been parallelized with dask.

  • The docstring consistency and grammar have been improved with pydocstyle.

  • Unused imports have been identified with Vulture.

  • The overall code formatting has been improved with Black.

Changelog

2.0.0

  • Added dependency on dask

  • Rewrote eodie_process.py and moved majority of code to workflow.py

  • Defined separate workflows for supported platforms (s2, ls8, tif)

  • Implemented process parallelization with dask

  • Raster validation, cloudmasking and index extraction are individually parallelized steps - in old EODIE these were executed in loops

  • Introduced geopandas GeoDataframe as base format for vector operations

  • Removed command line argument –input_type, –keep_splitted_shp and –exclude_splitbytile

  • Userinput –vector now requires full path to the vectorfile (extension included)

  • Moved content of user_config.yml to userinput and platform-related configuration files

  • Added userinput –maxcloudcover to allow user manipulate raster validation

  • Added userinput –resampling_method

  • Added helper script unzip_ls8_grid.py for unzipping and relocating Landsat 8 tiling grid

1.1.0

  • Added vector file support for GeoPackage, GeoJSON, FlatGeoBuf and csv files.

  • Added user inputs for different file types

  • Changed user input names (–dir to –rasterdir, –file to –rasterfile, –shp to –vector, –exclude_splitshp to –exclude_splitbytile)

  • Removed need for subprocess

  • Added helper script examine_geopackage.py

  • Renamed helper script examine_shapefile.py to examine_vectorfile.py

1.0.2

  • set usable CPUs for splitshp to 1, if number of available CPUs <= 2

1.0.1

  • Landsat 8 support enabled