GPS Exchange Format

Das GPS Exchange Format (kurz GPX) ist ein Datenformat zur Speicherung von Geodaten (GPS-Daten), das von der Firma TopoGrafix entwickelt wurde. Es basiert auf dem allgemeinen XML-Standard. Ein XML-Schema beschreibt die Elemente und den Aufbau des GPS Exchange Formats. Als Dateiendung wird die Abkürzung .gpx verwendet.

Das GPS Exchange Format ist ein offenes, lizenzfreies Format, das von jedem gebührenfrei verwendet werden darf. Es soll den Austausch von Geodaten zwischen verschiedenen Programmen erleichtern.

Eigenschaften von GPS-Daten

Waypoints, Routes and Trackpoints

Das XML-Schema zum GPX-Standard definiert nur wenige Datentypen bzw. Tags. Neben den Metadaten, wie z. B. Autor oder Beschreibung, liefern die meisten GPS-Empfänger hauptsächlich Daten für Wegpunkte, Routen und Track Logs (s.u.).

Die Geografische Koordinaten Breite, Länge und Höhe eines GPS-Systems beziehen sich auf das WGS84-Referenzellipsoids. Die Angabe im GPX-Format erfolgt dabei in Grad mit Dezimalstellen anstelle von Gradminuten und Gradsekunden. Ein Meter am Äquator entspricht ca. 0,000'01°. Als Faustregel gilt, dass die sechste Nachkommastelle eine Genauigkeit im Dezimeterbereich angibt; Angaben mit zwei Nachkommastellen liegen im Kilometerbereich. Höhenangaben erfolgen in Metern.

Verglichen mit dem bekannten ESRI-Shapefile-Format hat GPX den Vorteil, dass die Daten in für Menschen lesbarer Form vorliegen. Daraus resultiert jedoch ein erheblich höherer Speicherplatzbedarf. Zusätzlich können in einem einzigen GPX-File verschiedene Datentypen (Punkte, Tracks etc.) gespeichert werden.

Verwendung

Eine GPX-Datei kann automatisch validiert werden. Dabei wird überprüft, ob der Aufbau der Datei den im XML-Schema definierten Regeln folgt und somit gültig ist. Derzeit liegt das XML-Schema des GPX-Formates in der Version 1.1 vor.

Es gibt zahlreiche Programme und Webservices (u. a. zum Geocaching), die GPX-Dateien lesen und verarbeiten und/oder erzeugen können. Eine Liste findet sich auf der offiziellen Website der Firma TopoGrafix.

Beispiele

Eine GPX-Datei besteht aus den Koordinaten und deren Beschreibung. Unterschieden werden:

  • Wegpunkte (Waypoint, kurz wpt),
  • Routen, eine Abfolge von Wegpunkten (kurz rte)
  • Tracks, eine Liste von (dicht aufeinanderfolgenden) Trackpunkten (Trackpoint, kurz trk).

In einer Datei können alle drei Typen -- auch mit gleichen Koordinaten -- aufgeführt sein.

Die Grundstruktur ist folgendermaßen aufgebaut:

<gpx version="1.1 [1] ?" creator="xsd:string [1] ?"> 
  <metadata> metadataType </metadata>  
  <wpt> wptType </wpt>  
  <rte> rteType </rte>  
  <trk> trkType </trk>  
  <extensions> extensionsType </extensions> [0..1] ?
</gpx>

Im einfachsten Fall wird eine Koordinate angegeben als (hier als Waypoint):

<wpt lat="xx.xxx" lon="yy.yyy">
</wpt>

Weitere Beschreibungen der Koordinate folgen dem Format (xxx' steht für wpt (Waypoint) oder rtept (Route) oder trkpt (Trackpoint):

<xxx                            
 lat="latitudeType"             (Breite)
 lon="longitudeType">           (Länge)
 <ele> xsd:decimal </ele>       (Höhe)
 <time> xsd:dateTime </time>    (Datum und Zeit)
 <magvar> degreesType </magvar> (lokale magn. Missweisung)
 <geoidheight> xsd:decimal </geoidheight>     (Höhe bezogen auf Geoid)
 <name> xsd:string </name>      (Beschreibung)
 <cmt> xsd:string </cmt>        (Kommentar)
 <desc> xsd:string </desc>      (Elementbeschreibung)
 <src> xsd:string </src>        (Quelle)
 <link> linkType </link>        (Link)
 <sym> xsd:string </sym>        (Darstellungssymbol)
 <type> xsd:string </type>      (Klassifikation)
 <fix> fixType </fix> 
 <sat> xsd:nonNegativeInteger </sat>          (Anzahl der empfangenen Satelliten)
 <hdop> xsd:decimal </hdop>     (hDOP)
 <vdop> xsd:decimal </vdop>     (vDOP)
 <pdop> xsd:decimal </pdop>     (3D DOP)
 <ageofdgpsdata> xsd:decimal </ageofdgpsdata> (Letzter DGPS update)
 <dgpsid> dgpsStationType </dgpsid>           (DGPS ID)
 <extensions> extensionsType </extensions>    (GPX Erweiterung)
</xxx>                          

Folgendes GPX-Beispiel beschreibt die Position des Ortes Cala Sant Vicenç auf Mallorca:

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
 
<gpx xmlns="http://www.topografix.com/GPX/1/1" creator="byHand" version="1.1" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd">
 
  <wpt lat="39.921055008" lon="3.054223107">
    <ele>12.863281</ele>
    <time>2005-05-16T11:49:06Z</time>
    <name>Cala Sant Vicenç - Mallorca</name>
    <sym>City</sym>
  </wpt>
</gpx>

Erweiterungen

Das GPX Format erlaubt, eigene Erweiterungen in eine GPX-Datei einzubetten, wobei diese dann aber nicht Bestandteil des GPX-Schemas sind.

Siehe auch

Andere XML-Anwendungen zur Beschreibung räumlicher Strukturen, Koordinaten oder Geodaten sind beispielsweise Geography Markup Language (GML) sowie Keyhole Markup Language (KML).