The GPX File

Background

GPX files are an XML based way of storing GPS date - waypoints, routes, and tracks. Since NGS»GPX was designed as a way to import more information from the official datasheet into GSAK and contain the most amount of information, the GPX (1.0) schema for XML was used, along with the GSAK and Groundspeak extensions. The base schema for the GPX file contains basic file information (author, date, etc) and then can have one or more waypoints, tracks, or routes. Now, for benchmark stations, we are only interested in the waypoints.

The Waypoint type in the base GPX definition allows for several useful bits of information:

Now, obviously for benchmarking (and geocaching), many of these aren't used. For example, when we download a cache, we expect the coordinates to be exact, so we wouldn't use the GPS Fix. And very little - if any - caches care about the elevation, and if they do, it's in the text of the cache, not data specific to the cache.

There's also information that is needed that does not have a set place for it in the Waypoint schema. Groundspeak added an extension (v1.0) to the waypoint schema to contain specific cache data. You will begin to see here, that there is some inconsistency and needless overlapping of date here, as well:

You'll note here some available options that aren't taken advantage of - either by GSAK or GC.com. Namely, the Attributes. According to what little documentation I could fine, attributes would have a unique ID, and would help describe a cache. For example, attribute #10 could be "Downtown City", and every cache that was downtown in a city would have this attribute. Also note that the "type" field is duplicated from the main waypoint schema.

Usage

Since benchmarks were never intended to be part of the GPX system with Groundspeak (and still aren't), some fields available to GSAK had to be used for other benchmarking information. GPX files created by NGS»GPX are still readable and understandable by other programs that read GPX files (such as Google Earth).

Here's a list of the elements in a GPX file whose usage differs from a normal GPX file:

Child waypoints (reference marks) are follow pretty much the same format. However, the <sym> and <type> are different, to represent child marks, and the GSAK extension flags are set.

GPX 1.1

You may be wondering why GPX 1.1 isn't being used. (It does have a lot more features that would be beneficial to Benchmarking and Geocaching, after all!) Well, namely, GSAK doesn't support it. Also, while it's been released back in 2003, and Groundspeak even updated their extensions to 1.1, even geocaching.com doesn't use 1.1, so there's no need to worry about 1.1 at the moment.