Shaping Cool Cities
An urban-heat model fusing Landsat thermal imagery, 3D building morphology, street networks and street-level computer vision across six European cities at 30 metre resolution, from my Bartlett MSc thesis: the fusion resolves neighbourhood heat variation that no single source captures alone, and yields ranked, explainable cooling priorities.
- Period
- 2024–present
- Role
- Researcher and developer
- Scale
- Six European cities
- Context
- Research, Product

Open the full artefact in a new tabSix-city priority-zone output from the project intervention workflow.
Source: Shaping Cool Cities project repository, generated from the intervention notebook.Inspect full plate (opens in a new tab)Researcher and developer
- Six-city comparative study (Amsterdam, Athens, Barcelona, Berlin, Madrid, Paris) at 30 metre resolution, R-squared 0.841 pooled and up to 0.926 for Barcelona, RMSE around 0.85 degrees Celsius
- SHAP analysis showing surface permeability drives heat roughly three times more than vegetation, challenging the tree-planting default, with thermal effects operating at ~300 metre scales
- 648 intervention scenarios sweeping cooling strategies; the top-ranked strategies converge on a ~50% de-sealing regime boundary, delivering up to about 1.27 degrees Celsius mean cooling in priority zones
- Priority mapping that weights physical cooling potential by demographic vulnerability, plus fully public methodology and code (MIT-licensed repository) so every step is reproducible
This is an observational study: it identifies relationships, thresholds and priorities, and it does not claim to prove the causal effect of any single intervention. The 50% de-sealing threshold is a signal from the data that still awaits validation through real implementation and monitoring.
The 2022 European summer killed more than 61,000 people from heat, the deadliest such event on record, yet planners deciding where to plant, de-pave or spend a cooling budget get little guidance from the flood of satellite, 3D and street-level data now available. The problem was to fuse four incompatible data sources into one honest, interpretable model of where urban heat concentrates and why, comparably across very different climates and street forms.
My contribution
I built the full pipeline in Python. I extracted land surface temperature, NDVI and spectral indices from Landsat 8/9 through Google Earth Engine; derived sky view factor, solar irradiance and canyon geometry from voxelised building models (VoxCity); computed centrality, connectivity and demographic density from OpenStreetMap (Urbanity); and pulled greenery, enclosure and surface semantics from street-level imagery (GlobalStreetscapes), with EUBUCCO building footprints. I spatially integrated all of it onto a common 30 metre grid with climate-informed 150 metre and 300 metre neighbourhood aggregations, then trained a hierarchical XGBoost model and decomposed every prediction with SHAP. To keep the results honest I validated with GroupKFold under 600 metre spatial blocking, so nearby cells could not leak between train and test, and swept 648 intervention scenarios to see which cooling strategies actually held up.
Decisions and constraints
Decisions I made
- Normalise four heterogeneous sources onto one comparable 30 metre grid with 150 and 300 metre neighbourhood buffers, so thermal effects could be read at the scale they actually operate rather than the scale each sensor happens to capture
- Choose interpretable modelling (XGBoost with SHAP) over a black box, because the deliverable was defensible planning priorities, not just a low error number
- Validate with spatial block cross-validation (600 metre GroupKFold) instead of a random split, accepting a lower, truer score rather than an inflated one that spatial leakage would produce
- Compare six climates side by side (continental, Mediterranean, maritime) rather than over-fit a single city, so climate-specific patterns could be separated from universal ones
Operating constraint
A solo MSc thesis working only with open data, where satellite, 3D-voxel, street-network and computer-vision sources each differ in coverage, native scale and uncertainty, and where spatial autocorrelation quietly flatters any model that is not validated with care.
Claim boundary: This is an observational study: it identifies relationships, thresholds and priorities, and it does not claim to prove the causal effect of any single intervention. The 50% de-sealing threshold is a signal from the data that still awaits validation through real implementation and monitoring.
Evidence
- Six-city comparative study (Amsterdam, Athens, Barcelona, Berlin, Madrid, Paris) at 30 metre resolution, R-squared 0.841 pooled and up to 0.926 for Barcelona, RMSE around 0.85 degrees Celsius
- SHAP analysis showing surface permeability drives heat roughly three times more than vegetation, challenging the tree-planting default, with thermal effects operating at ~300 metre scales
- 648 intervention scenarios sweeping cooling strategies; the top-ranked strategies converge on a ~50% de-sealing regime boundary, delivering up to about 1.27 degrees Celsius mean cooling in priority zones
- Priority mapping that weights physical cooling potential by demographic vulnerability, plus fully public methodology and code (MIT-licensed repository) so every step is reproducible