Tree Canopy Height Map
Welcome to our tree map. We set out to process the available data into a usable, compressed and simplified data set. It keeps an extremely high, usable resolution, yet after reprocessing it is small enough to be used on 32-bit microcontrollers with ease, and within prediction tools to fine tune radio pathing and wind predictions.
You are welcome to download and use the data from here, or through the Tree Canopy API for automated fetching and use. Combined with our Terrain Grid API, you can build a 3D view of the world below your flying device.
Most of the world with a real rocketry presence is covered. If you would like an area adding that is outside what we have processed, please contact us and it shouldn't be a problem.
The tree database
Canopy height key
What the map shows
Every coloured patch is tree canopy at least 3 m tall. The colour is its height, from deep indigo for young woodland and tall hedgerow trees through purple and pink to near white from 30 m up, the tallest stands of all pure white. Close in, each cell is about 3 by 5 metres, enough to pick out a single copse, a line of trees along a stream or the edge of a plantation.
Zoomed out, a pixel covers far more ground than one cell, so it shows two things at once: its colour is the mean height of the trees within it and its strength is how much of it is wooded. Solid forest stays bright, farmland with scattered trees fades to a faint wash, and open moor, water and towns stay clear.
Where the data comes from
The heights come from global canopy height models, which estimate the height of the vegetation from satellite imagery and are trained against airborne laser survey. The main source is Meta and WRI's CHMv2 model, made from imagery at about half a metre and reduced here to the cells above; where that has not been imported, the ETH Global Canopy Height map at 10 m fills in. Heights are held in 15 bands that widen from 2 m at the bottom to 8 m at the top, since the models quote errors of a few metres and a finer step would only record noise.
The database currently covers United Kingdom, Ireland, Europe, United States, Alaska, Canada, New Zealand, Japan, South Africa, Norway, Sweden, Finland (north of 60), Turkey, Australia 1, Australia 2, Australia 3 and Australia 4, and more is added as it is processed. Ground heights come from the same terrain store the line of sight and landing tools use.
Why a rocketry site maps trees
Trees are where rockets get lost. A rocket under a parachute drifts with the wind, and a launch site that looks clear from the flight line can have a plantation a few hundred metres downwind. Seeing where the woods are and how tall they grow shows where a recovery could end up hung in a canopy, how far the drift has to be kept short, and which way a field is safest to fly.
Trees matter to tracking as well. A radio or GPS tracker lying on the ground inside a wood loses most of its range, because the signal has to pass through the trunks and wet leaves around it. The same canopy data is going into the Altimeter Cloud Landing & Radio tool, for the chance of a recovery ending up in trees and for radio paths through woodland.
Use the data in your own projects
Everything on this map is available through the free Tree Canopy API, no key needed: any square up to 30 km across around a point, every cell of about 3 by 5 metres, either as its height band (4-bit) or simply tree or no tree (1-bit), uncompressed or packed with zlib or LZMA. The download panel on the map does the same thing from here: put the cross on your site, choose the size and format, and save the file.
Rough file sizes for each square, type and compression, near Windermere (54°N) over mixed woodland and fields. Rows marked ~ are estimates; the rest are real downloads.
| Square | 4-bit, height bands | 1-bit, tree or not | ||||
|---|---|---|---|---|---|---|
| Raw | zlib | LZMA | Raw | zlib | LZMA | |
| 1 km | 40 KB | 13 KB | 13 KB | 10 KB | 4 KB | 4 KB |
| 3 km | 352 KB | 90 KB | 82 KB | 88 KB | 28 KB | 23 KB |
| 5 km | 967 KB | ~250 KB | ~230 KB | 242 KB | ~70 KB | ~60 KB |
| 10 km | 3.8 MB | 1.0 MB | 0.9 MB | 967 KB | 268 KB | 217 KB |
| 20 km | 15.1 MB | ~4 MB | ~3.6 MB | 3.8 MB | ~1 MB | ~0.85 MB |
| 30 km | 33.9 MB | ~9 MB | ~8 MB | 8.5 MB | ~2.4 MB | ~1.9 MB |
The files are made to be carried by the systems that fly. A rocket flight computer or a drone can hold its launch site's trees in its own memory, a 3 km square of tree or no tree fits in about 23 KB, and check what is below it or within a set distance without any signal at the field. That opens up experiments such as guided and steerable recovery that steers away from woodland, drones picking a clear spot to land, landing warnings sent back to a ground station, and research into how often and where recoveries end up in trees.
For firmware there is a free reader in C, ready to drop into an Arduino sketch, with the LZMA decoder our own Jupiter flight computer uses. The same data is going into our predicted landing tools, so a site survey can show the chance of a landing in trees before anyone flies.
Tree Canopy API Reader for flight computers (zip)
Questions
How accurate are the heights?
To within a few metres in most woodland. The models are least sure over very tall or very sparse trees and along woodland edges, and anything under 3 m, including scrub, bracken, hedges and tall crops, is treated as no trees.
How old is the data?
It shows the trees as they stood when the satellite imagery was taken: for the Meta data, between 2017 and 2020 and mostly 2018 to 2020, and for the ETH fill-in, 2020. Woodland felled or planted since then will not show yet.
Why is an area blank?
Either there are no trees over 3 m there, or the area is not in the database yet. Hovering says which: it names the canopy data source where there is coverage and says when an area is not in the database.



















