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
Pick your drone from the Drone Profile dropdown. The sensor specs load automatically.
Enter altitude, speed, and overlap percentages. Toggle Imperial / Metric at the top of the sidebar.
Click Draw Area, click on the map to place vertices, then double-click to close the polygon.
The sidebar updates instantly — check GSD, photo count, flight time, and the shot interval warning.
Click Export KMZ and load the file onto your controller. See Loading on Your Controller.
Interface Overview
Flight lines appear automatically
Zoom / pan freely
Map Controls
| Button | What it does |
|---|---|
| Draw Area | Activates polygon drawing mode. Click to place each vertex; double-click to close the shape. |
| Edit Vertices | Appears after drawing. Drag any vertex to reshape the boundary. Click Done when finished. |
| Clear | Removes the polygon and all flight lines. Cannot be undone (save a project first). |
| Toggle Map Layer | Switches 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.
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.
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.
Overlap
How much consecutive photos along the same flight line overlap, expressed as a percentage of the image footprint. Typical mapping range: 70–85%.
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 | Typical use |
|---|---|
| < 1 cm/px | High-detail inspection, crack detection |
| 1–3 cm/px | Agriculture, construction progress, survey-grade mapping |
| 3–5 cm/px | General mapping, volumetrics, orthomosaics |
| > 5 cm/px | Large-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
- Use the search bar to fly to your location, or pan/zoom the map manually.
- Click Draw Area. The cursor changes to a crosshair.
- Click each corner of your survey boundary. A preview polygon appears as you click.
- Double-click the final vertex to close the polygon.
- Flight lines generate automatically inside the boundary.
- To adjust, click Edit Vertices and drag any point. Click Done to confirm.
The flight path drawn on the map shows the complete route, including the connecting turns between rows.
Reading the Stats
| Stat | Meaning |
|---|---|
| GSD | Ground Sample Distance — real-world size of one image pixel at your chosen altitude. |
| Area | Area of the drawn polygon (acres or hectares). |
| Photos | Total number of waypoints / photo triggers in the mission. |
| Flight Lines | Number of parallel scan passes. |
| Est. Flight Time | Line length ÷ speed + 3 s per turn. Does not include take-off, landing, or RTH time. |
| Line Spacing | Distance between adjacent parallel passes (determined by side overlap). |
| Trigger Interval | Distance between photo triggers along each line (determined by front overlap). |
| Shot Interval | Actual seconds between shots at your current speed. Red = too fast for the camera. |
| Max Safe Speed | Fastest 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.
| Min Interval | Drones |
|---|---|
| 0.7 s | Mavic 2 Pro, Mavic 3, Mavic 3 Classic, Mavic 3 Pro, Mavic 3 Enterprise |
| 1.0 s | Mini 3 Pro, Mini 4 Pro, Mini 5 Pro, Mavic Air 2, Air 2S, Air 3, Air 3S |
| 2.0 s | Mini 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:
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
RC-N1 Controller (Phone required)
The RC-N1 uses your smartphone running DJI Fly. The KMZ file must be on your phone.
Android
- Transfer
waypoint-planner-mission.kmzto your phone via USB, AirDrop, email, or cloud storage. - Open DJI Fly → tap your drone on the home screen.
- Tap the ▶ Fly button to enter the camera view.
- Tap the three-dot menu (top-right) → Flight Route.
- Tap Import → navigate to your KMZ file → select it.
- The mission loads on the map. Tap Start to begin.
iOS (iPhone/iPad)
- Save the KMZ to your Files app (iCloud Drive, On My iPhone, etc.).
- In DJI Fly, follow the same steps above — the iOS file picker will open.
DJI RC / RC 2 (Built-in Screen)
These controllers run DJI Fly on an Android-based built-in screen. No phone needed.
- Connect the controller to your PC or Mac with a USB-C cable.
- The controller appears as a USB storage device. Open it in File Explorer / Finder.
- Navigate to
Internal Storage / DJI / missions /(create the folder if it doesn't exist). - Copy
waypoint-planner-mission.kmzinto that folder. - Safely eject the controller, then disconnect the cable.
- On the controller: open DJI Fly → camera view → three-dot menu → Flight Route → Import.
- Select your file and tap Start.
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:
- Enable Wi-Fi on the RC Pro (Settings → Wi-Fi).
- Connect your computer to the same network.
- Access the RC Pro's shared storage via its IP address in a browser or file manager.
- 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).
- Connect your RC Plus to a PC via USB-C.
- Copy the KMZ to
Internal Storage / DJI / missions /. - Open DJI Pilot 2 → Plan → Route Library.
- Tap Import → select the KMZ file.
- Review the mission on the map and tap Execute.
Drone & Controller Compatibility Chart
| 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://vslocalhost)
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.