Guides › QGroundControl / ArduPilot / PX4

Load no-fly zones into QGroundControl, ArduPilot & PX4

Enforced keep-out

This is the one workflow in which your downloaded zones become a real, enforced geofence - the flight controller acts on it in the air. Every zone is loaded as an exclusion region (keep-out). Use our QGC .plan export.

Download zones as .plan

1. Download the .plan file

On the download page, pick your country, frame your flying area on the map, choose the QGC .plan format, and download. The file contains your zones as exclusion polygons and circles. Circles are kept as true circles (centre + radius), which ArduPilot and PX4 support natively - no accuracy lost to polygon approximation.

2. Import into QGroundControl

  1. Open QGroundControl and go to the Plan view.
  2. Click the file/folder menu → Open… and select the downloaded .plan.
  3. The geofence exclusion zones appear on the map. Review them.
  4. Connect your vehicle and click Upload to send the fence to the flight controller.
A .plan also carries a mission object. Opening our file replaces whatever mission is currently loaded in QGC (our mission is empty). Load the fence before you plan your mission, or merge by hand - don't import it over a mission you've just built.
PX4 only: PX4 rejects a fence whose set does not contain the Home position. If upload is refused, set Home to your real takeoff point first. ArduPilot has no such requirement for exclusion fences.

Source: QGroundControl Plan file format & GeoFence docs (docs.qgroundcontrol.com); PX4 geofence docs (docs.px4.io).

3. Make sure the fence is armed (ArduPilot)

Uploading a fence is not the same as enabling enforcement. On ArduPilot (Copter 3.7+, Rover 3.6+), set the fence parameters so the autopilot acts on breaches:

ArduPilot polygon fences support up to 70 points; if a very complex zone won't fit, narrow your download area so fewer/simpler zones are included.

Source: ArduPilot polygon fence docs (ardupilot.org/copter/docs/common-polygon_fence.html). Confidence: official.

Mission Planner (ArduPilot) - alternative

If you use Mission Planner rather than QGC, use our KML export. Note Mission Planner's KML handler reads lines reliably but its polygon handling is unreliable, so our KML encodes each zone as both a filled polygon and a closed outline for exactly this reason.

  1. Right-click the map → Polygon → Load Polygon and select the KML.
  2. Right-click → Geo-Fence → Fence Exclusion to mark it a keep-out.
  3. Write the fence to the autopilot and set FENCE_* parameters as above.

Source: Mission Planner KML/fence handling (community-verified against shipping source). Confidence: high.

KML / shapefile fence import in QGC

QGC's GeoFence polygon tool also has a Load KML/SHP… button (KML or shapefile only - no KMZ, GeoJSON or GPX). It imports one polygon per file and reads only the first polygon in a KML, so the .plan route above is far easier for multiple zones. If you do use it, untick Inclusion to make the polygon a keep-out.

Our KML densifies circles with vertices spaced well over 5 m apart, so QGC's shapefile importer (which silently thins vertices closer than 5 m) won't distort them.

Flying this for a client? The flight is not what you are selling - the report you hand over is. Operators who deliver an annotated, structured report charge more for the same job.

Our inspection report templates and business document pack are editable Word and Excel files you rebrand and reuse. See a finished report first - free, no email.