Field note · Measurement · 7 October 2026
The altitude your drone reports is not the altitude it flew
Three flights of the same site, from the same take-off spot, each at an identical 40.00 m above launch. Between the first morning and the next, the altitude the drone wrote into its photos moved by 27.78 metres. Nothing on the ground moved. Here is where that number comes from, why it moves, and how to check your own drone in an afternoon.
Median, on all three flights. The aircraft flew the height it was told to, every time.
Same aircraft, same mission, same take-off spot. Five minutes apart it had already moved 1.45 m.
1012 to 1009 between the two mornings. Roughly 25 m of apparent climb, by the standard rule of thumb.
Median difference on bare ground across the same 24 hours, once the repeat is aligned to the first visit.
Every drone photo carries two heights
A DJI aircraft writes its position into every photo it takes. Alongside latitude and longitude there are two altitudes, and they answer different questions.
- Relative altitude — how high the aircraft is above the point it took off from. Zero on the ground, 40 at 40 m up.
- Absolute altitude — how high it is above a fixed reference, meant to be something like sea level. This is the one that looks like a level, and it is the one that ends up in mapping software if nobody intervenes.
I flew the same saved mission over a car park near Slough three times: twice on the morning of 3 August, five minutes apart, and once more at the same time the following morning. Same aircraft (a DJI Mini 3 Pro), same take-off spot, marked on the ground. These are the medians across every photo on each flight, read straight out of the files:
| Flight | Frames | Above launch | Absolute | Change in absolute |
|---|---|---|---|---|
| 3 Aug, 06:38 | 226 | 40.00 m | 64.76 m | — |
| 3 Aug, 06:54 | 227 | 40.00 m | 66.21 m | +1.45 m |
| 4 Aug, 06:31 | 228 | 40.00 m | 92.54 m | +27.78 m |
Above-launch heights ranged 39.9–40.2 m within each flight. The aircraft held its height above the ground to within a few centimetres on every pass.
So the drone flew the same height on all three flights. What changed was the number it gave for that height.
The absolute altitude is decided once, at take-off
This is the part I didn't expect, and it makes the whole thing easier to understand. Subtract the relative altitude from the absolute one, photo by photo, and you get the same figure on every frame of a flight, to the centimetre — 226 photos, one value. Across the three flights that value was:
| Flight | Absolute − relative | Spread across the flight |
|---|---|---|
| 3 Aug, 06:38 | 24.76 m | 0.00 m |
| 3 Aug, 06:54 | 26.21 m | 0.00 m |
| 4 Aug, 06:31 | 52.54 m | 0.00 m |
In other words, the "absolute" altitude in the file isn't measured continuously during the flight. It is the height above launch, plus one number that the aircraft settles on before it takes off. That number is its estimate of how high the take-off spot is.
The same patch of tarmac was given three different heights: 24.76, 26.21 and 52.54 m. At most one of those is right, and possibly none of them. Nothing in the file tells you which.
Why it moves: the weather
Small drones measure height with a barometer, which senses air pressure. Near the ground, pressure falls by about 1 hectopascal (hPa) for every 8 metres you climb. That makes a barometer an excellent instrument for measuring change in height over a few minutes, which is exactly what the relative altitude is.
It is a poor instrument for absolute height, because the weather moves the pressure too. If the air pressure drops by 3 hPa overnight as a weather system comes through, a barometer sitting on the ground can't tell that apart from being lifted about 25 metres.
I didn't log pressure on site, so I checked the nearest official record — the routine weather reports from Heathrow, about 13 km away:
| Flight | Heathrow QNH | What that predicts | What the drone recorded |
|---|---|---|---|
| 3 Aug, 06:38 | 1012 hPa | — | — |
| 3 Aug, 06:54 | 1012 hPa | too small to resolve | +1.45 m |
| 4 Aug, 06:31 | 1009 hPa | ≈ +25 m (17–34 m) | +27.78 m |
The pressure fell 3 hPa between the two mornings, which predicts roughly 25 m of apparent climb. The drone recorded 27.78 m. The range in brackets comes from the reports being rounded to whole hectopascals, so the true fall could be anywhere from 2 to 4.
That is a strong match, but it is not proof. The pressure was measured 13 km away, not on the launch spot. The 1.45 m shift within one morning is a change of about 0.2 hPa, which those reports are too coarse to show. And I can't rule out some contribution from satellite positioning, which is weakest in exactly this direction — vertical.
Why it matters to anyone reading a drone survey
Mapping software builds its 3D model from the photos and the positions written into them. If the heights in those positions are off by 27 metres, so is the whole model. The model still looks perfect. Every slab, kerb and stockpile is in the right place relative to every other one. It just sits at the wrong height above sea level, and nothing on screen gives that away.
That is why "the stockpile is at 42.6 m above Ordnance Datum" from a drone without RTK is a sentence to be wary of. The figure may be printed to a millimetre, but the reference behind it was set by that morning's weather.
Ask this whenever a drone survey quotes you a level
"What is the height referenced to, and how was it checked?" A good answer names ground control points surveyed in independently, or an RTK correction service, and gives an accuracy statement that comes with the file. If the answer is the drone's GPS, the level isn't really a level.
What fixing the take-off spot buys you
The relative altitude is genuinely reliable over a single flight, and it's what the mission is flown on. But it is measured from wherever the aircraft took off. Launch from a spot 2 m higher next month and the whole flight is 2 m higher above the site. Each photo then covers slightly more ground at slightly lower detail, and the two visits are no longer like for like.
So every site I fly has a recorded take-off point, and every visit launches from it. That is why the table above shows 40.00 m on all three flights. In the same three flights the flight lines repeated to within 2 cm of spacing.
Fixing the take-off spot solves the height above ground. It does nothing for the absolute reference, which still moves with the weather. For that, each repeat visit is aligned to the first visit's 3D model before anything is compared: in effect the later model is told "you are the same ground as the first one", and the shift from the weather is removed. After that, across the same 24 hours that moved the absolute altitude by 27.78 m, the median difference on bare ground was 0.063 m, and 90% of it agreed within 0.237 m. The full method and the results that went badly are in the accuracy study.
Alignment doesn't remove everything. On hard standing a residual whole-flight offset of about 0.14 m was left across those two dates. A correction measured on surfaces known not to have moved brings that down to 12–14 cm of tested error on this site, against 18–36 cm without it. It needs at least two such surfaces on site, and it is not yet part of the standard pack.
The honest boundary
A real measurement
- How much a surface changed between visits, relative to the first one
- Where things are relative to each other on the same flight
- Height above the take-off point during the flight itself
Not a measurement
- Levels above Ordnance Datum from a drone without RTK
- Anything a contractor will set out or build to
- A single absolute height compared across two different days
RTK is a different job, not a better version of this one. An RTK aircraft corrects its position live against a reference station and gets its height to within centimetres. Pair it with surveyed ground control and the accuracy statement a surveyor puts their name to, and you get real levels. If the job needs levels, buy that. What I do sits underneath a signed survey, as a monthly record of change, and doesn't replace one.
Check it on your own drone in an afternoon
You don't need to take my word for any of this. If you have a DJI drone, or photos from one:
- Take off from a marked spot, hover, take a photo, and land. Do it again an hour or a day later from the same mark. A pair of old survey flights from the same site will do just as well.
- Read the two heights out of each photo. The free tool ExifTool will show
them:
exiftool -n -AbsoluteAltitude -RelativeAltitude DJI_0001.JPG - Subtract one from the other on each flight, and compare the results between flights.
- Look up the pressure for the nearest airfield at both times. Airport weather reports (METARs) are archived publicly, and the pressure is the figure after the "Q", in hPa.
If your drone behaves like mine, the gap between the two flights will follow the pressure, at about 8 m per hPa.
How each model sets its absolute altitude depends on the aircraft and its firmware, and some lean more on satellite positioning than on the barometer. Everything above was measured on a Mini 3 Pro. Don't assume another model does the same thing; this check is how you find out.
Limits, stated plainly
- One aircraft, one site, three flights, over two dry, calm summer mornings.
- Pressure came from Heathrow, about 13 km away, rounded to whole hPa. It is consistent with the measured shift. It does not prove that pressure was the only cause.
- I don't know the true height of the take-off spot above Ordnance Datum, so I can't say which of the three recorded figures, if any, was closest. The point stands either way: they can't all be right.
- The altitude tags were read from the original files with no processing in between. Anyone with the photos would get the same figures.
Figures last updated 7 October 2026.