top of page
GeoWGS84AI_Logo_edited.jpg

eo-learn Explained: Python Framework for Earth Observation Machine Learning Workflows

  • 13 hours ago
  • 4 min read

Satellite, drone, and aerial sensor Earth Observation (EO) data creation is accelerating exponentially. Satellites such as Sentinel-1, Sentinel-2, Landsat 8/9, MODIS, and various commercial satellite constellations produce petabytes of images every year. Because of this significance, the challenge lies in how to process these massive amounts of data in an efficient way.


That is where eo-learn comes in. eo-learn, a simple open-source Python library, was built for EO applications and enables the creation of scalable pipelines for the processing of satellite images, feature extraction, time-series analysis, and model training.


eo-learn
eo-learn

What Is eo-learn?


eo-learn is an open-source Python software library created exclusively for Earth observation machine learning tasks. It allows developers, GIS specialists, remote sensing researchers, and AI practitioners to create modular processing pipelines using satellite images.


Unlike universal machine learning frameworks, eo-learn intends to work with spatial and temporal Earth observation datasets only.


This framework consists of tools for:


  • Preprocessing satellite images

  • Cloud masking

  • Analyzing time series

  • Extracting features from raster images

  • Computing vegetation index

  • Preparing datasets for machine learning

  • Preprocessing data for deep learning

  • Creating geospatial features


eo-learn provides good integration with scientific modules of Python and cloud Earth observation services.


Why Was eo-learn Created?


Processing Earth observation data requires special approaches due to various issues that occur with satellite images, such as:


  • Numerous spectral bands

  • Large-size raster files

  • Time series of satellite images

  • Different coordinate systems

  • Cloudiness

  • Incomplete observations

  • Different spatial resolution


Traditional ML frameworks like TensorFlow or scikit-learn do not solve these problems directly.


eo-learn helps by providing geospatial data and processing techniques conceived just for remote sensing data.


Core Architecture


eo-learn consists of some primary elements.


  1. EOPatch


The main data unit.


An EOPatch comprises:


  • Satellite images

  • Raster data

  • Masks

  • Labels

  • Vector information

  • Metadata

  • Time-series data


All relevant information about one geographical area is stored in one instance.


Illustration:


EOPatch

├── Data

├── Mask

├── Label

├── Vector

├── Metadata

└── Timestamp


  1. EOTasks


Every data processing is performed in an EOTask.


To give examples:

  • Taking images

  • Including cloud cover

  • Calculating NDVI

  • Normalizing

  • Extracting features

  • Preparing for machine learning

  • Writing outputs


The Ctasks can be aggregated to form bigger operations.


  1. EOExecutor


EOExecutor allows running many processes at once.


Advantages of using EOExecutor:

  • Process efficiently

  • Use multiple cores

  • Batch processing

  • Automate labor-intensive processes on a bigger scale


It is especially useful for big international Earth monitoring activities.


  1. Workflows


There are many EOTasks within a workflow.


An example of a workflow is:

Getting images

Cloud cover inclusion

NDVI calculation

Calculating NDWI

Feature extraction

Machine learning model training


Such a structure of software solutions makes workflows reusable and easy to modify.


Key Features of eo-learn


Processing Satellite Data


eo-learn streamlines various workflows that utilize:


  • Sentinel-1 SAR

  • Sentinel-2 MSI

  • Landsat Imaging

  • Planet Imaging

  • Commercial Satellite Datasets


Analyzing Time Series Data


eo-learn goes beyond working with just one image, processing time series of images.


For example, that allows us to:


  • Monitor the crops

  • Detect changes in the forest.

  • Monitor droughts

  • Track urban expansion.

  • Analyze seasonal vegetation


Cloud Detection


The main difficulty of optical satellite data is presented by clouds.


eo-learn originates several tools that allow for:


  • Cloud masking

  • Cloud diagnostic layers

  • Dismissal of invalid pixels

  • Handling of temporal gaps


Raster Feature Engineering


In order for the models based on the machine learning technique to work properly, certain informative features are required. This is where eo-learn is helpful since:


It simplifies computation of:

  • NDVI,

  • NDWI,

  • NDBI,

  • EVI,

  • SAVI,

  • spectral ratios,

  • and texture parameters.


Machine Learning Integration


eo-learn is integrated with:


  • scikit-learn

  • TensorFlow

  • PyTorch

  • XGBoost

  • LightGBM


All the features generated can be used directly in the model training process.


Support of Spatial Data


eo-learn supports several means, including:


  • Raster layers,

  • Vector layers,

  • GeoJSON,

  • Shapefiles,

  • Masks,

  • Bounding boxes,

  • Coordinate transformations.


Parallel Processing


Large EO projects benefit from:

  • Multi-threading

  • Batch execution

  • Automated workflows

  • Distributed processing


Installing eo-learn


Install using pip:

pip install eo-learn

For most Earth observation workflows, additional packages are recommended:

pip install sentinelhub rasterio geopandas shapely

Basic Example


Load an EOPatch:

from eolearn.core import EOPatch

patch = EOPatch()

Create a workflow:

from eolearn.core import LinearWorkflow

Add processing tasks:

workflow = LinearWorkflow(
    task1,
    task2,
    task3
)

Execute:

workflow.execute()

The modular design allows workflows to scale from small research projects to enterprise-level processing.


Common Machine Learning Workflow


A typical EO workflow consists of:

Satellite Images
        ↓
Preprocessing
        ↓
Cloud Removal
        ↓
Vegetation Indices
        ↓
Time-Series Features
        ↓
Training Dataset
        ↓
Machine Learning
        ↓
Prediction
        ↓
GIS Visualization

The benefits of EO-learn


Key advantages are:


  • Designed for remote sensing purposes

  • Flowchart style of workflow

  • Great time-series analysis capabilities

  • Possible advanced data processing

  • Capable of performing machine learning tasks

  • Straightforward process of feature extraction

  • Workflows not assigned to a particular project.

  • Supportive open-source community

  • Compatible with cloud computing


Disadvantages


Despite its advanced technology, EO-Learn has some drawbacks:


  • Hard to master

  • Requires knowledge of remote sensing

  • Large datasets might be hard to store and process.

  • Some advanced techniques need other geospatial libraries.


Future of eo-learn


With satellite systems being progressed and AI-based geospatial analytics becoming more sophisticated, eo-learn is in an amazing place to help with scalable Earth observation workflows. Some of the most recent trends include:


  • AI-based change detection

  • Foundation models in remote sensing

  • Geospatial data cubes on a large scale

  • Cloud-based processing

  • Collaboration with GeoAI platforms

  • Automation of feature engineering

  • Environmental monitoring in near real-time

  • Edge AI applied to processing satellite data.


These new features of eo-learn make it more and more useful for institutions creating high-tech Earth observation solutions.


eo-learn is one of the most powerful Python libraries designed for use in Earth observation machine learning workflows. It is modular in its design, provides reusable processing functions, and has built-in support for satellite imagery, along with easy interoperability with major AI libraries.


Whether you are working on applications related to precision agriculture, wildfire prediction, land cover classification, disaster management, or environmental monitoring, eo-learn makes it possible to create efficient workflows.


To learn more about eo-learn and its geospatial capabilities, click here.


For more information or any questions regarding eo-learn, please don't hesitate to contact us at


USA (HQ): (720) 702–4849


(A GeoWGS84 Corp Company)



 
 
 
bottom of page