GPS Exchange Format

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Dieser Artikel behandelt das Dateiformat GPX, für das Enzym GPX siehe Glutathionperoxidase.

Vorlage:Infobox Dateiformat/Wartung/MIME fehltVorlage:Infobox Dateiformat/Wartung/MagischeZahl fehltVorlage:Infobox Dateiformat/Wartung/Standard fehlt

GPS Exchange Format
Dateiendung: .gpx
Entwickelt von: TopoGrafix
Art: Auszeichnungssprache
Erweitert von: XML
Website: GPX: the GPS Exchange Format

Das GPS Exchange Format (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. Viele Attribute zeigen Ähnlichkeiten zum NMEA 0183-Standard.

Eigenschaften von GPS-Daten[Bearbeiten]

Wegpunkte, Routen und Trackpunkte

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 Geografischen Koordinaten Breite, Länge und Höhe eines Wegpunktes beziehen sich auf das WGS84-Referenzellipsoid. Eine Positionsangabe im GPX-Format erfolgt 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 den Menschen lesbarer Form vorliegen; daraus resultiert jedoch ein erheblich höherer Speicherplatzbedarf. Weiter können in einer einzigen GPX-Datei verschiedene Datentypen (Punkte, Tracks etc.) gespeichert werden.

Verwendung[Bearbeiten]

Eine GPX-Datei kann 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 [1].

Aufbau[Bearbeiten]

Eine GPX-Datei besteht aus den Koordinaten und deren Beschreibung. Nach Typ werden unterschieden:

Waypoint (<wpt>)
Einzelne Ortspunkte/Wegpunkte.
Route (<rte>)
Eine sortierte Abfolge von Ortspunkten/Wegpunkten (<rtept>). Beschreibt einen geplanten Kurs, bzw. eine Folge von Wendepunkten, um zu einem Ziel zu gelangen.
Track (<trk>)
Eine sortierte Liste aufeinander folgender Punkte (<trkpt>), die einen Linienzug ergeben. Beispielsweise ein durch ein GPS-Gerät aufgezeichneter Pfad. Die Punkte werden nochmals in einzelne Abschnitte zusammengefasst (Tracksegment, kurz <trkseg>).

In einer Datei können alle drei Typen aufgeführt sein (auch jeweils mehrfach).

Die Grundstruktur ist folgendermaßen aufgebaut, bei UTF-8-codierten Daten ist am Dateianfang mit einem Byte Order Mark zu rechnen:

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<gpx version="1.1" creator="Ersteller der Datei"> 
  <metadata> <!-- Metadaten --> </metadata>  
  <wpt lat="xx.xxx" lon="yy.yyy"> <!-- Attribute des Wegpunkts --> </wpt>
  <!-- weitere Wegpunkte -->
  <rte>
    <!-- Attribute der Route -->
    <rtept lat="xx.xxx" lon="yy.yyy"> <!-- Attribute des Routenpunkts --> </rtept>
    <!-- weitere Routenpunkte -->
  </rte>  
  <!-- weitere Routen -->
  <trk>
    <!-- Attribute des Tracks -->
    <trkseg>
      <trkpt lat="xx.xxx" lon="yy.yyy"> <!-- Attribute des Trackpunkts --> </trkpt>
      <!-- weitere Trackpunkte -->
    </trkseg>
    <!-- weitere Track-Segmente -->
  </trk>
  <!-- weitere Tracks -->
</gpx>

Die möglichen Attribute sind für Wegepunkte, Routenpunkte und Trackpunkte gleich. Zur weiteren Beschreibung der Koordinate können neben lat (geographische Breite) und lon (geographische Länge) die folgenden Elemente verwendet werden:

<ele> xsd:decimal </ele>                     <!-- Höhe in m -->
<time> xsd:dateTime </time>                  <!-- Datum und Zeit (UTC/Zulu) in ISO 8601 Format -->
<magvar> degreesType </magvar>               <!-- Deklination / magnetische Missweisung vor Ort in Grad -->
<geoidheight> xsd:decimal </geoidheight>     <!-- Höhe bezogen auf Geoid -->
<name> xsd:string </name>                    <!-- Eigenname des Elements -->
<cmt> xsd:string </cmt>                      <!-- Kommentar -->
<desc> xsd:string </desc>                    <!-- Elementbeschreibung -->
<src> xsd:string </src>                      <!-- Datenquelle/Ursprung -->
<link> linkType </link>                      <!-- Link zu weiterführenden Infos -->
<sym> xsd:string </sym>                      <!-- Darstellungssymbol -->
<type> xsd:string </type>                    <!-- Klassifikation -->
<fix> fixType </fix>                         <!-- Art der Positionsfeststellung: none, 2d, 3d, dgps, pps -->
<sat> xsd:nonNegativeInteger </sat>          <!-- Anzahl der zur Positionsberechnung herangezogenen Satelliten -->
<hdop> xsd:decimal </hdop>                   <!-- HDOP: Horizontale Streuung der Positionsangabe -->
<vdop> xsd:decimal </vdop>                   <!-- VDOP: Vertikale Streuung der Positionsangabe -->
<pdop> xsd:decimal </pdop>                   <!-- PDOP: Streuung der Positionsangabe -->
<ageofdgpsdata> xsd:decimal </ageofdgpsdata> <!-- Sekunden zwischen letztem DGPS-Empfang und Positionsberechnung -->
<dgpsid> dgpsStationType:integer </dgpsid>   <!-- ID der verwendeten DGPS Station -->
<extensions> extensionsType </extensions>    <!-- GPX Erweiterung -->

Beispiel[Bearbeiten]

Folgendes GPX-Beispiel zeigt die wichtigsten Elemente anhand der Positionen der Parlamentsgebäude von Deutschland, Österreich und der Schweiz:

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<gpx xmlns="http://www.topografix.com/GPX/1/1" version="1.1" creator="Wikipedia" 
    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"> 
 <!-- Kommentare sehen so aus -->
 <metadata>
  <name>Dateiname</name>
  <desc>Validiertes GPX-Beispiel ohne Sonderzeichen</desc>
  <author>
   <name>Autorenname</name>
  </author>
 </metadata>
 <wpt lat="52.518611" lon="13.376111">
  <ele>35.0</ele>
  <time>2011-12-31T23:59:59Z</time> 
  <name>Reichstag (Berlin)</name>
  <sym>City</sym>
 </wpt>
 <wpt lat="48.208031" lon="16.358128">
  <ele>179</ele>
  <time>2011-12-31T23:59:59Z</time>
  <name>Parlament (Wien)</name>
  <sym>City</sym>
 </wpt>
 <wpt lat="46.9466" lon="7.44412">
  <time>2011-12-31T23:59:59Z</time>
  <name>Bundeshaus (Bern)</name>
  <sym>City</sym>
 </wpt>
 <rte>
  <name>Routenname</name>
  <desc>Routenbeschreibung</desc>
  <rtept lat="52.0" lon="13.5">
   <ele>33.0</ele>
   <time>2011-12-13T23:59:59Z</time> 
   <name>rtept 1</name>
  </rtept>
  <rtept lat="49" lon="12">
   <name>rtept 2</name>
  </rtept>
  <rtept lat="47.0" lon="7.5">
  </rtept>
 </rte>
 <trk>
  <name>Trackname1</name>
  <desc>Trackbeschreibung</desc>
  <trkseg>
   <trkpt lat="52.520000" lon="13.380000">
    <ele>36.0</ele>
    <time>2011-01-13T01:01:01Z</time>
   </trkpt>
   <trkpt lat="48.200000" lon="16.260000">
    <ele>180</ele>
    <time>2011-01-14T01:59:01Z</time>
   </trkpt>
   <trkpt lat="46.95" lon="7.4">
    <ele>987.654</ele>
    <time>2011-01-15T23:59:01Z</time>
   </trkpt>
  </trkseg>
 </trk>
 <trk>
  <name>Trackname2</name>
  <trkseg>
   <trkpt lat="47.2" lon="7.41">
    <time>2011-01-16T23:59:01Z</time>
   </trkpt>
   <trkpt lat="52.53" lon="13.0">
   </trkpt>
  </trkseg>
 </trk>
</gpx>

Das Beispiel wurde mit der Software Xerces validiert, trotzdem kann es in verschiedenen Anzeigeprogrammen (z.B. Google Earth) zu abweichenden Darstellungen kommen, da die Elemente bewusst unterschiedlich vollständig attribuiert wurden.

Erweiterungen[Bearbeiten]

Als XML-Dialekt erlaubt das GPX-Format, eigene Erweiterungen einzubetten, wobei diese nicht Bestandteil des GPX-Schemas sind. Ein Beispiel sind die GPX-Extensions von Garmin.[2]

Siehe auch[Bearbeiten]

Weblinks[Bearbeiten]

Einzelnachweise[Bearbeiten]

  1. http://www.topografix.com/GPX/1/1/
  2. Garmin GPX Extensions Format v3. Garmin, abgerufen am 29. November 2010.