GPX, Google Charts und mehr..
Seit Freitag nachmittag gib es sämtliche Wandertouren, die wir auf walking-away.de anbieten, mit den Karten des OpenStreetMap-Projektes zu sehen. Auf der Wunschliste stand die Ablösung des XML Google Maps – Plugins für WordPress schon lange. Da es bislang keine Alternative gab und auch noch immer keine gibt musste ich mal wieder selbst Hand anlegen und ein Plugin für WordPress schreiben, welches dies erledigt. Ein paar kleine Eindrücke aus der Arbeit:
Das GPX-Format und seine Tücken
GPX – GPS Exchange Format – ist quasi für Navigationssystem das, was DOC(X) für den Office-Bereich ist. In einer GPX-Datei finden sich Infos zu Waypoints, Höhenangaben und natürlich Koordinaten mit denen sich der Standort auf einer Weltkarte bestimmen lässt. Technisch gesehen sind GPX-Dateien nichts anderes als XML-Dateien. Somit stehen Anwendern und auch Entwicklern im Netz jede Menge Werkzeuge zur Verfügung. Um z.B. die Koordinaten für den ersten Punkt einer aufgezeichneten Track-Sequenz ausgeben zu lassen, genügt dank SimpleXML und PHP folgender Befehl:
$xml = simplexml_load_file(‚aufgezeichnete_strecke.gpx‘);
echo $xml->trk->trkseg->trkpt[0]->attributes()->lat;
Dieser Befehl gibt so z.B. die „Latitude“-Koordinate aus. Soweit so gut. XML ist natürlich schön, jedoch ändern sich Formate gerne. So gibt es beispielsweise GPX-Tracks, die in einer anderen Version des Formates aufgenommen wurden. Hier hilft natürlich nur der Blick in die Schema Dokumentation.
Google Charts, oder: Wie visualisiere ich ein Höhenprofil
Viele GPS-Geräte zeichnen neben den Koordinaten die Höhe eines Wegpunktes oder Tracks auf. Eingebettet wird diese Angabe in einem <ele></ele>-Element. Über folgenden Aufruf kommt man an die Daten:
echo $xml->trk->trkseg->trkpt[0]->ele;
Natürlich kann man mit blanken Zahlen im Web keinen Blumentopf gewinnen. Wie also visualisiert man z.B. den Anstieg einer Wanderung in Höhenmetern? Dank Google – Gott, ich liebe dieses Unternehmen – braucht man sich mit Plot-Bibliotheken oder ähnlichem in diesem Fall nicht auseinandersetzen. Die Google Chart API (oder auch Google Chart Tools) bieten einem die Möglichkeit, durch eine mit Parametern versehene URL eine Grafik zu erzeugen. Über die Chart API möchte ich hier gar nicht viele Worte verlieren. Die Dokumentation spricht bereits für sich.
Zusammengewürfelt
Zwei lange Nächte und 301 Code-Zeilen PHP und JavaScript später war der Ausflug in die Welt des GPX-Formates beendet. Natürlich reichen die oben genannten Infos nicht aus, um ein lauffähiges Plugin für WordPress zu schreiben, jedoch möchte ich den Lesern meines Blogs die Tücken im Umgang mit GPX und die Vorteile von Google Charts nicht vorenthalten. Außerdem dient dies auch gleichzeitig als eine Art Dokumentation für mich selbst. Man weiß nie, wann man dieses Know-How mal wieder braucht. Auf Informationen zum Anzeigen eines GPX-Tracks mit Hilfe von OpenLayers habe ich hier mal bewusst verzichtet. Das Netz ist voll mit Beispielen und How-To Anleitungen. Zudem ist die OpenLayers API alles andere als Atomwissenschaft.
Das Ergebnis meiner Nachforschungen und investierten Arbeit lässt sich aktuell auf www.walking-away.de begutachten.
Ein Gedanke zu „GPX, Google Charts und mehr..“
Kommentare sind geschlossen.