Key Statistics
All 25 cities mapped. Where data is unavailable, cells are marked “n/a”. Income/deprivation data is available for 11 cities (France, UK, Germany).
Canopy and heat by city
| City | Country | Buildings | Citywide canopy | Mean buffer canopy | % above 30% | Mean Heatwave LST |
|---|---|---|---|---|---|---|
| Sevilla | Spain | 62,940 | 4.2% | 7.1% | 1.3% | 51.1°C |
| Athens | Greece | 67,825 | 8.1% | 11.3% | 3.7% | 43.6°C |
| Marseille | France | 256,397 | 7.4% | 17.8% | 15.8% | 43.8°C |
| Thessaloniki | Greece | 26,858 | 7.9% | 19.6% | 16.4% | 43.7°C |
| Rome | Italy | 239,207 | 8.6% | 11.8% | 7.8% | 49.1°C |
| Porto | Portugal | 45,274 | 10.0% | 13.5% | 6.3% | 31.9°C |
| Lisbon | Portugal | 58,785 | 10.5% | 10.9% | 4.3% | 36.9°C |
| Bristol | UK | 188,988 | 10.1% | 16.1% | 10.5% | 36.7°C |
| Naples | Italy | 59,034 | 10.2% | 18.0% | 14.9% | 47.7°C |
| Lyon | France | 46,246 | 10.3% | 22.6% | 24.9% | 40.8°C |
| Toulouse | France | 137,966 | 10.7% | 16.9% | 9.4% | 44.1°C |
| Birmingham | UK | 282,088 | 15.2% | 13.5% | 7.9% | 34.8°C |
| Barcelona | Spain | 74,957 | 12.9% | 24.3% | 30.7% | 42.0°C |
| Madrid | Spain | 159,773 | 12.9% | 17.1% | 14.3% | 46.4°C |
| Leeds | UK | 328,493 | 13.0% | 12.9% | 8.2% | 21.7°C† |
| Milan | Italy | 68,631 | 13.0% | 26.3% | 35.7% | 45.9°C |
| Newcastle | UK | 73,969 | 13.1% | 12.2% | 5.5% | 29.3°C |
| London | UK | 1,545,577 | 14.0% | 14.0% | 7.2% | 44.9°C |
| Liverpool | UK | 136,605 | 15.2% | 11.3% | 6.5% | 32.9°C |
| Paris | France | 118,646 | 16.7% | 19.5% | 18.0% | 29.7°C |
| Cologne | Germany | 322,172 | 18.7% | 29.2% | 45.7% | 34.7°C |
| Nice | France | 53,858 | 20.1% | 33.5% | 55.7% | 42.4°C |
| Munich | Germany | 200,191 | 27.2% | 24.1% | 27.2% | 37.9°C |
| Hamburg | Germany | 384,724 | 27.7% | 28.5% | 44.4% | 32.3°C |
| Berlin | Germany | 575,524 | 43.6% | 21.0% | 50.9% | 43.8°C |
Citywide canopy = total canopy area ÷ city boundary area. Mean buffer canopy = average canopy % within 60m of each building — a measure of how much useful, local shade each building actually has. % above 30% = proportion of buildings meeting the 30% canopy cooling threshold.
The gap between citywide and buffer canopy is telling: a city can have high overall tree cover (parks, forests, peri-urban green) while most buildings still lack adequate nearby shade. Berlin illustrates this starkly — 43.6% citywide canopy, but only 21.0% around the average building.
UK cities use May 2026 data; most continental cities use summer 2024 heatwave data. Berlin uses a July 2025 composite; Sevilla uses a July 2023 heatwave composite; Hamburg uses a 2023–2024 summer median composite. See Methods for scene details.
† Leeds LST from a partially cloudy scene (14.4% cloud, 2024-07-30), so mean temperature is not representative of peak heat.
Total: ~5.1 million buildings across 25 cities. On average, 83.5% of buildings fall below the 30% canopy threshold — even in cities with substantial overall tree cover.
Income-heat inequality (cities with equity data)
| City | Country | Equity data source | Canopy–heat ρ | Income–heat ρ | Key finding |
|---|---|---|---|---|---|
| Nice | France | Filosofi 200m (2019) | −0.81 | −0.54 | Strongest canopy–heat signal. Wealthy hillsides have canopy; coastal flats exposed |
| Bristol | UK | IMD 2025 (LSOA) | −0.64 | +0.10 | Strong canopy–heat link; deprivation–heat link weak |
| Toulouse | France | Filosofi 200m (2019) | −0.58 | −0.32 | |
| Munich | Germany | Zensus 2022 (100m) | −0.57 | +0.07 | Rent barely predicts heat; canopy strongly does |
| London | UK | IMD 2025 (LSOA) | −0.55 | +0.33 | Most deprived LSOAs significantly hotter |
| Lyon | France | Filosofi 200m (2019) | −0.51 | −0.41 | |
| Marseille | France | Filosofi 200m (2019) | −0.51 | −0.55 | Strongest income–heat link |
| Cologne | Germany | Zensus 2022 (100m) | −0.51 | +0.09 | |
| Berlin | Germany | Zensus 2022 (100m) | −0.46 | −0.09 | Rent barely predicts heat; canopy does |
| Birmingham | UK | IMD 2025 (LSOA) | −0.45 | +0.23 | |
| Paris | France | Filosofi 200m (2019) | −0.29 | −0.16 | Weakest signal: both rich and poor equally canopy-deprived |
Canopy–heat ρ: Spearman correlation between canopy % and surface temperature. Negative = more canopy → cooler (expected). Income–heat ρ: correlation between income/deprivation proxy and surface temperature. Negative (France) = lower income → hotter; positive (UK) = higher deprivation rank → hotter. Same relationship, different measurement direction.
No equity data available for: Spain (Barcelona, Madrid, Sevilla), Italy (Rome, Naples, Milan), Portugal (Lisbon, Porto), Greece (Athens, Thessaloniki), UK (Leeds, Liverpool, Newcastle).
Cool spots: dense areas that stay cool
Temperature gaps between shaded and exposed areas at similar dwelling densities (~50 dw/ha):
| City | Temperature gap | Mean canopy in cool spots |
|---|---|---|
| Berlin | 7.5°C | ≥20% |
| Paris | 9.8°C | ≥20% |
| Birmingham | 6.6°C | ≥20% |
| London | 5.2°C | ≥20% |
| Lyon | 5.2°C | ≥20% |
| Marseille | 4.8°C | ≥20% |
Cool spot criteria: mean canopy ≥20% within 60m, surface temperature below city 25th percentile, dwelling density ≥8 dw/ha.
Data sources
- Tree canopy: Google EIE (0.2m, 2020–2024) for 8 cities; Meta/WRI Global Canopy Height (1m, 2020) for all others. All vegetation counted (no height filter). Canopy assessed within 60m of each building. Hybrid fill applied where 0.2m coverage is incomplete.
- Surface temperature: Landsat 8/9 Collection 2 Level 2 (30m). Summer 2024 for most continental cities; May 2026 for UK; composites for Berlin, Sevilla, Hamburg.
- Buildings: IGN BD TOPO v3.x (France), Overture Maps (all other countries).
- Income: INSEE Filosofi 200m grid (France, 2019).
- Deprivation: IMD 2025 at LSOA level (UK). Zensus 2022 at 100m grid (Germany, rent as proxy).
- Threshold: 30% canopy cover within 60m, the minimum linked to measurable cooling (Ziter et al. 2019).