GPS Exchange Format

  1. Startseite
  2. Programmierung
  3. GPS Exchange Format

Das Exchange Format (GPX) ist ein Datenformat zur Speicherung von (ursprünglich hauptsächlich GPS-Daten), das von der Firma TopoGrafix entwickelt wurde. Es basiert auf dem allgemeinen -Standard. Ein 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 kann den Austausch von Geodaten zwischen verschiedenen Programmen erleichtern. Viele Attribute zeigen Ähnlichkeiten zum NMEA 0183-Standard.

Eigenschaften des GPX-Formats

Das XML-Schema zum GPX-Standard definiert eine Reihe Datentypen bzw. Tags, das Schema ist erweiterbar. Die meisten GPS-Empfänger liefern hauptsächlich Daten für Wegpunkte, Routen und Tracks. Im GPX-Format können diese Daten um Metadaten, wie z. B. Autor oder Beschreibung ergänzt werden.

Die Geografischen Koordinaten Breite, Länge und Höhe der Koordinatenangaben in einer GPX-Datei beziehen sich auf das WGS84-Referenzellipsoid. Eine Positionsangabe im GPX-Format erfolgt in Grad mit Dezimalgrad als Nachkommastellen. Ein Meter am Äquator entspricht ca. 0,000009° (siehe ursprüngliche Definition von Meter). Als Faustregel gilt, dass die sechste Nachkommastelle eine Genauigkeit im Dezimeterbereich angibt. Angaben mit zwei Nachkommastellen liegen im Kilometerbereich. Höhenangaben erfolgen in Metern.

Das GPX-Format hat den Vorteil, dass die Daten in für den Menschen leicht lesbarer Form als Text vorliegen. Daraus resultiert jedoch ein erheblich höherer Speicherplatzbedarf. In einer einzigen GPX-Datei können verschiedene Geometrietypen (Punkte, Linien, Flächen) gespeichert werden.

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.
Aufbau
Eine GPX-Datei besteht aus den Koordinaten und deren Beschreibung. Nach Typ werden unterschieden:


Einzelne Ortspunkte/Wegpunkte.



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:


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

 xsd:decimal                      
                  
 degreesType                
 xsd:decimal      
 xsd:string                     
 xsd:string                       
 xsd:string                     
 xsd:string                       
                      
 xsd:string                       
 xsd:string                     
 fixType                          
 xsd:nonNegativeInteger           
 xsd:decimal                    
 xsd:decimal                    
 xsd:decimal                    
 xsd:decimal  
 dgpsStationType:integer    
 extensionsType     

Beispiel
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 Xerces validiert, trotzdem kann es in verschiedenen Anzeigeprogrammen (z. B. ) zu abweichenden Darstellungen kommen, da die Elemente bewusst unterschiedlich vollständig attribuiert wurden.

Erweiterungen
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.

Quelle: (https://de.wikipedia.org/wiki/GPS_Exchange_Format)

Archive

error: Content is protected !!