Vai al contenuto principale
riferimento · 3 min di lettura

Waypoint & route formats

The formats the XC planner imports and exports (the three .wpt dialects, GPX, KML and SeeYou .cup), with interactive specs you can test in the browser.

What this is

The XC planner works with two different things, and the distinction decides which format you want:

  • a route: an ordered line you intend to fly;
  • a waypoint collection: an unordered set of named places, the database you build routes and tasks from.

Both import and export as the files free-flight pilots already exchange. Everything is parsed in your browser: an imported route or collection is only stored when you explicitly save it.

Interactive specifications

Each format has a self-contained, interactive spec you can read and test right in the browser: no upload, nothing leaves the page:

FormatSpecTest it with
.wpt: three dialects→ WPT waypoint filesA dialect sniffer, a DMS converter and a row decoder
.gpx→ GPX for free flightA container-precedence resolver and a file inspector
.kml→ KML for free flightA coordinate-order decoder and a file inspector
.cup→ SeeYou CUP formatA coordinate converter and a file inspector

What goes where

FormatExtensionRoutesCollectionsNotes
OziExplorer.wpt✓✓CSV, 18 columns, altitude in feet
CompeGPS geographic.wpt, .utm-✓G/U/W records, metres
FS / GpsDump $FormatGEO.wpt-✓DMS columns, metres, the comp standard
GPX 1.1.gpx✓✓rte / trk / wpt
KML 2.2.kml-✓Placemark points
GeoJSON.geojson, .json✓-LineString or points
SeeYou.cup-✓Also a task format

The three things that catch people

.wpt is not a format. It is three unrelated plain-text formats sharing an extension, and the file does not reliably say which it is. Sniff the content: $FormatGEO header → FS; OziExplorer header → Ozi; a G WGS 84 line or a W <code> A <lat> <lon> record → CompeGPS; otherwise a comma means Ozi. $FormatUTM is a different coordinate system: refuse it and ask for a GEO export.

Coordinate order flips between formats. GPX puts latitude and longitude in named attributes, so it is unambiguous. KML and GeoJSON write longitude,latitude: the opposite of how you say it. Nothing in the file tells you when you have it backwards.

Competition codes need two slots. A comp waypoint has a short code (B61130) and a readable name. CompeGPS, $FormatGEO and .cup have a field for each; GPX, KML and Ozi have only name and description, so comp tools put the code in the name and the full name in the description. On import, promote the name to a code when it is 2-8 alphanumeric characters containing at least one digit and the description differs: the digit requirement stops Goal, Home and Top being read as codes.

Round trips

A collection can be imported in any of these and exported in any other, and the code, name, description and elevation survive the trip, including through the two-slot formats. Elevation is normalised to metres on the way in (Ozi's column 15 is feet; -777 and -9999 mean unknown, not a depth).

Flight tracks

None of these is accepted as a flight track. Every flight enters we-fly as IGC, which carries pressure altitude and a security record that GPX and KML have no way to express. If a service only offers you KML for a flight, ask for the original IGC: they almost always still have it.

Sources

Each interactive spec lists its own sources. The primary ones are the Topografix GPX 1.1 schema, the OGC KML 2.2 standard, OziExplorer's file-format reference, GpsDump and Naviter's SeeYou file formats.