yeoda provides lower and higher-level data cube classes to work with well-defined and well-structured earth observation data.
Project description
yeoda
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 work 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 independent 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.
pip
To install yeoda via pip in you own environment, use:
pip install yeoda
conda
The packages also comes along with an own 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 variablePATH
. You can find thecondabin
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file yeoda-0.1.1.tar.gz
.
File metadata
- Download URL: yeoda-0.1.1.tar.gz
- Upload date:
- Size: 265.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0.post20191101 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.6.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8c2f20de245ae934bab64b5446cc1a41f89bc44d5c21e8767cd6132c847f0e8a |
|
MD5 | 2909ec6d90f09e9f261223f34424e6a2 |
|
BLAKE2b-256 | 2844569eb0ef2892938586d0da5789ebc00d630930bbd823018c7b33e6d7c5c1 |