Skip to content

jap546/eo-basic-example

Repository files navigation

Background

This is purely a learning & development project in my spare time exploring various Sentinel-2 datasets and what can be used with them.

So far includes:


About this project

Default Python is set to 3.12.

This project uses:

  • uv for Python package and dependency management.
  • pre-commit ensuring code quality & consistency, prevent commits of sensitive information (e.g. secrets).
  • ruff for linting and formatting.
  • mypy for checking type hints.
  • nox for automated code quality checks in multiple Python environments.

Getting started

Have included a Makefile for convenience, assuming uv & pre-commit are installed, run:

make install && make setup

Activate the environment:

source .venv/bin/activate

Then to download data, run:

download

This will download all data within download_config.json to local disk which may take awhile.

We download the Combined Authorities (Generalised) boundaries from Office for National Statistics. We filter for Greater Manchester and use this data to create a mask for our Sentinel-2 data.

Raster data is downloaded from the Microsoft Planetary Computer STAC catalog. We use stackstac which turns a STAC collection into a lazy xarray.DataArray using dask. We filter for good pixels within the Scene Classification Layer, then create a composite image by calculating a simple median for every pixel.


TODO

  • Explore using coiled for cloud compute
  • Rerun over additional years

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages