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:
- Download pipeline for vector & raster data
- Notebook exploring proxy urban development in Greater Manchester
Default Python is set to 3.12.
This project uses:
uvfor Python package and dependency management.pre-commitensuring code quality & consistency, prevent commits of sensitive information (e.g. secrets).rufffor linting and formatting.mypyfor checking type hints.noxfor automated code quality checks in multiple Python environments.
Have included a Makefile for convenience, assuming uv & pre-commit are installed, run:
make install && make setupActivate the environment:
source .venv/bin/activateThen to download data, run:
downloadThis 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.
- Explore using coiled for cloud compute
- Rerun over additional years