The availability of open Earth observation (EO) data through the Copernicus and Landsat programs, as well as plethora of commercially available satellite imagery, represents an unprecedented resource for many EO applications, ranging from ocean and land use/land cover monitoring to disaster control, emergency services and humanitarian relief. Large amounts of such spatiotemporal data call for tools that are able to automatically extract complex patterns embedded inside.
eo-learn
is a collection of open source Python packages that have been developed to seamlessly access and process spatio-temporal satellite imagery in a timely and automatic manner. It makes the extraction of valuable information from satellite imagery as easy as defining a sequence of operations to be performed on satellite imagery. It also encourages collaboration --- the tasks and workflows can be shared, thus allowing for community-driven ways to exploit EO data.
The eo-learn
library acts as a bridge between the Earth Observation (EO)/Remote Sensing (RS) field and the Python ecosystem for data science and machine learning. It lowers the entry barrier to the field of RS for non-experts and simultaneously brings the state-of-the-art tools for computer vision, machine learning, and deep learning existing in Python ecosystem to remote sensing experts.
AquaCyder
aims on tasks like dealing with retrieving the EO data (e.g. Sentinel-2), processing it, adding non-EO data (e.g. labels) to the dataset etc. and finally build the whole pipeline to run such workflow thus preparing the data for ML algorithms for all the water bodies in INDIA, using eo-learn
framework
You can use the "launch binder" link above at the top of this README, which will launch a notebook instance on Binder with all required libraries installed.
Running on pip environment
The minimal requirements are
- eo-learn (please see installation instructions)
- jupyter
At the moment the recommended way is using a virtual environment (venv
, i.e. python3.6 -m venv AquaCyder
) or pipenv
Installing with conda
might prove problematic. On Linux it is recommended to install system packages from CI build instructions first.
- Running on conda environment
Alternatively,download this repository and create a new conda environment using the provided environment.yml file:
conda env create --name AquaCyder --file environment.yml
conda activate AquaCyder
It is possible to run the AquaCyder
using your own Sentinel-Hub credentials. In order to do that, there are a few instructions you have to follow:
- if you don't have a Sentinel Hub account, you can create a trial account for free here
- once you have the account set up, login to Sentinel Hub Configurator. By default you will already have the default confoguration with an instance ID (alpha-numeric code of length 36). For these examples it is recommended that you create a new configuration ("Add new configuration") and set the configuration to be based on
Python Scripts template
. The configuration already contains all layers used in this workshop. - insert the
instanceId
into the first cell ofWater_Level_Extraction.ipynb
notebook, as shown here:
AquaCyder
can be intergrated and acessed with an Anvil-Uplink based UI. Navigate to Frontend/
directory for further details
Interns at CSIR-NATIONAL ENVIRONMENTAL ENGINEERING RESEARCH INSTITUTE, NAGPUR