Skip to content

Latest commit

 

History

History
67 lines (41 loc) · 4.98 KB

File metadata and controls

67 lines (41 loc) · 4.98 KB

Python Remote Sensing & Raster Processing Pipelines

Production-grade Python patterns for satellite imagery, raster processing, and cloud-scale Earth observation.

🌍 Live site: www.python-remote-sensing.com

A free, in-depth technical documentation hub for remote sensing analysts, environmental data engineers, and Python GIS developers. Every page follows a concept → runnable-code → failure-modes structure, so you can copy, verify, and debug real pipelines without switching contexts. All code targets Python 3.10+, uses the canonical geospatial stack, and is written for production — distributed clusters, cloud object storage, and reproducible workflows.

What's inside

More than 180 in-depth guides organised into five sections:

The architectural bedrock of every raster pipeline — the raster data model, Cloud-Optimized GeoTIFF (COG) internals, CRS transformations with rasterio, band math with xarray, STAC catalog querying with pystac-client, metadata extraction, pixel resolution & scaling, raster data types and numerical precision, Zarr datacubes, and zonal statistics. Includes decision guides such as rasterio vs xarray for band math, stackstac vs odc-stac, and ZSTD vs DEFLATE COG compression.

End-to-end optical processing — automated clipping & cropping, cloud & shadow masking (FMask, s2cloudless, Sentinel-2 SCL), spectral index pipelines (NDVI, EVI, NDWI), seamless mosaicking with feathering, advanced resampling & upscaling, temporal aggregation / time-series analysis, change detection, atmospheric correction to surface reflectance, and terrain analysis with DEMs.

Taking local pipeline code to production — scaling with Dask, orchestrating with Prefect, distributed processing on Coiled & AWS Batch, and optimizing pipeline cost and performance (S3 egress, worker sizing, spot capacity), containerized environments, and monitoring and observability for raster pipelines.

From labels to published predictions — building training datasets from imagery, feature engineering for pixel-based models, tiled inference over large rasters with ONNX and GPUs, accuracy assessment and area estimation, and exporting and serving model outputs.

Putting rasters in front of people — Matplotlib figures with correct extents and colour ramps, dynamic tiles with TiTiler and MosaicJSON, interactive exploration in Jupyter with leafmap, and preparing rasters for the web.

Topics covered

rasterio · xarray / rioxarray · dask · stackstac / odc-stac · pystac-client · Cloud-Optimized GeoTIFF · STAC · Zarr · Sentinel-2 · Landsat · NDVI / EVI / NDWI · cloud masking · mosaicking · resampling · time-series composites · Prefect · Coiled · AWS Batch · S3 cost optimization · machine learning on rasters · ONNX · accuracy assessment · TiTiler · web tiles · DEMs · surface reflectance

Tech stack

This site is a static build — fast, dependency-light, and cheap to host:

  • Eleventy (11ty) — static site generator (Nunjucks templates + Markdown)
  • Hand-authored inline SVG diagrams — theme-aware (light/dark), accessible, no runtime
  • Structured data — JSON-LD (Article, BreadcrumbList, HowTo, FAQPage) on every page
  • Cloudflare Workers static assets — global edge delivery with long-lived immutable caching

Every page passes an automated quality bar: WCAG 2 A/AA accessibility (axe-core), valid structured data, internal-link integrity, SVG render checks, and a Lighthouse mobile performance budget.

Build locally

npm install
npm run build      # generate the static site into _site/
npm start          # serve with live reload at http://localhost:8080

Deployment (Cloudflare Workers static assets):

npm run deploy     # build + wrangler deploy

Contributing & feedback

Spotted an error, or want a topic covered? Open an issue — corrections and suggestions from the remote sensing community are welcome.

License

Documentation content © Python Remote Sensing. Code snippets in the guides are provided for reuse in your own pipelines.


⭐ If these guides save you time, star the repo and share python-remote-sensing.com with your team.