UAV Flight Plan Margin Calculator

Turns the DJI “Margin” setting (GS RTK, GS Pro, Pilot 2) into the frontlap and sidelap you actually get at the edge of your survey area — and recommends a margin that keeps edge overlap high enough for orthomosaics and 3D models.

Help centre

Verification — does every point of the area get enough overlap?

Checked by simulating every photo of the plan with the margin you set (see the coverage map) and counting the photos that see each point of the survey area. Assumes nadir photos, a constant height above the evaluated surface (terrain follow, or set the altitude above the highest ground), and no wind drift. Over hilly terrain without terrain follow, overlap drops where the ground rises.

Flight geometry

Recommended margin

DJI apps apply one margin value as an outward buffer around the whole polygon, so the recommendation is the larger of the along-track and across-track requirements, rounded up to a whole metre.

Your margin → edge overlap

Margin (m) — enter the same number in the DJI app.

Margin vs. effective overlap at the boundary

Coverage map — how much overlap does each spot of the survey area get?

Survey area (your deliverable) Area + margin (where the drone flies) │ flight lines · • photo positions · flight direction ↕ Outside the survey area is dimmed

Survey area by overlap class

Hover or tap the map to read the overlap at any spot. The app may start the first line anywhere within one line spacing of the margin edge. Six placements are tested and the map draws the worst one, so what you see is what is guaranteed.

Field summary

How the calculation works

Footprint and spacing (camera):

GSD = H × pixel pitch / focal length Footprint across W = GSD × pixels across track Footprint along L = GSD × pixels along track Photo interval B = L × (1 − frontlap) Line spacing S = W × (1 − sidelap) Images per point (interior) ≈ (L/B) × (W/S)

A point in the interior is seen by about L/B photos along track — but photos are whole numbers, so some points get ⌊L/B⌋ and others one more. A flight at overlap o therefore guarantees m = ⌊1/(1 − o)⌋ photos per axis at every point (80 % → 5, 75 % → 4, 70 % → 3, 60 % → 2). The calculator works with these guaranteed counts.

A point on the boundary only gets photos from one side unless the route continues past it. Every station within L/2 of the point sees it, so with margin M the stations that can see it lie in an interval of length min(M, L/2) + L/2. Whatever position the app picks for the first photo/line, that interval holds at least

n_edge(M) = ⌊ ( min(M, L/2) + L/2 ) / B ⌋ photos along track (same with W and S for lines across track)

With M = 0 the boundary gets only about half the interior count. With M = L/2 (half a footprint) it is as good as the interior. Solving n_edge ≥ m for the edge target o:

m = ⌊ 1/(1 − o) ⌋ M = m × B − L/2 (along track) M = m × S − W/2 (across track) Recommended margin = max of the two, rounded up to whole metres

The verification panel checks this independently: it places every photo and line of the plan for six different alignments of the first line and counts, at 1,000 sample points along each axis of the area (always including the boundary), how many photos and lines cover each one.

For objects of height h, footprints on their tops scale by k = (H − h)/H, so W and L above are replaced by k·W and k·L. This is why tall buildings and tree canopy at the edge need extra margin, and why overlap on rooftops is lower than the value set in the app. A half-footprint margin also puts camera stations outside the boundary so façades facing outward are actually imaged.

The coverage map draws the worst of these alignments. Real apps may place lines and triggers slightly differently, add turn segments, or clip the margin, so treat the map as a model and always check the planned route in the app.

Rule-of-thumb image counts: ≥ 5 images per point for reliable matching; 3D/forest projects usually need ≥ 9–15 (e.g. 80/70 or 85/75). Preset camera values are taken from published specifications — check them against your own EXIF data if you need high precision, or use “Custom”.