Parallax Aerial GVC · CAA Authorised · £10m PL

Field note · Measurement · 9 August 2026

How accurate is a sub-250 g drone, really?

I flew the same car park twice, 24 hours apart, changed nothing between the flights, and measured the difference. Everything the model reported was therefore error. Here is the number, the method, and the three results that don't flatter the kit.

Cross-date repeatability
0.24 m

90% of bare and hard ground agreed within this, 24 hours apart. 95% within 0.31 m.

Scatter on hardstanding
0.033 m

The random component alone, on a stable concrete apron. The rest is a correctable offset.

Absolute datum drift
27.78 m

How far the aircraft's absolute altitude moved in 24 hours while flying the identical height. Why nobody should sell absolute levels off this kit.

Volume error, small object
2.7× over

A tape-measured 0.045 m³ box read as 0.122 m³. Published because it is the limit that matters.

Why this page exists

Search for drone survey accuracy and almost everyone says the same thing: accurate to 2 cm. No method, no repeat flight, no error bar, and no statement of what the number leaves out.

Usually that figure is the ground sample distance — the size of one pixel on the ground — quoted as though it were accuracy. It isn't. GSD tells you what you can see. It tells you nothing about whether the same point lands in the same place when you come back next month, which is the only thing that matters if the survey's job is to show change.

That distinction is not academic if you are the person signing a valuation, defending a programme position, or putting a figure in a claim pack. A number without a stated boundary is something you can be cross-examined on. A number with one is evidence.

So here is mine, with the method, the caveats, and the parts that went badly.

The test: fly it twice, change nothing

The principle is called a null test and it needs no reference data at all. Fly a site, fly it again with nothing changed in between, process both reconstructions independently, and subtract one elevation model from the other. The correct answer is zero everywhere. It never is — and everything that isn't zero is error. The site is its own control, so there is nothing to assume and nothing to take on trust.

The site

Location
Ramblers Car Park, nr Slough
Site area
3.88 ha
Area analysed
2.37 ha
Surface
tarmac, gravel, woodland
Tree canopy
44% of the area
Status
validation site, not client work

The analysed area is smaller than the site because 8 m is trimmed off the survey boundary before anything is measured. Edge cells are seen by few frames and are known to be unreliable — including them would flatter nobody and mislead everybody.

The capture

Aircraft
DJI Mini 3 Pro (<250 g)
Positioning
GNSS only — no RTK, no GCPs
Height
40.0 m above launch
Camera
12 MP, gimbal −90° nadir
Exposure
ISO 400, 1/640, manual WB
Pattern
crosshatch, 70% side / 80% forward
Output grid
2.0 cm/px

Three flights: a baseline and a repeat five minutes apart on 3 August, then the same mission again at the same time of morning on 4 August. 226, 227 and 228 frames, about 11 minutes each.

First, the flight has to repeat

None of the rest means anything if the aircraft doesn't fly the same lines each visit, so that gets checked first — from the GPS position and camera settings written into every delivered frame, not from the flight plan.

A day apart, the mission reproduced 7 lines on one bearing and 12 on the other, at 16.57 m and 16.43 m spacing — the same as the previous day to within 2 cm, at an identical 40.00 m above launch, with gimbal, ISO, shutter, white balance and shot interval unchanged. That is the part a monthly record depends on, and it is the part that is genuinely solved.

Worth being clear about why: the mission is a saved file, flown by the aircraft, not a route flown by hand. A hand-flown site cannot be compared month to month, however good the pilot is.

The headline number

Bare and hard ground only — the surfaces anybody actually measures. Vegetation is reported separately below rather than averaged in.

How closely two independent surveys of the same ground agree

Vertical difference between two reconstructions of an unchanged site. Lower is better. The 24-hour pair is better than the two flights taken five minutes apart.

Vertical agreement between repeat surveys, by percentile of surface On 4 August, 24 hours after the baseline: 50% of the surface within 0.112 m, 68% within 0.160 m, 90% within 0.237 m, 95% within 0.311 m. On 3 August, five minutes after the baseline: 0.21 m, 0.27 m, 0.41 m and 0.51 m for the same percentiles. 0 0.1 0.2 0.3 0.4 0.5 m 3 Aug, 5 min apart — 50% within 0.21 m 4 Aug, 24 h apart — 50% within 0.112 m 3 Aug, 5 min apart — 68% within 0.27 m 4 Aug, 24 h apart — 68% within 0.160 m 3 Aug, 5 min apart — 90% within 0.41 m 4 Aug, 24 h apart — 90% within 0.237 m 3 Aug, 5 min apart — 95% within 0.51 m 4 Aug, 24 h apart — 95% within 0.311 m 0.21 0.27 0.41 0.51 0.112 0.160 0.237 0.311 50% 68% 90% 95% …of the surface agrees to within this many metres
3 Aug 2026 — two flights, 5 minutes apart 4 Aug 2026 — the same mission, 24 hours later
Vertical difference on bare and hard ground · 2.37 ha · 8 m edge trim
Bare / hard ground3 Aug — 5 min apart4 Aug — 24 h apart
Median difference−0.076 m−0.063 m
50% of cells within0.21 m0.112 m
68% within0.27 m0.160 m
90% within0.41 m0.237 m
95% within0.51 m0.311 m
99% within4.48 m2.83 m

The 99th percentile is included deliberately. Most of that tail is not error at all — I was standing on site and there were vehicles in the car park, and things that genuinely moved between flights show up as change because they were change. It is left in because removing inconvenient cells is exactly how these figures get massaged.

The 24-hour result is better than the 5-minute one, and I did not expect that

The pair flown five minutes apart should be the easy case: same light, same air, same battery-fresh conditions. It came out worse. The reason is in the next section — that pair happened to carry a larger constant offset, and a constant offset shifts every percentile at once.

The useful conclusion is the one that matters commercially: coming back a month later does not degrade the comparison. That is the whole premise of a progress record, and it is now measured rather than assumed. The unglamorous conclusion is that run-to-run variation is larger than day-to-day variation at this scale, so a single pair of flights is not a spec — it is one sample.

Percentiles, not RMS — and why that isn't a dodge

Almost every published accuracy claim is an RMS or a standard deviation, which assumes the errors are bell-shaped. These aren't. The distribution has heavy tails: most cells are very good and a small number are terrible, so an average is dragged around by the worst cells and reports a figure that describes nothing you would recognise on site. "90% of the surface within 0.24 m" is a statement you can go and check. A lone "± X m RMS" hides both how good the good part is and how bad the bad part is.

Where the error actually lives

Splitting the same difference map by surface type — classified by vegetation height, not by eye — shows the error is not spread evenly at all.

95% of cells agree within this, by surface

Same flights, same processing, same day. Nearly half this site is tree canopy, and the canopy carries almost all of the error.

Repeat-survey agreement by surface type Bare and hard ground, 43.7% of the area, agrees within 0.51 m at the 95th percentile. Low vegetation, 4.3% of area, 2.29 m. Scrub and hedge, 7.8%, 2.58 m. Tree canopy, 44.2% of the area, 2.81 m. Bare / hard ground — 95% within 0.51 m Low vegetation and grass — 95% within 2.29 m Scrub and hedge — 95% within 2.58 m Tree canopy — 95% within 2.81 m Bare / hard ground 43.7% of area Low veg, grass 4.3% of area Scrub, hedge 7.8% of area Tree canopy 44.2% of area 0.51 m 2.29 m 2.58 m 2.81 m 0 1 m 2 m 3 m 95th percentile of vertical difference

Bare ground is 43.7% of this site and behaves well. Tree canopy is 44.2% and is five times worse — leaves move, and two reconstructions of a moving surface will never agree. Grass and scrub sit in between.

So "this site is accurate to X" is a meaningless sentence. Quote one site-wide figure for a wooded site and you are mostly reporting how the wind was blowing. Any accuracy claim has to say which surface it applies to. On a live construction site the mix is kinder than this — but the rule doesn't change.

The number I could have published instead

There is a stable concrete apron on this site that gets measured separately every visit, precisely because it is not supposed to change. Across the 24-hour pair, the scatter on that apron is 0.033 m.

Three centimetres. If I wanted a flattering headline, that is the number to put on the home page, and it would be perfectly true.

It would also be misleading, because sitting underneath that scatter is a systematic vertical offset of 0.137 m across dates — 0.237 m for the same-morning pair — that the alignment step does not remove. The whole surface is shifted up or down slightly, per flight. So the honest reading of the same measurement is: the random part is 3–5 cm, and there is a per-flight datum shift of 14–24 cm on top of it.

Stable reference surface — the site's own noise floor
PairScatter (std)Systematic offset
4 Aug — 24 hours apart0.033 m−0.137 m
3 Aug — 5 minutes apart0.046 m−0.237 m

This is also the explanation for the surprise above: the same-morning pair carried the larger offset, so it scored worse despite the easier conditions.

A constant is correctable — measure it on a surface known not to have moved and subtract it before differencing. Doing that properly means fitting it locally rather than site-wide, because the offset is not uniform across the ground, and it is not built yet. Until it is, the figure I quote is the 0.24 m / 0.31 m one, not the 3 cm one. When it's done, this page gets the measurement, not the promise.

Absolute height is far worse — and it isn't the drone's fault

Everything above is relative: how well two surveys agree with each other. Absolute height — real levels, above Ordnance Datum — is a different question, and this is the hardest evidence I have on it.

27.78 metres in 24 hours

Flying the identical mission at an identical 40.00 m above launch, the aircraft's recorded absolute altitude moved from 64.76 m to 92.54 m between the two dates. Within a single morning it moved 1.45 m.

The aircraft flew the correct height above the launch point on both days. What moved was the barometric datum it measures against — air pressure, not position.

That is why every figure on this page is expressed as change relative to the baseline survey, why the takeoff point is fixed and re-used on every visit, and why I will not give you AOD levels off this aircraft. Anyone quoting absolute levels from a non-RTK sub-250 g drone either hasn't checked this or isn't telling you.

The results that don't flatter the kit

On the second visit I put a tape-measured cardboard box on the tarmac — 0.50 × 0.30 × 0.30 m — and flew over it without telling the processing anything about it. The point was to find the detection threshold rather than assume one. Three things came out of it, and they point in different directions.

1. Plan measurement: very good

From the orthomosaic the box measured 0.537 × 0.320 m against a true 0.50 × 0.30 — errors of 2–4 cm, and area within 4%. At 2 cm/px it is 25 × 15 pixels with crisp edges.

Measuring hard-edged things in plan — slab outlines, hardstanding, stored materials, roof areas — is genuinely reliable at this scale.

2. Height: not good

The elevation model read the box as 0.20 m tall against a true 0.30 m, a 33% under-read, and smeared its footprint from 0.5 × 0.3 m to 1.09 × 0.755 m.

That was measured inside a single survey, so it is not an alignment error. It is the modelled surface rounding off a small, sharp object.

3. Volume: over-read by 2.7×

Follow the smeared footprint through and the box's volume comes out at 0.122 m³ against a true 0.045 m³. Nearly three times too much.

The mechanism is an edge effect, so in principle it should shrink in proportion as objects get larger — a stockpile several metres across is a different regime from a shoebox. But I have not measured that, so I don't claim it. What the measurement supports today is a flat rule: no volume figures for anything of this size, and no certified volumes from this aircraft at all.

This is the single most useful thing on the page for a buyer. Stockpile volumes are the deliverable most often sold off small drones, and the error is in the direction that costs you money.

4. Automated change detection missed it completely

Running a blind search for objects that appeared between the two dates — no hint about where to look — the box did not make the top 25 candidates, even with the search tuned to the height it actually read. The site carries tens of thousands of cells showing 0.25–0.50 m of apparent change on nominally flat ground, and a 0.20 m signal is not separable from that clutter. The box was found by eye, in the orthomosaic, in seconds.

The same search found every parked car immediately and correctly. So: automatic detection works at roughly car scale, 1.0–1.5 m and up. Below that, a person looking at the image beats the algorithm — which is fine, because that is exactly how a progress pack gets read.

What this supports, and what it doesn't

Fit for

  • Dated visual site records for progress meetings and monthly reports
  • Month-to-month comparison of the same site, flown to the same saved mission
  • Programme evidence and delay or claim narratives — what was where, and when
  • Plan measurement of hard-edged features: areas, extents, layout, access
  • Roof and elevation condition inspection without scaffold or access equipment
  • Spotting change at roughly car scale and upwards, reliably

Not fit for

  • Setting out, or anything a contractor will build to
  • Legal boundary determination
  • Absolute levels above Ordnance Datum
  • Certified stockpile volumes, or any volume for small objects
  • Anything requiring a survey-grade accuracy statement
  • Measuring ground under tree canopy

Where a job genuinely needs survey grade, the answer is an RTK aircraft with ground control and an accuracy statement attached to the file — which I'll hire in and say so. The interesting point of this whole exercise is how much useful work sits on the left-hand list, and how rarely anyone states the boundary between the two.

Five questions worth asking any drone supplier

  • Have you flown the same site twice and differenced the results? If not, the accuracy figure is a specification sheet, not a measurement.
  • Is your number GSD or measured repeatability? "2 cm" is almost always pixel size. They are not the same quantity and they differ by an order of magnitude.
  • Percentiles or RMS, and over which surface? A site-wide RMS across vegetation tells you nothing about the ground you care about.
  • Relative to a baseline, or absolute? Absolute levels off a non-RTK aircraft should be refused, not priced.
  • What was excluded? Edge trim, masked areas and removed outliers are all legitimate — provided they're declared.

If you get straight answers to those five, you're dealing with someone who has actually measured their own work. It is a short list.

Method, and how to check me

Processing is OpenDroneMap, incremental structure-from-motion, with rolling-shutter correction enabled using the aircraft's true 26 ms sensor readout. Both repeats are aligned to the baseline reconstruction's point cloud before differencing, so what is compared is like with like. Orthomosaic and elevation model are produced on a locked 2.0 cm/px grid that never changes for this site — a resolution change between visits would inject noise into exactly the measurement being sold. Surfaces are classified as bare or vegetated by subtracting the terrain model from the surface model, not by eye.

The difference maps are computed cell by cell across 2.37 ha after an 8 m edge trim, and reported as percentiles of absolute difference plus a median bias.

Limits of this study, stated plainly

  • One site, one aircraft, one operator, one weather condition. Dry, calm, light cloud, low sun, early morning both days.
  • This measures repeatability, not absolute accuracy. There is no independent survey control here — deliberately, since the question being asked is whether two visits agree with each other.
  • The 99th-percentile tail includes real movement — me, and vehicles. The true noise floor is probably better than the tail implies.
  • Two pairs of flights is a small sample. The gap between the two results is itself evidence that a single pair does not pin down a spec.
  • The 2.7× volume over-read was measured on a shoebox. Whether it shrinks at stockpile scale is untested here and is not claimed.
  • None of it is survey-grade, and nothing here should be used for setting out.

Figures last updated 9 August 2026. If any of them change — including in the wrong direction — this page changes with them.

The point of all this

A record you can put in a pack and defend.

Monthly construction progress monitoring across Berkshire, Bucks, the M4 corridor and Greater London — the same mission flown every visit, delivered as an orthomosaic, labelled stills and a month-to-month comparison, on your desk by the third working day. With the boundary of what it measures stated up front, as above.