User:A Pirard/GPS eXchange Format

GPX, or GPS eXchange Format is an XML schema designed as a common GPS data format for software applications.

It can be used to describe waypoints, tracks, and routes. The format is open and can be used without the need to pay license fees. Its tags store location, elevation, and time and can in this way be used to interchange data between GPS devices and software packages. Such computer programs allow users, for example, to view their tracks, project their tracks on satellite images or other maps, annotate maps, and tag photographs with the geolocation in the Exif metadata.

Data types
This is the essential data contained in GPX files. Ellipsis (...) means that the previous element can be repeated. Additional data may exist within every markup but is not shown here.

wpType: lat="DD.thm..." lon="DDD.thm..." plus other data: is the WGS 84 (GPS) coordinates of a point and other description.

 wptType is an individual waypoint among a collection of points with no sequential relationship, despite the name (the county towns of England, say, or all Skyscrapers in New York).

... ... is a track, made of at least one segment containing waypoints, that is, an ordered list of points describing a path .

 wpType ... is a route, an ordered list of waypoints representing a series of significant turn or stage points leading to a destination.

Conceptually, tracks are a record of where a person has been, routes are suggestions about where they might go in the future. For example, each point in a track may have a timestamp (because someone is recording where and when they were there), but the points in a route are unlikely to have timestamps other than estimated trip duration, because the author is suggesting a route which nobody might ever have traveled.

Technically,
 * a track is made of a sufficient number of waypoints to precisely draw every bend of a path on a bitmap. It is either
 * the raw output of, for example, a GPS recording the course of one's trip
 * or the rearrangement of such points to remove excess ones
 * or data from any source such as extracted from a vector map
 * a route is made of distant waypoints between which a program must get the corresponding track from a vector map to draw it, else those waypoints are connected with a straight line as in the picture above. The waypoints may be crossings or junctions or as distant as stopover towns, such as those making a trip project. Hence, such a project can be saved and reloaded in a GPX file.
 * a process called routing computes a route and may produce a GPX route made of the waypoints where some driver action takes place (turn left, enter a roundabout, limit speed, name of the next direction road, etc...). The GPX waypoints may contain the text of those instructions.
 * the GPX file may contain both route and track so that a program can get precise waypoints from the track even if it has no access to a vector map.

The minimum properties for a GPX file are latitude and longitude for every single waypoint. All other elements are optional. Some vendors, such as Humminbird and Garmin, use extensions to the GPX format for recording street address, phone number, business category, air temperature, depth of water, and other parameters.

Units
Latitude and longitude are expressed in decimal degrees using the WGS 84 datum. Elevation is recorded in meters. Dates and times are not local time, but instead are Coordinated Universal Time (UTC) using ISO 8601 format.

Sample GPX document
The following is a truncated (for brevity) GPX file produced by a Garmin Oregon 400t hand-held GPS unit. This document does not show all functionality which can be stored in the GPX format — for example, there are no waypoints or extensions, and this is part of a track, not a route — but its purpose is to serve as a brief illustration.