SwathMap

Built for spray-drone operators

Aerial maps your sprayer can actually fly.

SwathMap turns a drone flight into a fast, accurate orthomosaic — then into the boundary, obstacle and no-spray files your controller reads. DJI Agras, XAG, Hylio, EAVision, Ceres.

The processing platform is live in production and the first partner app is integrating now. The field tools described below are being built; operator accounts open in stages.

An aerial field map with the sprayable area outlined and shaded, several interior parcels excluded from it, a long narrow strip along the western edge marked off separately, and another zone outlined near the road.
A field marked up in Applicator View — the Agri Flight Logs product SwathMap's field tools are being built into. Illustrative demo data.
  • 5 cm → 1 cmGround sample distance, picked per job — rapid turnaround or full detail
  • No image capBig fields stay one dataset instead of being split to fit a plan limit
  • 5 controllersAgras, XAG, Hylio, EAVision and Ceres export presets, plus generic GIS
  • Production APIA documented REST surface other field platforms build directly on

How it works

Card to controller, without the GIS detour.

Most mapping tools stop at a pretty picture. The job isn't done until the sprayer has a file it will accept.

  1. Upload the flight

    Imagery goes straight up off the card. RTK positions are read from the image metadata where they exist, with a standard EXIF fallback when they don't.

  2. Get the orthomosaic

    Processing runs on a dedicated fleet rather than a shared queue. Choose a rapid 5 cm/px pass when you need it today, or push to 1 cm/px when the detail matters.

  3. Mark up the field

    Trace the boundary with acreage counting up as you go. Punch out woodlots and buildings as polygons, poles and pivot points as circles. Flag no-spray buffers, and pin notes for whoever flies it.

  4. Export and fly

    Download the file already shaped for your controller — right geometry, right winding, right projection — or push it through an integration where one exists.

Field tools

Everything the map needs before the sprayer ever sees it.

Drawing a shape is the easy part. What makes a map worth flying is the dozen small things around it — and those are the ones every generic mapping tool leaves to you.

Boundary drawing that behaves

Click the corners and watch the acreage count up as you go. Afterwards drag a corner, click a midpoint to add one, or grab the shape and move the whole thing.

Obstacles and no-spray, kept separate

An obstacle means fly around it. A no-spray zone means fly through with the nozzles off. Every controller imports the two differently, so they stay distinct all the way into the file.

Notes that reach the pilot

"Wet spot — spray last." "Neighbour's beans east, 20 ft buffer." Pinned on the map, and carried into the export so they're in front of whoever flies it.

Poles and pivots as circles

Press and drag a radius instead of tracing a tiny polygon around a single pole, pivot point or lone tree. Exports as whatever geometry the controller expects.

Start from a boundary you already have

Drop in a KML or zipped shapefile — John Deere Ops Center, FieldView, last season's SwathMap export — and start from it instead of tracing the same field again.

Last season's work on this season's map

Copy the boundary, obstacles and zones from last year's map of the same field onto this year's flight. The poles and the pivot haven't moved.

Hide what shouldn't show

Drag a box over the neighbour's field, a smeared corner, the truck sitting at the gate. It's display only — hidden areas never touch the geometry you export.

Trim the ragged edge

Shave the blurry outer band off the flight footprint so the map ends on clean imagery instead of the smear where the passes ran out.

Straight to the controller

For EAVision now and Ceres next, push the boundary and zones to the operator's account and let the aircraft pick them up — no download, no re-upload, no memory card.

Controller exports

Every sprayer wants a different file. That's our problem, not yours.

Each platform has its own format, its own import path, and its own quirks about how obstacles are encoded. SwathMap writes to those quirks so the file loads the first time.

DJI Agras Shapefile

Loose .shp .dbf .shx .prj written for the DJI/ShapeFile/ folder on the microSD card. Obstacles are encoded as reversed-winding holes inside the boundary — the way Agras actually reads them.

XAG KML

KML sized for import through XAG FMS into XAG One. Each polygon becomes a field; interior rings come across as exclusions.

Hylio KML / SHP

Boundaries for AgroSol GCS in either format, with obstacle geometry simplified to stay inside the coordinate budget the ground station accepts.

EAVision KML / GeoJSON

Files ready for Plot Management batch upload — plus a direct API integration, so plots can land in the operator platform without a download step.

Ceres KML

Clean, simple polygons for Applicator View and the push out to the aircraft. Node count and self-touching outlines are handled on our side, where they break route generation.

Generic GIS Open formats

Shapefile, KML/KMZ and GeoJSON in EPSG:4326, for everything else — your agronomist, your records, your FSA paperwork, or a controller we haven't met yet.

And it's checked before it leaves.

Every export runs the target platform's own rules first, in plain language: is there a boundary, does the outline cross itself, are the obstacles actually inside it, do two holes touch, is Hylio's 67-coordinate obstacle budget blown, is a Ceres outline too complex for route generation, are you trying to send DJI a no-spray area it cannot import? A red result blocks the download rather than letting you find out in the cab.

Why it's built this way

Designed around a spray season, not a software demo.

Turnaround is the product

A map that arrives after the window closed is worth nothing. Capacity is sized so a peak day drains in hours, and the rapid pass exists specifically for the flights you need back the same afternoon.

No image ceilings to design around

Plans are metered by how much you run at once, not by an image count per dataset. A section-sized field stays one map instead of being chopped into pieces you then have to stitch back together.

Resolution when it earns its keep

Rapid and standard resolutions cover the everyday work. High resolution is there for the jobs that need it, rather than being the default that makes every map slow and expensive.

Priced for operators

Subscription plans sized for a spray-season business, including an off-season rate so your history stays hosted through the winter. Not a per-seat enterprise licence. Pricing published at launch.

For platforms & integrators

The mapping engine behind your field app.

If you already own the customer relationship — a spray-logging app, an agronomy platform, a drone OEM's own portal — you don't need another dashboard for your users to log into. You need imagery to become a map, reliably, under your brand.

SwathMap runs as that backend. The platform is in production, and the first partner field-operations product is integrating against it now.

  1. Your app registers a job

    It tells SwathMap a new dataset is on the way and gets back somewhere to put it.

  2. Imagery uploads straight to storage

    Files travel from the operator's browser to object storage directly, so a large dataset never queues behind an API server and your app never holds storage credentials.

  3. Processing runs on our fleet

    Your app can check progress whenever it likes and present it however it likes.

  4. You collect the products

    An orthomosaic as a cloud-optimized GeoTIFF, web tiles ready to drop into a map, and a record of everything produced.

A sketch of the shape, not the interface. Real endpoints, authentication and payloads come with an integration.

  • Tenant isolation and fair share

    Every frontend and every end client gets its own namespace, quota and scheduling share, so one large job can't starve everyone else on the platform.

  • White-label by default

    The operator never sees us. It stays your app, your login and your branding — SwathMap is the part doing the work underneath.

  • A dedicated fleet, not a shared queue

    Capacity is ours and sized for spray-season peaks, so what your users wait on is the job in front of them rather than a public backlog.

Get in touch

Tell us what you fly.

Operator accounts open in stages, and the order is driven by what people actually spray and what controllers they run. Leave your details and we'll come to you when your setup is supported — or just email directly.

Email
rick@agriflightlogs.com
Platform & API enquiries
Start an integration conversation

Thanks — you're on the list.

We'll be in touch as operator accounts open up. If it's urgent, email rick@agriflightlogs.com.

We'll only use this to contact you about SwathMap. No list sharing, no newsletter.