Waypoint Planner Help & Documentation

A browser-based drone mapping mission planner. No account, no cloud, no cost — everything runs locally in your browser.

Quick Start

1
Select your drone

Pick your drone from the Drone Profile dropdown. The sensor specs load automatically.

2
Set your parameters

Enter altitude, speed, and overlap percentages. Toggle Imperial / Metric at the top of the sidebar.

3
Draw your area

Click Draw Area, click on the map to place vertices, then double-click to close the polygon.

4
Review the stats

The sidebar updates instantly — check GSD, photo count, flight time, and the shot interval warning.

5
Export & fly

Click Export KMZ and load the file onto your controller. See Loading on Your Controller.

Interface Overview

⚲ Search bar — geocode any address or location
Imperial / Metric toggle
Drone profile selector
Altitude & Speed inputs
Front Overlap / Side Overlap
Draw Area · Edit · Clear
Toggle Map Layer (satellite ↔ street)
Mission Stats panel
Export KMZ button
Saved Projects
Satellite / Street Map Click to draw polygon
Flight lines appear automatically
Zoom / pan freely

Map Controls

ButtonWhat it does
Draw AreaActivates polygon drawing mode. Click to place each vertex; double-click to close the shape.
Edit VerticesAppears after drawing. Drag any vertex to reshape the boundary. Click Done when finished.
ClearRemoves the polygon and all flight lines. Cannot be undone (save a project first).
Toggle Map LayerSwitches between ESRI satellite imagery and OpenStreetMap street tiles.

Projects

Up to 20 named missions are stored in your browser's localStorage. Changes auto-save whenever a parameter changes. Use + New to name and save a mission, and the ▶ / ⧉ / ✕ buttons to load, duplicate, or delete.

Projects are stored in your browser only — they do not sync to the cloud. Clearing browser data will erase them.

Flight Parameters

Altitude

The height above your takeoff point at which the drone will fly the entire mission. All altitude values in the KMZ are relative to takeoff — the drone does not read terrain elevation.

Stay within your local regulations. In the US, the FAA Part 107 maximum is 400 ft AGL (above ground level), or 400 ft above a structure if within 400 ft of it.

Higher altitude → larger ground footprint → fewer photos needed → faster mission, but lower image resolution (higher GSD).
Lower altitude → smaller footprint → more photos → slower mission, but finer resolution.

Speed

The drone's flight speed along each scan line. Faster speeds complete missions quicker but can cause motion blur at lower altitudes and may not give the camera enough time between shots.

Watch the Shot Interval stat — if it turns red, your speed is too high for the camera to keep up. Reduce speed to the Max Safe Speed shown.

Overlap

Front Overlap

How much consecutive photos along the same flight line overlap, expressed as a percentage of the image footprint. Typical mapping range: 70–85%.

Side Overlap

How much adjacent flight lines overlap with each other. Typical mapping range: 65–75%.

Higher overlap = more photos = more redundancy for photogrammetry software = slower mission and larger KMZ. Most photogrammetry pipelines (DroneDeploy, Pix4D, Agisoft Metashape) recommend at least 75% front and 65% side overlap.

What is GSD?

Ground Sample Distance (GSD) is the real-world size of one pixel in your images when projected on the ground.

GSD = (Sensor Widthmm × Altitudem × 100) / (Focal Lengthmm × Image Widthpx)
GSDTypical use
< 1 cm/pxHigh-detail inspection, crack detection
1–3 cm/pxAgriculture, construction progress, survey-grade mapping
3–5 cm/pxGeneral mapping, volumetrics, orthomosaics
> 5 cm/pxLarge-area overview, corridor mapping

The planner uses each drone's actual focal length (not the 35 mm equivalent) and physical sensor dimensions for accurate GSD calculation.

Drawing Your Mission Area

  1. Use the search bar to fly to your location, or pan/zoom the map manually.
  2. Click Draw Area. The cursor changes to a crosshair.
  3. Click each corner of your survey boundary. A preview polygon appears as you click.
  4. Double-click the final vertex to close the polygon.
  5. Flight lines generate automatically inside the boundary.
  6. To adjust, click Edit Vertices and drag any point. Click Done to confirm.
Flight lines use a bidirectional lawnmower pattern — the drone alternates direction on each pass to minimise turning time. A 5-metre overshoot buffer is added beyond the polygon edge on each line end to ensure full coverage.

The flight path drawn on the map shows the complete route, including the connecting turns between rows.

Reading the Stats

StatMeaning
GSDGround Sample Distance — real-world size of one image pixel at your chosen altitude.
AreaArea of the drawn polygon (acres or hectares).
PhotosTotal number of waypoints / photo triggers in the mission.
Flight LinesNumber of parallel scan passes.
Est. Flight TimeLine length ÷ speed + 3 s per turn. Does not include take-off, landing, or RTH time.
Line SpacingDistance between adjacent parallel passes (determined by side overlap).
Trigger IntervalDistance between photo triggers along each line (determined by front overlap).
Shot IntervalActual seconds between shots at your current speed. Red = too fast for the camera.
Max Safe SpeedFastest speed at which the camera can keep up with the trigger interval.

Shot Interval Warning

Every drone has a minimum time between photos. If your speed is too high, the camera physically cannot fire fast enough and you will have gaps in your coverage — even though the mission will appear to complete normally.

When Shot Interval turns red, reduce your speed to the Max Safe Speed shown, or increase altitude to widen the footprint and space triggers further apart.
Min IntervalDrones
0.7 sMavic 2 Pro, Mavic 3, Mavic 3 Classic, Mavic 3 Pro, Mavic 3 Enterprise
1.0 sMini 3 Pro, Mini 4 Pro, Mini 5 Pro, Mavic Air 2, Air 2S, Air 3, Air 3S
2.0 sMini 1, Mini 2, Mini SE, Mini 2 SE, Mini 3, Mavic Air, Mavic Pro, Neo, Neo 2

Exporting the KMZ

Click Export KMZ to download the mission file. The file is named waypoint-planner-mission.kmz.

What's inside the KMZ?

A KMZ is a renamed ZIP file. This planner creates DJI's WPML format, which contains two files:

wpmz/
↳ template.kml  Mission configuration — drone type, speed, altitude, waypoint list with photo actions
↳ waylines.wpml  Execution file — same waypoints with total distance and duration metadata

Each waypoint encodes: GPS coordinates, altitude (relative to takeoff), flight speed, heading mode, and a takePhoto action. The drone fires the camera each time it reaches a waypoint.

Large missions — automatic file splitting

DJI controllers have a hard limit of 65,535 waypoints per mission file. If your mission exceeds this, the planner will ask to split the export into numbered files (part1.kmz, part2.kmz, …). Load them as separate missions and fly them back-to-back.

Loading the KMZ on Your Controller

The WPML format is supported by DJI Fly (version 1.12+) and DJI Pilot 2. Older apps (DJI GO 4, DJI GO) do not support this format.

RC-N1 Controller (Phone required)

The RC-N1 uses your smartphone running DJI Fly. The KMZ file must be on your phone.

Android

  1. Transfer waypoint-planner-mission.kmz to your phone via USB, AirDrop, email, or cloud storage.
  2. Open DJI Fly → tap your drone on the home screen.
  3. Tap the ▶ Fly button to enter the camera view.
  4. Tap the three-dot menu (top-right) → Flight Route.
  5. Tap Import → navigate to your KMZ file → select it.
  6. The mission loads on the map. Tap Start to begin.

iOS (iPhone/iPad)

  1. Save the KMZ to your Files app (iCloud Drive, On My iPhone, etc.).
  2. In DJI Fly, follow the same steps above — the iOS file picker will open.
DJI Fly waypoint missions require the Waypoint feature to be enabled in your DJI account. You may need to agree to a liability waiver on first use.

DJI RC / RC 2 (Built-in Screen)

These controllers run DJI Fly on an Android-based built-in screen. No phone needed.

  1. Connect the controller to your PC or Mac with a USB-C cable.
  2. The controller appears as a USB storage device. Open it in File Explorer / Finder.
  3. Navigate to Internal Storage / DJI / missions / (create the folder if it doesn't exist).
  4. Copy waypoint-planner-mission.kmz into that folder.
  5. Safely eject the controller, then disconnect the cable.
  6. On the controller: open DJI Fly → camera view → three-dot menu → Flight RouteImport.
  7. Select your file and tap Start.
Alternatively, use the DJI Assistant 2 app to manage files on the RC without manually browsing folders.

DJI RC Pro (Built-in Screen)

The RC Pro is a higher-spec version of the RC with a brighter screen and longer battery. File transfer is identical to the RC / RC 2 above.

The RC Pro also supports Wi-Fi file transfer:

  1. Enable Wi-Fi on the RC Pro (Settings → Wi-Fi).
  2. Connect your computer to the same network.
  3. Access the RC Pro's shared storage via its IP address in a browser or file manager.
  4. Copy the KMZ file into DJI / missions /.

DJI Pilot 2 (Enterprise Drones)

DJI Pilot 2 is used with enterprise drones (Mavic 3 Enterprise) and enterprise controllers (RC Plus, Smart Controller Enterprise).

  1. Connect your RC Plus to a PC via USB-C.
  2. Copy the KMZ to Internal Storage / DJI / missions /.
  3. Open DJI Pilot 2PlanRoute Library.
  4. Tap Import → select the KMZ file.
  5. Review the mission on the map and tap Execute.
DJI Pilot 2 offers additional enterprise features like terrain follow and RTK positioning that are not configured by this planner.

Drone & Controller Compatibility Chart

Waypoint missions are a premium feature in DJI Fly. They are not available on all drones, even if the drone supports DJI Fly. Always verify your drone's firmware is up to date.
Drone App Compatible Controllers WPML Waypoints
Mini 1 (1st Gen) DJI Fly RC-N1 ✗ Not supported
Mini 2 DJI Fly RC-N1 ✗ Not supported
Mini SE / Mini 2 SE DJI Fly RC-N1 ✗ Not supported
Mini 3 DJI Fly RC-N1, RC 2 ✗ Not supported
Mini 3 Pro DJI Fly RC-N1, RC, RC 2 ✓ Supported
Mini 4 Pro DJI Fly RC-N1, RC 2 ✓ Supported
Mini 5 Pro DJI Fly RC-N1, RC 2, RC Pro ✓ Supported
Mavic Air (1st Gen) DJI GO 4 RC-N1 (older) ✗ GO 4 — not WPML
Mavic Air 2 DJI Fly RC-N1 ~ Limited support
Air 2S DJI Fly RC-N1, RC, RC Pro ✓ Supported
Air 3 DJI Fly RC-N1, RC 2, RC Pro ✓ Supported
Air 3S DJI Fly RC-N1, RC 2, RC Pro ✓ Supported
Neo / Neo 2 DJI Fly RC-N1, DJI Neo RC ✗ Not supported
Mavic Pro DJI GO 4 DJI Remote (OcuSync) ✗ GO 4 — not WPML
Mavic 2 Pro DJI GO 4 DJI Remote (OcuSync 2) ✗ GO 4 — not WPML
Mavic 3 DJI Fly RC-N1, RC, RC Pro ✓ Supported
Mavic 3 Classic DJI Fly RC-N1, RC, RC Pro ✓ Supported
Mavic 3 Pro DJI Fly RC-N1, RC 2, RC Pro ✓ Supported
Mavic 3 Enterprise DJI Pilot 2 RC Plus, Smart Controller Enterprise ✓ Supported

* DJI GO 4 drones can fly waypoint missions via DJI Ground Station Pro (iPad only) using a different mission format. The KMZ from this planner is not compatible with DJI GO 4 or Ground Station Pro.

Tips & Best Practices

Planning

  • Check the airspace before flying — use B4UFLY (US), NATS (UK), or your regional authority's tool.
  • Scout the site on satellite view. Look for obstacles (trees, towers, buildings) that may fall within or near your polygon.
  • Add 10–20% to your estimated flight time for take-off, landing, and return-to-home. Plan battery swaps accordingly.
  • For large areas, break the mission into battery-sized chunks and use multiple projects.
  • Use higher overlap (80/75) in areas with repetitive textures (corn fields, flat roofs) — photogrammetry software struggles to match low-overlap images in these conditions.

Altitude & GSD

  • A GSD of 2–3 cm/px is typically sufficient for agricultural scouting and construction progress monitoring.
  • For stockpile volumetrics, aim for 1–2 cm/px with 80%+ overlap on all sides.
  • For large corridor surveys (roads, pipelines), you can increase altitude and reduce overlap to cover ground faster.

Camera & Conditions

  • Fly in consistent lighting — avoid missions that cross from shadow into sunlight mid-run, as exposure differences make stitching harder.
  • Fly within 2 hours of solar noon for shortest shadows. Early morning / late afternoon light is great for visual inspection but produces long shadows that confuse photogrammetry.
  • Wind above 15 mph (24 km/h) can cause the drone to drift, reducing overlap consistency. Check wind forecasts before flying.
  • Use fixed shutter speed where possible (not Auto) to prevent motion blur. A rule of thumb: shutter speed should be at least 1/(2 × GSD_cm × speed_m/s). For 2 cm GSD at 8 m/s, that's 1/32 s or faster.

Post-processing

  • Common photogrammetry apps: DroneDeploy, Pix4D, Agisoft Metashape, OpenDroneMap (open source).
  • Most apps accept a folder of JPEG or DNG images. You don't need to import the KMZ into the processing software.
  • Add ground control points (GCPs) for survey-grade accuracy. Without GCPs, expect 1–3 m horizontal and 2–5 m vertical absolute accuracy.

Troubleshooting

The map doesn't load / shows a grey screen

The map requires an internet connection to fetch tiles from ESRI / OpenStreetMap. Make sure you're connected. If tiles are missing, try toggling to the Street Map layer — it uses a different tile server.

If you opened index.html directly as a file:// URL, Chrome and Edge may block the tile requests. Use a local server instead: npx serve . or python -m http.server 8080.

No flight lines appear after drawing the polygon

This happens when the polygon is too small relative to the line spacing. Try:

  • Increasing altitude (larger footprint → wider line spacing → fewer lines needed)
  • Reducing overlap percentages
  • Drawing a larger polygon
The KMZ import fails on DJI Fly
  • Make sure the file extension is .kmz (not .zip).
  • Ensure DJI Fly is version 1.12 or newer. Update via the App Store or Google Play.
  • Confirm your drone is one of the supported models with waypoint mission support.
  • If using an RC / RC 2: the file must be in Internal Storage / DJI / missions /. Create the folder if it doesn't exist.
DJI Fly says "Waypoint count exceeds limit"

This occurs when the mission has more than 65,535 waypoints. The planner will warn you and offer to split into multiple KMZ files automatically. Load each part as a separate mission.

The drone misses photos / coverage has gaps

The most common cause is flying too fast for the camera's minimum photo interval. Check the Shot Interval stat — if it's red, reduce your speed. Also check:

  • SD card write speed — use a Class 10 / U3 card. A slow card can cause the camera to skip triggers.
  • Photo format — shooting RAW+JPEG is slower than JPEG only.
  • Camera set to Single Shot mode, not Burst or AEB.
My saved projects disappeared

Projects are stored in browser localStorage. They can be lost if you:

  • Clear browser history / site data
  • Use a different browser or device
  • Open the app from a different URL (e.g., file:// vs localhost)

For long-term storage, export your mission as a KMZ before clearing browser data.

Flight time estimate seems wrong

The estimate is: (total line length ÷ speed) + (number of lines − 1) × 3 s per turn. It does not include:

  • Take-off and climb to altitude (~30–60 s)
  • Transit from home point to mission start
  • Return-to-home at end
  • Wind resistance or deceleration at waypoints

Add 2–5 minutes to the estimate for a realistic total battery draw.