Skip to content

Commit

Permalink
Merge pull request #21 from lukasValentin/dev
Browse files Browse the repository at this point in the history
Upgrading to EOdal version 0.1.0
  • Loading branch information
lukasValentin committed Dec 9, 2022
2 parents 36598bf + 5a92ffe commit 9728716
Show file tree
Hide file tree
Showing 63 changed files with 2,575 additions and 795 deletions.
4 changes: 0 additions & 4 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@ repos:
hooks:
- id: black
args:
- "--target-version=py38"
- "--target-version=py39"
- "--target-version=py310"
types: [python]

Expand All @@ -38,8 +36,6 @@ repos:
args: ["--profile=black"]
- id: nbqa-black
args:
- "--target-version=py38"
- "--target-version=py39"
- "--target-version=py310"
additional_dependencies: ["black==22.3.0"]
- id: nbqa-flake8
Expand Down
15 changes: 12 additions & 3 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,22 @@ The format is based on `Keep a Changelog`_, and this project adheres to `Semanti

Categories for changes are: Added, Changed, Deprecated, Removed, Fixed, Security.

Version `0.0.2 < https://github.com/remote-sensing-team/eodal/releases/tag/v0.0.2>`__
Version `0.1.0 < https://github.com/EOA-team/eodal/releases/tag/v0.1.0>`__
--------------------------------------------------------------------------------

Release date: YYYY-MM-DD
Release date: 2022-12-08

- Added: RasterCollection objects are now iterable (iterate over bands in collection)
- Added: RasterCollection now have a "apply" method allowing to pass custom functions to RasterCollection objects
- Added: RasterCollection now supports numpy-array like slicing using band names or band aliases
- Added: Band and RasterCollection objects now support clipping to rectangular bounds (i.e., spatial sub-setting)
- Changed: Band.reduce() and RasterCollection.band_summaries() now support creating statistics per Polygon features
- Added: SceneCollections are collections of 0 to N Scenes (RasterCollection + timestamp) and allow to store multiple Scenes over time
- Fixed: Map algebra now also works on RasterCollection supporting multiple cases (i.e., RasterCollection with other RasterCollection, scaler, etc.)
- Added: SceneCollection objects can be saved as pickled objects and loaded from pickled binary objects to make SceneCollections persistent

Version `0.0.1 < https://github.com/remote-sensing-team/eodal/releases/tag/v0.0.1>`__

Version `0.0.1 < https://github.com/EOA-team/eodal/releases/tag/v0.0.1>`__
--------------------------------------------------------------------------------

Release date: 2022-10-31.
Expand Down
69 changes: 45 additions & 24 deletions README.rst
Original file line number Diff line number Diff line change
@@ -1,40 +1,61 @@
|GHA tests| |Codecov report| |pre-commit| |black|

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
E:earth_africa:dal Earth Observation Data Analysis Library
==========================================================
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

................................................................................
A truely open-source package for unified analysis of Earth Observation (EO) data
................................................................................

The E:earth_africa:dal Python library to load, modify, analyze, modify and write Earth Observation data within an unified framework.
.. contents:: Overview
:depth: 3

**E:earth_africa:dal enables open-source, reproducible geo-spatial data science while lowering the burden of data handling on the user-side**
========================
About E:earth_africa:dal
========================

E:earth_africa:dal is a Python library enabling the acquisition, organization, and analysis of Earth observation data in a completely open-source manner.

Quick start
-----------
E:earth_africa:dal Python allows to

coming soon ...
* load
* modify
* analyze
* write
* and interface

Why eodal
---------
EO data within an unified framework. E:earth_africa:dal thus enables open-source, reproducible geo-spatial data science while lowering the burden of data handling on the user-side.
E:earth_africa:dal supports working in **cloud-environments** using [STAC catalogs](https://stacspec.org/) ("online" mode) and
on **local premises** using a spatial PostgreSQL/PostGIS database to organize metadata ("offline" mode).

**E:earth_africa:dal enables open-source, reproducible geo-spatial data science while lowering the burden of data handling on the user-side**
Read more about E:earth_africa:dal in [this peer reviewed article](https://doi.org/10.1016/j.compag.2022.107487).

E:earth_africa:dal is a lightweight ``Python3`` package to **organize**,
**explore** and **process** **Earth Observation data** in
an easy and intuitive manner. It supports the processing of **gridded datasets**,
**vector files** and the **spatial intersection** of these.
========================
Citing E:earth_africa:dal
========================

The roots of E:earth_africa:dal lay in **agricultural remote sensing applications** with **Sentinel-2**.
However, due to its **modular and object-oriented programming structure**, it allows the
**processing of (nearly) any type of Earth Observation data** and can be **adapted** to
**other remote sensing platforms** or **Earth Observation data sources** (e.g., Digital Elevation
Models, Soil Maps, Land Cover Maps etc.).
When using EOdal not only refer to our [license agreement](LICENSE) but also cite us properly:

E:earth_africa:dal supports working in **cloud-environments** using [STAC catalogs](https://stacspec.org/) ("online" mode) and
on **local premises** using a spatial PostgreSQL/PostGIS database to organize metadata ("offline" mode).
.. code::latex
@article{GRAF2022107487,
title = {EOdal: An open-source Python package for large-scale agroecological research using Earth Observation and gridded environmental data},
journal = {Computers and Electronics in Agriculture},
volume = {203},
pages = {107487},
year = {2022},
issn = {0168-1699},
doi = {https://doi.org/10.1016/j.compag.2022.107487},
url = {https://www.sciencedirect.com/science/article/pii/S0168169922007955},
author = {Lukas Valentin Graf and Gregor Perich and Helge Aasen},
keywords = {Satellite data, Python, Open-source, Earth Observation, Ecophysiology},
abstract = {Earth Observation by means of remote sensing imagery and gridded environmental data opens tremendous opportunities for systematic capture, quantification and interpretation of plant–environment interactions through space and time. The acquisition, maintenance and processing of these data sources, however, requires a unified software framework for efficient and scalable integrated spatio-temporal analysis taking away the burden of data and file handling from the user. Existing software products either cover only parts of these requirements, exhibit a high degree of complexity, or are closed-source, which limits reproducibility of research. With the open-source Python library EOdal (Earth Observation Data Analysis Library) we propose a novel software that enables the development of fully reproducible spatial data science chains through the strict use of open-source developments. Thanks to its modular design, EOdal enables advanced data warehousing especially for remote sensing data, sophisticated spatio-temporal analysis and intersection of different data sources, as well as nearly unlimited expandability through application programming interfaces (APIs).}
}
Examples
--------
==============================
Examples of E:earth_africa:dal
==============================

The following code snippet reads spectral bands from a Sentinel-2 scene
organized in .SAFE folder structure acquired over Southern Germany in
Expand Down Expand Up @@ -103,8 +124,8 @@ Output
:alt: Sentinel-2 Scene classification layer


============
Contributing
------------
============

Contributions to E:earth_africa:dal are welcome. Please make sure to read the [contribution guidelines](Contributing.rst) first.

6 changes: 3 additions & 3 deletions eodal/__meta__.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@
# version = "0.1.dev0"
author = (
"Crop Science, Institute of Agricultural Sciences, D-USYS, ETH Zurich, Zurich, Switzerland;\n"
"Remote Sensing Team, Division Agroecology and Environment, Agroscope, Zurich, Switzerland"
"Earth Observation of Agroecosystems Team, Division Agroecology and Environment, Agroscope, Zurich, Switzerland"
)
author_email = ""
description = "Earth Observation Data Analysis Library" # One-liner
url = "https://github.com/remote-sensing-team/eodal" # your project home-page
url = "https://github.com/EOA-team/eodal" # your project home-page
license = "GNU General Public License version 3" # See https://choosealicense.com
version = "0.0"
version = "0.1.0"
Loading

0 comments on commit 9728716

Please sign in to comment.