Earth Observation and Remote Sensing Toolkit — a high-performance Rust library for geospatial raster processing.

Explore the blog for tutorials, benchmarks, and guides on using EORST for large-scale earth observation workflows. Built with Rust for performance, Nix for reproducibility, and love for satellite data.

Welcome to EORST

// 2026-03-19 · Your first geospatial processing pipeline in Rust with EORST

Welcome to the EORST blog!

EORST is an open-source Rust library for processing geospatial raster data. Inspired by Python libraries like rasterio and rioxarray, it enables efficient parallel processing of large-scale raster datasets.

New to remote sensing? Start with Getting Started with Geospatial Rust for foundational concepts.

Want a complete workflow? See End-to-End Geospatial Processing with EORST for a code-heavy tutorial.

Benchmarking eorst vs Python+Dask? See Rust vs Python+Dask for NDVI: 23× Faster — real numbers with FMask cloud masking and carbon impact analysis.

→ Read more

📚 API Docs Rust

Full API reference, usage guides, and code examples

⌨️ Source Code

View project on GitLab. Contributions welcome!

// Blog Posts

A Field Guide to the GeoRust Ecosystem

// 2026-05-12 · 11 min read

The GeoRust ecosystem has quietly become one of Rust’s most coherent and well-maintained domain-specific ecosystems. If you’re working with geospatial data in Rust — whether vector geometries, raster files, coordinate transforms, or spatial indexes — the odds are good that a mature, well-documented crate already exists for your problem. This post is a map of that territory as of mid-2026.

→ Read more

Benchmarking Rust vs Python+Dask for NDVI: 23× Faster, and Why That Matters for Carbon

// 2026-05-10 · 16 min read

Last week I wanted to benchmark our Rust pipeline against the Python “standard” — the DEA Knowledge Hub notebooks that everyone uses. I based the workflow on the burnt area mapping notebook, which uses the NDVI mean-over-time approach.

What followed was a result that confirmed what I’d suspected about Python’s Dask for CPU-bound geospatial workloads — and what I’d argued at FOSS4G 2025: the language you choose has a real environmental cost. 23× slower doesn’t just mean 23× more money. It means substantially more energy and CO₂ for the exact same output. How much more? We haven’t measured it with a power meter yet — but we can estimate, and the direction is unambiguous.

→ Read more

End-to-End Geospatial Processing with EORST

// 2026-05-07 · 4 min read

This post walks through a complete geospatial processing pipeline using rss_core and eorst. We’ll query satellite imagery from DEA spanning two UTM zones, and show how eorst handles the automatic reprojection.

New to remote sensing? Start with Getting Started with Geospatial Rust — covers satellite platforms, spectral bands, indices, and why cloud detection matters.

→ Read more

Getting Started with Geospatial Rust

// 2026-05-07 · 10 min read

If you’ve ever looked at a satellite image of farmland, grasslands, forests, or cities, you’ve seen remote sensing data. Each pixel in those images contains measured values — stored as digital numbers (DNs) in raw data, or as surface reflectance in analysis-ready products — across different spectral bands: blue, green, red, near-infrared, and more. These bands tell us about vegetation health, water content, urban development, and land cover.

This post introduces the core concepts of geospatial raster processing for Rust programmers who’ve never worked with satellite imagery. We’ll cover what the satellites measure, why their data looks the way it does, and what you can actually do with it.

Already know remote sensing? Jump ahead to End-to-End Geospatial Processing with EORST — a code-heavy walkthrough building a complete pipeline.

→ Read more

FOSS4G 2025 — Notes From the Road

// 2025-09-15 · 3 min read

This is not an academic summary. Just some personal notes from a week at FOSS4G 2025 — what I saw, what resonated, and what I’m still thinking about.

→ Read more
Type to search...