Skip to content

Field boundaries & obstacles

A field boundary is the polygon that delineates the area to be treated or surveyed. DroneField uses boundaries to generate application maps, DJI Agras and ISOXML exports, and to compute area statistics for the report.

DroneField recognises four shape types:

TypeMeaning
BoundaryThe field — the target area (outer contour)
ObstacleTree, pole, wire — the drone steers around it
Non-Spraying ZoneRiverbank, neighbouring plot — no spraying allowed
XAG RouteAn open line (route) for XAG drones

The separate Measurement tool draws length / area measurements only; they have no effect on exports.

You can have multiple of each type per project. Obstacles and no-spray zones are interpreted inside the field boundary, and each type is drawn with its own distinctive map pattern, so they are easy to tell apart at a glance.

Circular zones are edited live: an obstacle or no-spray zone drawn as a circle can be moved by dragging its centre and resized by dragging its edge — the change is applied immediately.

When you click the Field boundaries layer in the left sidebar, a Boundary toolbar appears at the top of the map — a floating 2-row window with these buttons:

Top row (creation):

  • Add — a menu: AI Boundary · Boundary · Obstacle · Non-Spraying Zone · XAG Route · Measurement · Circle ▸. AI Boundary lets the AI draw the field for you from a few clicked sample points. Obstacle, Non-Spraying Zone and their circles stay disabled until the project has a field boundary.
  • Import — KML, SHP, or from a previous project
  • Export — see Export

Bottom row (only visible while drawing or editing):

  • Name field — pre-filled automatically (e.g. boundary-01); overwrite it if you like
  • Undo — undo the last vertex
  • Save — save the shape
  • Cancel — abandon drawing / discard the edit
  • Delete — delete the shape (edit mode only)
  1. Click Add and pick the type — e.g. Boundary.
  2. Click on the map to place vertices along the boundary. Each click is a new vertex.
  3. Check the name in the toolbar’s name field — it is pre-filled (e.g. boundary-01); type a meaningful one, e.g. “Field856”.
  4. Click Save. The last point automatically connects to the first.

The polygon appears on the map and in the layer list.

If you placed a vertex in the wrong spot:

  • The toolbar Undo button removes the last vertex
  • Cancel the whole drawing with Cancel

Add → Circle ▸ offers Boundary Circle, Obstacle Circle and Non-Spray Circle. The first click sets the centre, the second click sets the radius. Ideal for safety zones around trees or poles.

You can move vertices of an existing polygon later:

  1. Click the polygon’s edge on the map — it enters edit mode and vertex handles appear.
  2. Drag a vertex to move it.
  3. Click the map (away from a vertex) to insert a new vertex.
  4. ⌥ (Option)-click a vertex to delete it.
  5. Click Save to keep the changes.

Cancel reverts the whole edit to the original polygon; Delete removes the shape.

Import — KML, SHP, from a previous project

Section titled “Import — KML, SHP, from a previous project”

The toolbar’s Import button opens a sub-menu:

Google Earth and many GIS programs use KML. Pick the .kml file and every polygon inside is imported.

DroneField:

  • Groups polygons by <Placemark> elements
  • Uses the KML names as boundary names
  • Picks up multiple types (polygon, line, point) — polygons become field boundaries; lines become Measurement type
  • Works in WGS84 coordinates (as the KML standard requires)

If the same field was surveyed before in another project, you can reuse the boundary:

  1. A dialog lists every previous project and its boundaries (by partner / project / boundary / obstacle count).
  2. Search in the top field (partner, project, or boundary name).
  3. Pick the right one and click Import.
  4. The boundary and its obstacles come into the current project together.

This is the fastest way to revisit a field across seasons.

ESRI Shapefile (SHP) — from any projection

Section titled “ESRI Shapefile (SHP) — from any projection”

SHP is the most common professional GIS format. DroneField’s built-in PROJ library converts any coordinate reference system (CRS) to WGS84:

  • HD72 / EOV (EPSG:23700) — the Hungarian national projection
  • WGS84 (EPSG:4326) — global GPS projection
  • UTM zones (EPSG:326xx)
  • Web Mercator (EPSG:3857)
  • And everything else in the PROJ EPSG database (~14 000 projections)

The CRS is detected automatically from the .prj file. If the SHP has no .prj, pick it manually from the list.

Imported boundaries come in with obstacles, when present in the source.

See SHP boundary import from elsewhere for the detailed guide.

The toolbar’s Export button opens a menu. The top level writes into the project’s Exports/ folder: DJI Agras, XAG Drones ▸ (Boundary / XAG Route), ESRI Shapefile, ISOXML V3, ISOXML V4 and ABZ Innovation (L-S series). The To USB drive submenu offers the same formats and writes straight to the drive you pick.

DJI Agras drones (T20, T30, T40, …) use a proprietary KML format. DroneField writes the KML into DJI/KML/ and the boundary Shapefile into DJI/ShapeFile/ — either in the project’s Exports/ folder (DJI Agras) or on the USB drive (To USB drive → DJI Agras).

Multi-field projects: the DJI controller reads only the first shape of a boundary Shapefile, so a single combined file would lose every field after the first. DroneField therefore writes a separate <FieldName>_Boundary.shp per field into ShapeFile/ — both for project and USB export:

  • each obstacle goes with its own field as a cut-out;
  • if two fields share a name, the later ones get a -02, -03 … suffix;
  • the prescription map is named after the field too: <FieldName>_Rx.tif (see Application map).

Give your fields meaningful names — that is what the pilot will see on the controller.

ISOXML (ISO 11783-10) is the industrial standard for agricultural machinery (John Deere, Case, Claas, Fendt, etc.). DroneField supports two versions:

  • ISOXML V3 — for older terminals
  • ISOXML V4 — for modern terminals

Both exportable:

  • To the project — into Exports/ISOXML_V3/TASKDATA/ or Exports/ISOXML_V4/TASKDATA/
  • To USB drive — TASKDATA/ at the drive root, as tractor terminals expect

XAG Chinese agricultural drones (P40, P100, V40) use KML with a different structure. The XAG Drones submenu exports either the Boundary shapes or the XAG Route lines (one file per route).

When you save an XAG route and the project has no field boundary yet, DroneField generates one automatically with AI Boundary — the XAG cloud (nf.xa.com) requires a boundary for every route.

Video: planning a custom XAG route step by step:

Writes the field boundary (with obstacles as cut-outs) in the format ABZ Innovation L-S series spray drones read. For variable-rate jobs use the application map export.

The Shapefile export writes the multi-file bundle (.shp, .shx, .dbf, .prj) — in WGS84. Loads directly into QGIS and other GIS tools.

For USB exports a folder picker opens at /Volumes — select your USB drive there and confirm. DroneField writes the files to the root of the drive you picked; the drive is not detected automatically.

Never unplug the stick during the export — wait for the green checkmark.

DroneField writes every exported file into the project’s Exports/ folder in a ready-made sub-structure — exactly the layout DJI Agras, XAG and tractor terminals expect. Copy the full Exports/DJI/ folder to the USB stick root — do not rename or restructure the sub-folders; the controllers look for these by fixed name.

FolderContents
Exports/ISOXML_V3/TASKDATA/, Exports/ISOXML_V4/TASKDATA/ISOXML task data (TASKDATA.XML)
Exports/DJI/KML/Field boundary polygons (KML) — for the DJI Agras KML import
Exports/DJI/ShapeFile/Field boundary as ESRI Shapefile (.shp/.shx/.dbf/.prj/.cpg) — companion to the VRA rate map
Exports/DJI/Rx/Variable-rate prescription map as Float32 GeoTIFF (L/ha or kg/ha) + .tfw world file

After a full DJI VRA workflow Exports/ looks like this:

Exports/
└── DJI/
├── KML/
│ └── Field856.kml
├── ShapeFile/
│ ├── Field856_Boundary.shp
│ ├── Field856_Boundary.shx
│ ├── Field856_Boundary.dbf
│ ├── Field856_Boundary.prj
│ └── Field856_Boundary.cpg
└── Rx/
├── Field856_Rx.tif
└── Field856_Rx.tfw

Copy the entire Exports/DJI/ folder to the USB root — the final layout on the stick should be <USB>/DJI/KML/..., <USB>/DJI/ShapeFile/..., <USB>/DJI/Rx/....

⚠ If you export both the field boundary KML and a VRA prescription map for the same field, the DJI controller will list the field twice — once from the standalone KML and once from the Rx map (whose companion Shapefile already contains the boundary). For a VRA workflow the standalone KML export is redundant — copying just Rx/ + ShapeFile/ is enough.

Troubleshooting — controller doesn’t see the file

Section titled “Troubleshooting — controller doesn’t see the file”
  1. File name — max 12 characters, ASCII only (a-z A-Z 0-9 _ -). Accented letters (á é í ó ñ ü, etc.) and special characters (spaces, / \ : * ? " < > |) are not allowed. Examples:
    • ✅ Field856.kml
    • ❌ Field 856.kml
  2. Path — the USB root must contain a DJI/KML/ folder (uppercase), not dji/kml/. Don’t rename the folder structure.
  3. USB format — FAT32 or exFAT. NTFS and APFS are not seen by the Agras app.
  4. Cache — eject and re-insert the stick; in the Agras / Pilot 2 app pull the file list down to refresh, or restart the app.

Often there’s no error message — just an “empty list”. That’s also a sign of an unsupported file name or renamed folder.

Measurement lines are for one-off use only — they are not exported and don’t affect the application map.

You draw a line, and the length is shown automatically (metres). A closed measurement polygon also displays the area (hectares).

Turn measurements on/off with the toolbar’s Show/hide measurements button.