- Sources
- Own derivation
- Open questions
- Method
- Who lives there
- Comparable heat figure
- Water bodies
- Comparison with the Heat Check of Deutsche Umwelthilfe
Official basis
Own derivation: There is
no usable tree cadastre — see below. The tree positions therefore come from the official normalised surface model nDOM50 from Geobasis NRW (dl-de/zero-2.0), aerial survey 2022 to 2024, mostly late May, in leaf-on condition, 50 cm grid spacing. Local height maxima are sought within the 5 to 45 m band; hits on official ALKIS building footprints and anything outside the city area are discarded.
Limit: Every crown from around five metres is recorded — including on private land and in woodland, unlike with a cadastre. Young plantings below that are missing, as are species and planting year. The crown area is not estimated but taken from the height model: every area in the 5 to 45 m band that lies more than 2 m from a building footprint. The circles on the map show the location and height of the trees, not the area used in the calculation. The calculation deliberately works at 1 m rather than the available 50 cm: on the finer grid, the method finds every branch fork under a closed canopy as its own tree and yields roughly six times the count.
A single GeoPackage from the state contains land use and building footprints. The use type is given there as plain German text, not as an AAA key as in Bavaria. Heterogeneous collective categories are deliberately not coloured as such, rather than assigning them a misleading colour. opengeodata.nrw.de
From the same package, as grey context beneath the other layers. Canopies, carports, passageways and overhanging upper storeys are filtered out.
Limit: The storey-count column exists in the schema, but is consistently empty in the simplified state dataset. A shading statement from building heights is not possible with this source; the layer therefore remains pure context.
Better than the Bavarian analyses in three respects, and all three change what the map is allowed to say: 25 m instead of 100 m grid spacing, fine enough for individual streets; two scenarios (typical and extreme summer day) instead of one; and a genuine night-time air temperature as a measured quantity instead of a class scale. Landesamt für Natur, Umwelt und Klima NRW
City boundary, 857 public places, kerbside parking and the address search via Nominatim. For this city there is no official parking survey ; the space count is estimated from OSM parking strips and is therefore a lower bound. openstreetmap.org
Own derivation
Because absolute PET values are available, the five classes are cut at the thresholds of VDI guideline 3787 (23 / 29 / 35 / 41 °C) instead of by quantile from the distribution of the respective city, as elsewhere. „Severe heat stress“ here therefore means literally „PET from 35 °C“, not „the hottest fifth of this city“. Only this makes this layer comparable between cities — exactly the property whose absence was the reason the quantile layer was removed altogether for the Bavarian municipalities. Result: 63.1 % of the city area from 35 °C, 12.1 % from 41 °C.
The night layer uses the modelled air temperature at 4 :00, cut at 16 / 18 / 20 / 22 °C. The 20-°C boundary deliberately sits on a class boundary, so that „class 4 or 5“ corresponds exactly to the tropical-night definition of the German Weather Service (DWD). The scenario difference is drastic: on the typical summer night,
0.0 % of the assessed area reach tropical-night level, on the extreme night
56.2 %, with peaks up to 23.9 °C. The map layer therefore shows the extreme night — a map of the typical night would be a single colour.
Reference area: Unlike the daytime grid, the LANUK night grid only carries values over the settlement area. The percentage is a share of that and cannot be converted to the city area, because „no value“ does not mean „no tropical night“.
Crown areas taken directly from the height model as a raster mask at 1 m, rather than as circles around the tree locations. Until October 2026 this map calculated with circles (diameter = 0.55 × height, capped at 14 m); a visual check against aerial imagery showed that they missed a large part of the canopy. Maps in the series that still calculate with circles therefore show less canopy. Search areas are individual street areas of 150 m² or more without canopy cover and without a tree closer than eight metres — 2,142 across the city.
The heat metric (24.5 % of street area from 35 °C with no tree within a 17-metre radius) was recomputed with an independent script on a 5-metre grid. The radius corridor 15–20 m gives 17.8 to 28.4 %: the finding does not hinge on the choice of radius.
Open questions
Unlike Bergisch Gladbach or Cologne, Meerbusch — as far as can be seen publicly — does not maintain its own tree cadastre. Checked on 1 August 2026: the municipal geoportal lists only development plans, standard land values, heavy-rain hazard maps, solar-potential cadastre and historical maps as its themes. The joint open-data portal of the Rhein-Kreis Neuss district carries 40 datasets on Meerbusch — cycling routes, playgrounds, cemeteries and similar —, but none on trees. The neighbouring city of Neuss, by contrast, publishes „tree stock“ and „tree crowns“ explicitly under CC0 in the same portal; a tree cadastre would therefore in principle have a place in this portal, if one existed.
Hence the derivation from the surface model. Should it turn out that the city does maintain a cadastre internally after all, a request following the Bergisch Gladbach pattern would be the next step.
The simplified ALKIS dataset does not carry storey counts. A genuine shading calculation — which tree stands when in a building's shadow, and where only a tree would still help — would need the unsimplified dataset or the LoD2 model.
The search-area analysis works exclusively on the designated street traffic area (3.74 km²). Private plots, yards and commercial areas remain unassessed, even though shade can be missing there too. Whether a tree could actually stand on a search area depends on underground utilities, emergency access routes, sightlines and parking spaces that would be lost — all unchecked.
How these figures are computed
The note after “computed as” is not a description on this page, but the value that the run itself wrote into
stats.json . It states the share of street area over which less than 10 % canopy cover lies.
Grid spacing and window size also determine the figure: a cell counts as unshaded even when the nearest tree stands just outside the window. Figures from other maps are therefore only comparable at the same setting at this point — in this series it is consistently the same.
Crown-free street areas of 150 m² and larger, split per individual ALKIS area; everything within 8 m of a trunk is excluded (for large crowns, the crown radius). A search area is an area to be checked, not a tree location: whether a tree can stand there is decided by utility line positions, emergency access routes, sightlines and parking spaces that would be lost. Parcel boundaries are administrative cuts — a gap running across two parcels counts as two search areas.
This sentence too stands like this in the stats.json of this map and is merely reproduced here. It co-determines the figure: until 11 August 2026 the series counted connected components of the tree-free street network — a single “unit” could run right across the city. In Cologne the largest of them still measured 20.86 km² on 11 August 2026, a good half of the city's street surface; the same data split per individual area yielded a good nine times as many and correspondingly smaller units, without a single tree having been added or removed. A search area count is therefore only usable with this statement beside it.
Who lives in the heat
The map overlays the population grid of the 2022 census with the heat classes of the climate analysis. Result: 44,041 of 57,112 recorded inhabitants (77.1 %) live in the top two of the five classes, 7,927 in the highest alone.
Area-weighted: every 100 m cell counts with the share it has within the municipality or within the heat class — not by cell midpoint. The difference from counting by cell midpoint is not due to the municipal boundary — that runs through uninhabited terrain — but to the class boundaries, which cut straight through inhabited cells.
The cuts lie at 23.0, 29.0, 35.0, 41.0 °C felt temperature and are predetermined, not calculated from this map. Class boundaries under VDI 3787: from 35°C severe, from 41°C extremely severe heat stress. Absolute thresholds, not quantiles — comparable between cities as a result.
The census grid is noised to protect small case numbers. Statements about individual cells or city blocks are therefore not admissible; across a city area the noise averages out. What is counted is the resident population, not the daytime population: anyone who comes here to work, shop or attend school is not included.
Of them, 22,855 live where more than half of the street space within a hundred-metre radius is simultaneously hot and under the shade threshold. Counted are people in whose 100-metre cell street space lies that is simultaneously in heat classes 4+5 and under the shade threshold — the same area the map draws as “Where is shade missing?”. A cell is counted when more than half of its street space is affected — not already when any piece lies within it: that would apply almost everywhere in built-up areas and would not distinguish anything. The half is a convention, not a measurement. The geometry comes from the delivered tiles and is simplified there to 0.4 m.
The priority list of facilities names 24 locations that lie in the heat and have under 10 % canopy shade. Their order is a judgement, not a measurement. First come places where being outdoors is the point (playground, day-care centre), last those visited indoors (doctor's surgery). Heat class and shading beneath them are measured. Anyone who weights things differently gets a different order — with the same figures.
Statistical Offices of the Federation and the Länder, Census 2022, population count per 100 m grid cell (dl-de/by-2-0)
How hot the area is — the comparable figure
The heat layer of this map is cut at absolute thresholds, but applies to a modelled summer day. This figure is measured and averaged over years: 10.3 hot days a year in the normal period 1991-2020, measured where people live. Over the years 2016-2025 it is 14.3 — the normal period ends in 2020 and therefore describes today's situation as too cool.
Hot day: maximum air temperature at least 30 °C. The grid is derived from station measurements, taking elevation dependence into account. Population-weighted over the same 100 m census cells that the exposure calculation also uses — the figure applies to where people live, not to the municipal area. Computed over the municipal area instead of over the people, it would be 10.4 days; the difference shows whether the population lives in the climatic average of its municipal area.
The grid is interpolated from station measurements at 1 km. It describes the region, not the inside of the city: it cannot resolve a heat island between a backyard and a park. The other heat figures on this map answer where it is hot within this place; this figure answers how hot the area is in the first place. Only this one is comparable between places.
Deutscher Wetterdienst (DWD), Climate Data Center: grid of the number of hot days for Germany, 1 km (CC BY 4.0)
Comparison with the Heat Check of Deutsche Umwelthilfe
Deutsche Umwelthilfe reports a canopy cover of 25.03 % for Meerbusch: the share of the settlement and transport area covered by vegetation taller than 2.5 m. On the same reference area, 20.10 km², approximated from the land-use types of the official cadastre, the canopy area of this map covers 14.5 %. Related to the whole municipal area the figure would be different; only values on the same area may stand side by side. Deutsche Umwelthilfe, Heat Check 2026, overview of cities (as of May 2026), canopy cover 2025
The map counts canopy only from 5 m height, DUH counts vegetation from 2.5 m: tall hedges, shrubs and young trees count there, not here. DUH derives the cover from satellite imagery with height information, the map from the official surface model at 1 m. Which part of the difference is due to which cause has not been measured. Both figures answer the same question with a different threshold: how much of the built-up city lies in shade.
Water bodies
Rivers, canals, lakes and harbour basins from the same official land use survey as the other land use types. They are
drawn and quantified. Until 11 August 2026 they were not — meant as restraint, read as a gap: where a river runs through the city, the map showed nothing.
Bog and marsh expressly do not count as water. They are vegetated and behave thermally like land; they therefore run under “forest, agriculture and wasteland”.
The cooling effect of a body of water is real, but small, dependent on wind and confined to a narrow strip along the bank. At night a larger body of water releases stored heat again and raises the night temperature — precisely the quantity that matters for health during heatwaves.
A figure that books a river like a forest would be open to attack, and rightly so. The 4.2 % therefore stand as a statement of their own and feed into no cooling-area or coverage figure.
For all other land use types the map shows canopy cover against the target of 30 %. Not for water bodies: no tree grows there, the zero is correctly measured and is nevertheless not a deficiency. Even a perfect survey would find no crowns on a river.
That is something different from “not recorded”, which appears elsewhere on this map: there it means we do not know, here it means none belongs here.