Drone Photogrammetry GSD & Mission Planner

Compute ground sample distance, ground footprint, flight-line spacing, trigger interval and motion-blur speed limit for drone mapping missions. Add an area and battery flight time to get total image count, flight lines, mission duration, battery swaps and SD card size.

DomainDrones / UAVVersionv1.0.0Added2026-05-25

Plan a drone mapping mission properly before you go to site. Enter your camera's sensor size, focal length and resolution, then the flight altitude and the overlap targets your photogrammetry workflow needs. The calculator returns the ground sample distance (cm/pixel), ground footprint per image, flight-line spacing, image trigger interval, the maximum ground speed your shutter can sustain without motion blur, and — if you add an area — the total image count, flight lines, mission time, battery swaps and SD card capacity you'll need. It's the same math Pix4D and DroneDeploy run behind the scenes.

Inputs
Sensor Widthmm
Physical sensor width. Common: Mavic 3 / M3E Hasselblad 17.3, P4 RTK 13.2, M3 Pro tele 11.4, Mini 3 9.6, Mavic 2 Pro Hasselblad 13.2, full-frame 36.
Sensor Heightmm
Physical sensor height. 4:3 sensors: width × 0.75. 3:2 sensors: width × 0.667.
Focal Lengthmm
Actual lens focal length, NOT the 35-mm equivalent. M3E 12.29, P4 RTK 8.8, Mini 3 6.7, Mavic 2 Pro 10.26.
Image Widthpx
Image Heightpx
Flight Altitude (AGL)m
Above ground level. Lower altitude = finer GSD but more flight lines.
Forward Overlap%
Overlap between successive images along the flight line. 80% is standard for orthomosaics; 85–90% for vegetation or 3D models.
Side Overlap%
Overlap between adjacent flight lines. 70% is standard; 80%+ for tall structures and vegetation.
Ground Speedm/s
Cruise speed during image capture. 5 m/s is typical for mapping; faster speeds risk motion blur and triggering misses.
Shutter Speeds
Camera shutter speed. 1/1000 s = 0.001. Faster shutter allows higher ground speed without motion blur.
Survey Areaha
Optional. Add to get total image count, flight lines, mission time and SD card size. 1 ha = 10,000 m². 1 acre ≈ 0.405 ha.
Battery Flight Timemin
Per-battery usable mapping time. Mavic 3 Enterprise ~35, P4 RTK ~27, Mini 3 ~30. Used to compute battery swaps.
Image SizeMB
Approximate per-image file size. RAW DNG ~30–40, large JPEG ~10–15.
Result
version1.0.0
POST /v1/drones-uav/photogrammetry-gsd-calculatorView API docs →
curl -X POST https://toolsamurai.com/api/v1/drones-uav/photogrammetry-gsd-calculator \
  -H "Authorization: Bearer sk_live_•••••••••••••••" \
  -H "Content-Type: application/json" \
  -d '{
     "sensor_width_mm": 17.3,
     "sensor_height_mm": 13,
     "focal_length_mm": 12.29,
     "image_width_px": 5280,
     "image_height_px": 3956,
     "flight_altitude_m": 100,
     "forward_overlap_pct": 80,
     "side_overlap_pct": 70,
     "ground_speed_ms": 5,
     "shutter_speed_s": 0.001,
     "area_hectares": 10,
     "battery_flight_time_min": 35,
     "image_size_mb": 12
  }'
dronephotogrammetrygsdmappingsurveypix4ddronedeploymission-planninglidarorthomosaic
How it works

The method behind the numbers

Ground sample distance is the size of one image pixel projected onto the ground. From similar triangles: GSD = (sensor_width × altitude) / (focal_length × image_width). Multiply by image dimensions to get the ground footprint per image.

Flight-line spacing is footprint width × (1 − side_overlap). Along-line photo spacing is footprint height × (1 − forward_overlap). Trigger interval is the photo spacing divided by ground speed — fly faster and the camera must shoot faster.

Motion blur is the distance the craft moves while the shutter is open, divided by GSD: blur_px = (speed × shutter) / GSD. The industry rule is to keep blur below 0.5 px to preserve edge sharpness for feature matching. The 'max speed for blur' output inverts the formula at the 0.5-px limit.

For an area mission, the calculator divides total area by the per-image footprint (after overlap) to get image count, then divides survey-area width by flight-line spacing to get line count. Mission time adds the in-line flight time (line length × lines / speed) and 15 s of turn time per line. Battery swaps round up by per-battery flight time, and SD card size is image count × per-image file size.

Worked examples

See it in practice

Mavic 3 Enterprise, 100 m AGL, 10 ha survey

Standard orthomosaic mission with M3E's 17.3 mm sensor, 12.29 mm focal length, 5280×3956 px, 80/70 overlap.

sensor_width_mm
17.3
sensor_height_mm
13
focal_length_mm
12.29
image_width_px
5280
image_height_px
3956
flight_altitude_m
100
forward_overlap_pct
80
side_overlap_pct
70
ground_speed_ms
5
shutter_speed_s
0.001
area_hectares
10
battery_flight_time_min
35
image_size_mb
12
DJI Phantom 4 RTK, 80 m AGL, 25 ha survey

Sub-3 cm GSD survey with the P4 RTK's 1" 20 MP sensor.

sensor_width_mm
13.2
sensor_height_mm
8.8
focal_length_mm
8.8
image_width_px
5472
image_height_px
3648
flight_altitude_m
80
forward_overlap_pct
80
side_overlap_pct
70
ground_speed_ms
6
shutter_speed_s
0.001
area_hectares
25
battery_flight_time_min
27
image_size_mb
8
FAQ

Frequently asked questions

Why must I enter the actual focal length, not the 35-mm equivalent?

The GSD formula uses physical optics — actual focal length and actual sensor width. The 35-mm equivalent is a relative-field-of-view rescaling for human comparison and gives the wrong answer if you plug it into the formula. DJI publishes both numbers; use the small physical one (e.g., M3E = 12.29 mm, not 24 mm equivalent).

What overlap should I use?

For flat orthomosaic mapping: 75–80% forward, 65–75% side is the sweet spot. For 3D building models or vegetation: bump to 85–90% forward, 80% side — the photogrammetry engine needs more parallax. Higher overlap dramatically increases image count and flight time, so don't over-spec unless the model demands it.

How do I avoid motion blur?

Keep blur under 0.5 px per pixel. Fast shutter (1/1000 s or shorter) lets you fly faster without smearing pixels. Bright daylight makes a fast shutter easy; dawn or dusk forces you to slow down. The 'max speed for blur' output tells you the speed cap your current shutter allows.

Why does the result differ from DJI Pilot or Pix4Dcapture?

Real mission-planning apps add turn time, take-off/landing transit, and assume the drone reaches cruise speed before triggering. This calculator is the underlying photogrammetry math, which is what those apps run too — small differences (5–10%) come from their turn-time and transit assumptions. Treat this as the lower bound on mission time.

Does this support LiDAR or oblique missions?

The GSD, footprint and battery-swap outputs apply to nadir RGB missions. Oblique (45° camera tilt) and LiDAR missions have different overlap rules and aren't modelled here — use the nadir number as a planning baseline and apply manufacturer guidance for the modifier.

Embed

Put Drone Photogrammetry GSD & Mission Planner on your site

Free, no signup required. Customise theme, pre-fill values, or lock inputs so visitors can only change what you choose.

Leave a field blank to keep its built-in default. Tick 🔒 to lock it read-only in the embed.
<iframe src="https://toolsamurai.com/embed/drones-uav/photogrammetry-gsd-calculator"
        width="100%" height="640" frameborder="0"
        style="border:0;display:block"
        title="Drone Photogrammetry GSD & Mission Planner — ToolSamurai"></iframe>
Live preview
Read the embed docs →