Skip to main content

yeoda provides lower and higher-level data cube classes to work with well-defined and well-structured earth observation data.

Project description

yeoda

Build Status Coverage Status PyPi Package RTD License: MIT

Earth Observation (EO) data, I must read.

Description

yeoda stands for your earth observation data access and provides lower and higher-level data cube classes to work with well-defined and structured earth observation data. These data cubes allow to filter, split and load data independently from the way the data is structured on the hard disk. Once the data structure is known to yeoda, it offers a user-friendly interface to access the data with the aforementioned operations. Internally, the package relies on functionalities provided by geopathfinder (filepath/filename and folder structure handling library), veranda (IO classes and higher-level data structure classes for vector and raster data) and geospade (raster and vector geometry definitions and operations). Moreover, another very important part of yeoda is that it deals with pre-defined grids like the Equi7Grid or the LatLonGrid. These grid packages can simplify and speed up spatial operations to identify tiles/files of interest (e.g, bounding box request by a user).

Limitations and Outlook

At the moment the functionality of yeoda is limited in terms of flexibility with different file types, bands and tiles, e.g. you can only load data from one tile and one band. This will change in the future by allowing to load data also independently from tile boundaries, bands and file types. Most changes will take place in veranda and geospade, so the actual interface to the data given by yeoda should stay approximately the same.

Installation

The package can be either installed via pip or if you solely want to work with yeoda or contribute, we recommend to install it as a conda environment. If you work already with your own environment, please have look at conda_env.yml or setup.cfg for the required dependencies.

pip

To install yeoda via pip in your own environment, use:

pip install yeoda

ATTENTION: Packages like gdal, cartopy, or geopandas need more OS support and have more dependencies then other packages and can therefore not be installed solely via pip. Thus, for a fresh setup, an existing environment with the conda dependencies listed in conda_env.yml is expected. To create such an environment, you can run:

conda create -n "yeoda" -c conda-forge python=3.7 gdal=3.0.2 geopandas cartopy

conda

The packages also comes along with a pre-defined conda environment (conda_env.yml). This is especially recommended if you want to contribute to the project. The following script will install miniconda and setup the environment on a UNIX like system. Miniconda will be installed into $HOME/miniconda.

wget http://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh
bash miniconda.sh -b -p $HOME/miniconda
export PATH="$HOME/miniconda/bin:$PATH"
conda env create -f conda_env.yml
source activate yeoda

This script adds $HOME/miniconda/bin temporarily to the PATH to do this permanently add export PATH="$HOME/miniconda/bin:$PATH" to your .bashrc or .zshrc.

For Windows, use the following setup:

  • Download the latest miniconda 3 installer for Windows
  • Click on .exe file and complete the installation.
  • Add the folder condabin folder to your environment variable PATH. You can find the condabin folder usually under: C:\Users\username\AppData\Local\Continuum\miniconda3\condabin
  • Finally, you can set up the conda environment via:
    conda env create -f conda_env.yml
    source activate yeoda
    

After that you should be able to run

python setup.py test

to run the test suite.

Contribution

We are happy if you want to contribute. Please raise an issue explaining what is missing or if you find a bug. We will also gladly accept pull requests against our master branch for new features or bug fixes. If you want to contribute please follow these steps:

  • Fork the yeoda repository to your account
  • Clone the yeoda repository
  • Make a new feature branch from the yeoda master branch
  • Add your feature
  • Please include tests for your contributions in one of the test directories. We use py.test so a simple function called test_my_feature is enough
  • Submit a pull request to our master branch

Citation

DOI

If you use this software in a publication then please cite it using the Zenodo DOI. Be aware that this badge links to the latest package version.

Please select your specific version at https://doi.org/10.5281/zenodo.3540693 (link to first release) to get the DOI of that version. You should normally always use the DOI for the specific version of your record in citations. This is to ensure that other researchers can access the exact research artefact you used for reproducibility.

You can find additional information regarding DOI versioning at http://help.zenodo.org/#versioning.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

yeoda-0.3.0.tar.gz (1.6 MB view details)

Uploaded Source

Built Distribution

yeoda-0.3.0-py2.py3-none-any.whl (33.4 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file yeoda-0.3.0.tar.gz.

File metadata

  • Download URL: yeoda-0.3.0.tar.gz
  • Upload date:
  • Size: 1.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.12

File hashes

Hashes for yeoda-0.3.0.tar.gz
Algorithm Hash digest
SHA256 9001a26962c800d94c4a98fb9d42803d1bbf37ebcb1b4451aa313ed0de934a7a
MD5 47c7e72ebcd481d66ffc5bbf0c5bef73
BLAKE2b-256 975c7b017378f0169b648a4ed7120bf84c96ced9bcdcbba2bdc795be0fd9b203

See more details on using hashes here.

File details

Details for the file yeoda-0.3.0-py2.py3-none-any.whl.

File metadata

  • Download URL: yeoda-0.3.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 33.4 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.12

File hashes

Hashes for yeoda-0.3.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 e8857308ef23f943052d4bf1c3afb7be54d777623ad081c1fb9d8f2d249b4392
MD5 ea0299f361ab998d72faffff7d3224cd
BLAKE2b-256 0c1a0e7bc066c244b5ded0e288449e2eb516bdffb03b3868ee131c8c3261a891

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page