The number of Motorcyclists using a GPS device these days has grown significantly and that includes a growing number of folks using smartphone Apps for navigation. Combine user devices and Computer-based and Web-based Trip Planning applications, all of which can and do create GPS data, and you have the potential for a lot of data sharing. If we want to share that data across all GPS devices and Planning software we need a standard data format for your Round The World (RTW) ride data.
That standard data format is called GPS Exchange or GPX. This standard defines how Routes, Tracks and Waypoints are to be created using a special text format. As we will see later in this article, the GPX standard also provides for extensions to the standard format that can be applied to Routes, Tracks and Waypoints. These extensions are defined by a specific Vendor or Application. The GPX textual standard is based upon a coding schema called XML but you don't need to be concerned about that - it is just a way of formating text so that computing devices and applications can use it as a programming language. For more information on GPX visit the GPX for Users site.
So, other than for sharing our Routes, Tracks and Waypoints, why do we care about GPX and what the formated text looks like? The answer is simple. It will give you a better understanding of why the data you were given in a GPX file behaves the way it does in your device or application - which may or may not be what you were expecting.
Over the years helping folks discover how to take better advantage of their GPS devices and Trip Planning software, it's become clear to me that the next most important objective is to get better acquainted with your GPS data.
The most common question I hear is, "What is the difference between a Waypoint, Via Point, Point of Interest and a Shaping Point?" The answer is, not much. Waypoints can be used for a number of purposes and the usage typically defines the name given the location point. Via Points, for example, are just Waypoints used within a Route. Shaping Points are Via Points that are not going to be announced as part of the Route directions but will be used by the route path calculation. Shaping Points are used in many of the Garmin Automotive devices but only two Motorcycle devices: the zumo 590LM and BMW Navigator V. There will be more info on Shaping Points further on in this article. Points of Interest (POI) are used on most GPS devices. They provide additional location information and are typically embedded in Map data. POI can also be added by the user via vendor proprietary methods.
The next most common question I hear is, "What is the difference between Waypoints, Favorites, Saved Places, Stops and Destinations?" The answer is, nothing! It seems that some companies just have to be different and give the good old Waypoint a new name.
Waypoints are the most commonly shared GPX data.
As defined by GPX, a Waypoint is a set of coordinates that identify a point in physical space relative to the surface of the Earth.
The most commonly used attributes for Waypoints are:
- Date and Time it was created
- Symbol: an icon that represents something specific about the location: e.g. Campground, Picnic Table, River, Lake, Restrooms, etc.
- Description: any text that the author wants to add to provide additional information about the location.
- There are a total of 19 standard attributes but the ones above are the most commonly used. The rest are seldom used by GPS devices so I won't cover them here.
The screenshots below are from a Garmin Montana and demonstrate the standard GPX attributes and some Garmin specific Extensions.
All of these Waypoint attributes are standard...
Address and Phone Number are "extensions".
As you work your way through the GPX code below, you will notice that Garmin has used the word Note in place of Description on the Montana and several other of their GPS devices.
In the GPX text format: <wpt></wpt> represents a waypoint, point of interest, or named feature on a map. The following represents the GPS screenshot above. There are nineteen (19) standard attributes that can be associated with a Waypoint most of which are not use by Garmin in their GPS devices. As you match up the data fields in the screenshots above with the GPX data below you may wonder what happened to Elevation: it's in Meters. There is no Depth "data-type" per say, it would be represented by a negative Elevation.
<wpt lat="44.95877" lon="-123.01146">
<name>MOA Rally 2013</name>
<desc>Oregon State Fair & Expo Center</desc>
<gpxx:StreetAddress>2330 17th St NE</gpxx:StreetAddress>
In the above example GPX Waypoint, everything between the <extensions> and </extension> are Garmin specific data and enable Garmin devices and applications to properly use the information. You might wonder what a GPS or application does with vendor specific extension data if it isn't their own. They ignore it unless they have been enabled to use it for compatibility purposes. You see, when a company creates extensions to GPX they usually publish what those extensions are on their website. If another company wants to use them in their application or device they can. Having said the above, it should also be noted that just because Garmin has created a number of extensions to GPX, not all Garmin devices support those extensions.
You can have as many Waypoints in a GPX files as your device or software will allow.
Tracks are the most commonly shared GPX data after Waypoints because they are explicit and do not require further processing or calculation. You don't need a map to follow a Track path on your device. Maps are very nice to have as they provide additional information visually but are not necessary.
As defined by GPX, a Track is an ordered series of location points recorded by the GPS as you travel - usually represented by line-segments connecting the points. Tracks can also be created with computer and Web-based Trip Planning applications.
In the GPX text format, the code between <trk> and </trk> represents a track. The code between <trkseg> and </trkseg> represents a Track Segment. There can be many Track Segments within a Track. They are usually created by momentary loss of GPS fix or the GPS has stopped recording the Track for a few minutes. You will also notice that within the Track Segment in this example, only the first Track Point has Elevation and Time recorded. This is because the Track data was cleansed in computer software. The Track can be read just fine without this information as the Track Points are read in sequence. Since a Track Point is just another use of a Waypoint, each Track Point can have the same attributes that a Waypoint can have. Garmin only uses a small number of those standard attributes such as Time and Elevation in zumo and Navigator GPS devices.
<name>Day 3 - Mon Jul 20 2015</name>
<trkpt lat="45.78383" lon="-108.50217”>
<trkpt lat="45.78383" lon="-108.50217"></trkpt>
<trkpt lat="45.78271" lon="-108.50455000000001"></trkpt>
<trkpt lat="45.78358" lon="-108.50542000000002"></trkpt>
<trkpt lat="45.78441" lon="-108.5062"></trkpt>
The Track defined above has a Garmin defined extension for Color: in this case the color is Green.
There can be any number of Track Segments within a Track and each Track Segment can have any number of Track points. Track points can have Elevation and Date-Time associated with them. Track points can also have extension data associated with them just like a Waypoint does. Some of the more commonly associated data are Heart Rate, Temperature, Wind Speed and other time dependent data. Track Segments are created by the GPS Track recording software and are usually associated with stops in travel or turning the device off. Momentary loss of GPS fix may also create a Track Segment.
As defined by GPX, a Route is an ordered list of Waypoints representing a series of turn points leading to a destination. There are two types of Routes, a Direct Route which displays a straight line between Waypoints and does not require specially coded digital maps. The other Route type is one that follows roads on a specially coded digital map and is the most commonly used Route type.
Within the calculated Route path may be intermediate Route Points referred to as Stops, Via Points or special Garmin defined points called Shaping Points. Shaping Points are recognized in GPX data by some Garmin devices. All other GPS devices will see Shaping Points as Via Points or Waypoints in the Route. On a BMW Navigator V GPS Shaping Points in a Route are indicated with a special Icon in the Route list as you can see in the screenshot below: Kalispell City Airport is a Shaping Point.
BMW Navigator V - Trip Planner Route Info
The GPX text below represents the above GPS screenshot of a Route Info list showing the Via Points and a Shaping Point within the Route. That Route is defined by the GPX code below although I have removed most of the Route Points and Route Point Extension data.
In the GPX format, <rte> represents a route and <rtept> represents a route point.
In the above GPX code, A represents the complete Route code. In this example however I have considerably shortened the code above to only including two Route Points and by removing most of the Garmin Route Point Extension code. A typical Garmin Route of this type can contain several thousand lines of Extension code.
The B bracket is bounding the Garmin Extensions used for the overall Route.
The C area defines a Route Point; which is the same as a Waypoint. Most GPS devices have Route Point limits per Route. It is important for you to know what that limit is when you create your Routes if you intend to share your Routes with others.
The D area defines the various Garmin Extensions to the Route Point. These extensions typically tell the GPS Routing code how to optimize the calculated Route.
The E is pointing to an extension that defines the Route Point as either a Via Point or a Shaping Point for GPS devices that use Garmin's Trip Planner Route calculation code: e.g, some nuvi and the zumo 590LM and the BMW Navigator V. All other devices will see this Route Point as a ViaPoint or Waypoint.
Last but not least, the F bracket is bounding the Garmin Extension code that actually keeps the Route path on the roads you originally created your Route to follow. This RoutePointExtension code can be thousands of points representing the roads in the digital vector maps - these maps are commonly referred to as "Routable" maps. The GPS does not show any of these Points in the Trip Planner Route Info like it does for Via Points and Shaping Points. In addition, any non-Garmin GPS will ignore this code since they are Garmin specific GPX Extensions. This is another of the key reasons why Route sharing is really only reliable when done between like devices: e.g. zumo 590LM to BMW Navigator V.
Now that you've read through this at least once, look back up to the GPS Trip Planner screenshot and compare the Route Points there with the GPX code.
Sharing GPX Data
Over the years, I have come to the following conclusions regarding which GPS data has the most value when you want to share it with others.
- Waypoints are the foundation for all navigation and arguably your most valuable data.
- Tracks are an explicit path to follow. No map is required and equally as valuable as Waypoints.
- Routes are useful when you have detailed and accurate routable maps. Routes are of less value to others if you want them to know precisely where to go since the Route path may be calculated differently by their GPS or Navigation App.
I do hope that this has helped you better understand your GPS data.
I evaluate GPS Navigation Mobile Apps, GPS devices and Trip Planning software from many companies in an effort to be knowledgeable in the technology and to enable us to recommend the most appropriate navigation solutions for Adventure Touring. If you have comments or questions please send me an email by visiting our Contacts page.
Thanks for your attention.
Dan Townsley - All Things GPS