Drones / UAV · Tool
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.
Inputs
sensor_width_mmRequirednumber (mm)Sensor Width
required · min 3 · max 60 · default 17.3
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.
required · min 3 · max 60 · default 17.3
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_height_mmRequirednumber (mm)Sensor Height
required · min 2 · max 45 · default 13
Physical sensor height. 4:3 sensors: width × 0.75. 3:2 sensors: width × 0.667.
required · min 2 · max 45 · default 13
Physical sensor height. 4:3 sensors: width × 0.75. 3:2 sensors: width × 0.667.
focal_length_mmRequirednumber (mm)Focal Length
required · min 1 · max 200 · default 12.29
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.
required · min 1 · max 200 · default 12.29
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_width_pxRequiredinteger (px)Image Width
required · min 640 · max 20000 · default 5280
required · min 640 · max 20000 · default 5280
image_height_pxRequiredinteger (px)Image Height
required · min 480 · max 20000 · default 3956
required · min 480 · max 20000 · default 3956
flight_altitude_mRequirednumber (m)Flight Altitude (AGL)
required · min 5 · max 500 · default 100
Above ground level. Lower altitude = finer GSD but more flight lines.
required · min 5 · max 500 · default 100
Above ground level. Lower altitude = finer GSD but more flight lines.
forward_overlap_pctRequirednumber (%)Forward Overlap
required · min 50 · max 95 · default 80
Overlap between successive images along the flight line. 80% is standard for orthomosaics; 85–90% for vegetation or 3D models.
required · min 50 · max 95 · default 80
Overlap between successive images along the flight line. 80% is standard for orthomosaics; 85–90% for vegetation or 3D models.
side_overlap_pctRequirednumber (%)Side Overlap
required · min 50 · max 95 · default 70
Overlap between adjacent flight lines. 70% is standard; 80%+ for tall structures and vegetation.
required · min 50 · max 95 · default 70
Overlap between adjacent flight lines. 70% is standard; 80%+ for tall structures and vegetation.
ground_speed_msRequirednumber (m/s)Ground Speed
required · min 1 · max 30 · default 5
Cruise speed during image capture. 5 m/s is typical for mapping; faster speeds risk motion blur and triggering misses.
required · min 1 · max 30 · default 5
Cruise speed during image capture. 5 m/s is typical for mapping; faster speeds risk motion blur and triggering misses.
shutter_speed_sRequirednumber (s)Shutter Speed
required · min 0.0001 · max 0.1 · default 0.001
Camera shutter speed. 1/1000 s = 0.001. Faster shutter allows higher ground speed without motion blur.
required · min 0.0001 · max 0.1 · default 0.001
Camera shutter speed. 1/1000 s = 0.001. Faster shutter allows higher ground speed without motion blur.
area_hectaresnumber (ha)Survey Area
min 0 · max 100000 · default 10
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.
min 0 · max 100000 · default 10
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_time_minnumber (min)Battery Flight Time
min 1 · max 120 · default 35
Per-battery usable mapping time. Mavic 3 Enterprise ~35, P4 RTK ~27, Mini 3 ~30. Used to compute battery swaps.
min 1 · max 120 · default 35
Per-battery usable mapping time. Mavic 3 Enterprise ~35, P4 RTK ~27, Mini 3 ~30. Used to compute battery swaps.
image_size_mbnumber (MB)Image Size
min 0.5 · max 200 · default 12
Approximate per-image file size. RAW DNG ~30–40, large JPEG ~10–15.
min 0.5 · max 200 · default 12
Approximate per-image file size. RAW DNG ~30–40, large JPEG ~10–15.
Outputs
gsd_cm_per_pixelnumber (cm/px)Ground Sample Distance
footprint_width_mnumber (m)Footprint Width
footprint_height_mnumber (m)Footprint Height
flight_line_spacing_mnumber (m)Flight Line Spacing
forward_photo_spacing_mnumber (m)Photo Spacing (along line)
trigger_interval_snumber (s)Trigger Interval
max_speed_for_blur_msnumber (m/s)Max Speed (≤0.5 px blur)
motion_blur_pxnumber (px)Motion Blur at Current Speed
images_requiredintegerTotal Images
flight_linesintegerFlight Lines
mission_time_minnumber (min)Mission Time
battery_swaps_neededintegerBattery Swaps
sd_card_size_gbnumber (GB)SD Card Needed
blur_warningstringQuality Warning
Example request
curl -X POST https://toolsamurai.com/api/v1/drones-uav/photogrammetry-gsd-calculator \ -H "Authorization: Bearer sk_free_•••••••••••••••" \ -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 }'
Example response
{ "ok": true, "tool": "photogrammetry-gsd-calculator", "domain": "drones-uav", "version": "1.0.0", "result": { "gsd_cm_per_pixel": …, "footprint_width_m": …, "footprint_height_m": …, "flight_line_spacing_m": …, "forward_photo_spacing_m": …, "trigger_interval_s": …, "max_speed_for_blur_ms": …, "motion_blur_px": …, "images_required": …, "flight_lines": …, "mission_time_min": …, "battery_swaps_needed": …, "sd_card_size_gb": …, "blur_warning": "…" }, "meta": { "latency_ms": …, "request_id": "req_…" } }