Drone Photogrammetry GSD & Mission Planner · Schema
Raw schema.
Same JSON the GET /v1/drones-uav/photogrammetry-gsd-calculator/schema endpoint returns — formatted for reading. Use it to codegen typed clients or document the contract.
{ "tool": "photogrammetry-gsd-calculator", "domain": "drones-uav", "version": "1.0.0", "name": "Drone Photogrammetry GSD & Mission Planner", "description": "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.", "standard": null, "inputs": [ { "key": "sensor_width_mm", "label": "Sensor Width", "required": true, "unit": "mm", "help": "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.", "type": "number", "min": 3, "max": 60, "step": 0.1, "default": 17.3 }, { "key": "sensor_height_mm", "label": "Sensor Height", "required": true, "unit": "mm", "help": "Physical sensor height. 4:3 sensors: width × 0.75. 3:2 sensors: width × 0.667.", "type": "number", "min": 2, "max": 45, "step": 0.1, "default": 13 }, { "key": "focal_length_mm", "label": "Focal Length", "required": true, "unit": "mm", "help": "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.", "type": "number", "min": 1, "max": 200, "step": 0.1, "default": 12.29 }, { "key": "image_width_px", "label": "Image Width", "required": true, "unit": "px", "type": "integer", "min": 640, "max": 20000, "step": 1, "default": 5280 }, { "key": "image_height_px", "label": "Image Height", "required": true, "unit": "px", "type": "integer", "min": 480, "max": 20000, "step": 1, "default": 3956 }, { "key": "flight_altitude_m", "label": "Flight Altitude (AGL)", "required": true, "unit": "m", "help": "Above ground level. Lower altitude = finer GSD but more flight lines.", "type": "number", "min": 5, "max": 500, "step": 1, "default": 100 }, { "key": "forward_overlap_pct", "label": "Forward Overlap", "required": true, "unit": "%", "help": "Overlap between successive images along the flight line. 80% is standard for orthomosaics; 85–90% for vegetation or 3D models.", "type": "number", "min": 50, "max": 95, "step": 5, "default": 80 }, { "key": "side_overlap_pct", "label": "Side Overlap", "required": true, "unit": "%", "help": "Overlap between adjacent flight lines. 70% is standard; 80%+ for tall structures and vegetation.", "type": "number", "min": 50, "max": 95, "step": 5, "default": 70 }, { "key": "ground_speed_ms", "label": "Ground Speed", "required": true, "unit": "m/s", "help": "Cruise speed during image capture. 5 m/s is typical for mapping; faster speeds risk motion blur and triggering misses.", "type": "number", "min": 1, "max": 30, "step": 0.5, "default": 5 }, { "key": "shutter_speed_s", "label": "Shutter Speed", "required": true, "unit": "s", "help": "Camera shutter speed. 1/1000 s = 0.001. Faster shutter allows higher ground speed without motion blur.", "type": "number", "min": 0.0001, "max": 0.1, "step": 0.0001, "default": 0.001 }, { "key": "area_hectares", "label": "Survey Area", "unit": "ha", "help": "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.", "type": "number", "min": 0, "max": 100000, "step": 0.1, "default": 10 }, { "key": "battery_flight_time_min", "label": "Battery Flight Time", "unit": "min", "help": "Per-battery usable mapping time. Mavic 3 Enterprise ~35, P4 RTK ~27, Mini 3 ~30. Used to compute battery swaps.", "type": "number", "min": 1, "max": 120, "step": 1, "default": 35 }, { "key": "image_size_mb", "label": "Image Size", "unit": "MB", "help": "Approximate per-image file size. RAW DNG ~30–40, large JPEG ~10–15.", "type": "number", "min": 0.5, "max": 200, "step": 0.5, "default": 12 } ], "outputs": [ { "key": "gsd_cm_per_pixel", "label": "Ground Sample Distance", "type": "number", "unit": "cm/px", "precision": 2 }, { "key": "footprint_width_m", "label": "Footprint Width", "type": "number", "unit": "m", "precision": 1 }, { "key": "footprint_height_m", "label": "Footprint Height", "type": "number", "unit": "m", "precision": 1 }, { "key": "flight_line_spacing_m", "label": "Flight Line Spacing", "type": "number", "unit": "m", "precision": 1 }, { "key": "forward_photo_spacing_m", "label": "Photo Spacing (along line)", "type": "number", "unit": "m", "precision": 1 }, { "key": "trigger_interval_s", "label": "Trigger Interval", "type": "number", "unit": "s", "precision": 2 }, { "key": "max_speed_for_blur_ms", "label": "Max Speed (≤0.5 px blur)", "type": "number", "unit": "m/s", "precision": 2 }, { "key": "motion_blur_px", "label": "Motion Blur at Current Speed", "type": "number", "unit": "px", "precision": 2 }, { "key": "images_required", "label": "Total Images", "type": "integer", "unit": "" }, { "key": "flight_lines", "label": "Flight Lines", "type": "integer", "unit": "" }, { "key": "mission_time_min", "label": "Mission Time", "type": "number", "unit": "min", "precision": 1 }, { "key": "battery_swaps_needed", "label": "Battery Swaps", "type": "integer", "unit": "" }, { "key": "sd_card_size_gb", "label": "SD Card Needed", "type": "number", "unit": "GB", "precision": 1 }, { "key": "blur_warning", "label": "Quality Warning", "type": "string" } ], "endpoint": "/v1/drones-uav/photogrammetry-gsd-calculator" }