Python Remote Sensing & Raster Processing Pipelines

Production-grade Python patterns for satellite imagery — rasterio and xarray workflows, reading and writing Cloud-Optimized GeoTIFFs, STAC querying, zonal statistics, change detection, machine learning on rasters, web tiling, and containerised pipelines that run at continental scale.

This site is a technical documentation hub for Python-based Earth observation and geospatial data engineering. It covers the complete raster processing stack — from low-level pixel I/O with rasterio to multi-dimensional analysis with xarray, lazy cloud-native reads from COGs, and end-to-end satellite processing pipelines.

Whether you work with Sentinel-2, Landsat, or custom aerial imagery, the patterns here are designed for production environments — distributed Dask clusters, cloud object storage, and fully reproducible analytical workflows. All code examples use the canonical Python remote sensing stack and are validated for correctness.

The content is organised into five main sections. Core Raster Fundamentals & STAC Mapping covers the architectural foundations: raster data models, CRS transformations, COG internals and authoring, STAC catalog querying with CQL2, band math, data types and numerical precision, Zarr datacubes, and joining rasters to vector geometries for zonal statistics. Satellite Processing Workflows & Index Pipelines takes you end-to-end — atmospheric correction, terrain analysis, clipping, masking, mosaicking, spectral index derivation, temporal aggregation, and defensible change detection. Cloud Execution & Orchestration scales those pipelines to production with Dask, Prefect, reproducible container images, cloud clusters on Coiled and AWS Batch, and the monitoring that keeps them healthy. Raster Machine Learning & Inference turns imagery into predictions — training datasets, pixel features, tiled inference, accuracy assessment, and serving outputs. Visualization, Tiling & Web Delivery shows the results — publication-quality figures, dynamic tile servers, interactive notebooks, and web-ready rasters.

Explore the Documentation

Core Raster Fundamentals & STAC Mapping

Raster data models, COG internals, CRS transformations, STAC querying, band math, pixel resolution and scaling — the architectural bedrock of every raster pipeline.

  • Cloud-Optimized GeoTIFF structure
  • CRS transformations with rasterio
  • Band math operations with xarray
  • STAC catalog queries with pystac-client
  • Raster metadata extraction & drift audits
  • Writing and validating COGs
  • Zonal statistics & vector–raster joins
  • Zarr & cloud-native datacubes
  • Raster dtypes, scaling & precision
Explore section →

Satellite Processing Workflows & Index Pipelines

End-to-end satellite processing — clipping, cloud masking, resampling, mosaicking, spectral index calculation, and temporal aggregation at continental scale.

  • Automated image clipping & cropping
  • Cloud & shadow masking (FMask, s2cloudless)
  • Spectral index (NDVI, EVI, NDWI) pipelines
  • Seamless mosaicking with feathering
  • Advanced resampling & cross-mission grids
  • Temporal aggregation & time series
  • Change detection & differencing
  • Atmospheric correction & surface reflectance
  • Terrain analysis & DEM products
Explore section →

Cloud Execution & Orchestration

Take local pipeline code to production — Dask clustering, Prefect orchestration, Coiled and AWS Batch, and cost-aware execution for continental-scale raster workloads.

  • Scaling raster processing with Dask
  • Orchestrating pipelines with Prefect
  • Distributed compute on Coiled & AWS Batch
  • Tuning Dask chunk sizes for raster cubes
  • Optimizing pipeline cost & performance
  • Containerizing geospatial environments
  • Benchmarking COG read throughput
  • Monitoring & observability for pipelines
Explore section →

Raster Machine Learning & Inference

From labelled polygons to published predictions — building training data, engineering pixel features, running models over huge rasters, and measuring accuracy honestly.

  • Training datasets from satellite imagery
  • Feature engineering for pixel models
  • Tiled inference over large rasters
  • Accuracy assessment & confusion matrices
  • Exporting & serving model outputs
Explore section →

Visualization, Tiling & Web Delivery

Put rasters in front of people — Matplotlib figures, dynamic tiles with TiTiler, interactive exploration in Jupyter, and rasters prepared for the web.

  • Rendering rasters with Matplotlib
  • Serving raster tiles with TiTiler
  • Interactive exploration in Jupyter
  • Preparing rasters for the web
Explore section →