[remote] [frederik] [roadhog] [software] [koordinates]

RoadHog: Koordinaten

Diese Seite listet ein paar der Probleme auf, auf die man immer stößt, wenn man mit GPS-Koordinaten und Karten arbeitet.

Kartenprojektionen

Bevor man in der Lage ist, GPS-Koordinaten auf einer Rastergrafik-Karte abzubilden, muß man herausfinden, auf welcher Projektion die Karte basiert. Wer nicht weiß, was eine Kartenprojektion ist, der sollte die exzellenten (aber englischen) Seiten The Geographer's Craft lesen. (Auf deutsch gibt es eine kurze Übersicht von Stefan Voser.)

Das Wissen über die Projektion und die Position und Ausdehnung der vorliegenden Karte ermöglicht es, Längen- und Breitenangaben in Pixel-Positionen auf der Karte umzurechnen. Außerdem braucht man noch die Information, welches Referenzellipsoid verwendet wurde, sonst kann man mehrere hundert Meter daneben liegen. GPSe benutzen meist das WGS-84; mein GPS kann in der Anzeige jedes beliebige System verwenden, die Ausgabe auf der seriellen Schnittstelle ist aber immer in WGS-84.

In meinem Fall war es recht klar, das die Karte, die ich benutze, auf dem "British Grid" basiert, einer transversen Merkatorprojektion mit bestimmten Parametern und dem Ordnance-Survey- Referenzellipsoid von 1936. Diese Projektion wird für fast alle britischen Karten verwendet. Es war danach nicht allzu schwierig, meine GPS-Daten "korrekt" umzurechnen.

Aber... die Karten sind ja falsch!

Natürlich sind sie das. Hat Dir das noch niemand erklärt, mein Sohn :-)?

 

Diese Bilder zeigen die Braemore Junction, links aus der 1:50 000-Karte der Ordnance Survey und rechts aus einer ca. 1:250 000-Karte von Bartholomew (die ich auch für meine Webseite verwende).

Nicht auf die absolute Größe schauen - die relativen sind interessant: Die Form der A832, die die Kreuzung nach links verläßt, oder die Breite der Schlucht zwischen den beiden Straßen (der Corrieshalloch Gorge) im Vergleich zur Straßenbreite. Links sind es rund sechs Straßenbreiten - rechts nur zwei!

Was das Beispiel zeigt, ist, daß Kartenhersteller mogeln. Sie müssen mogeln, wenn sie gut lesbare Karten erzeugen wollen; sie müssen ein paar Straßen breiter machen oder schmaler oder weiter auseinander zeichnen. Sie müssen ein paar Kurven begradigen, ein paar Winkel ändern. Manchmal machen sie natürlich auch einfach nur Fehler, wie man hier sieht - der Ort Achnasheen liegt in der Bartholomew-Karte auf der falschen Seite der Kreuzung:

 

Man beachte auch, daß die Bahnstation auf der OS-Karte weiter nördlich als der Kreisverkehr liegt, aber auf der Barholomew-Karte weiter südlich. Und die Entfernung zwischen dem Fluß und der Straße...

Da das GPS von diesen kleinen schmutzigen Tricks der Kartenmacher nichts wissen kann, werden viele Punkte zwangsläufig "neben" der Straße liegen, es sei denn, man hat eine wirklich sehr genaue Karte - und dann werden einem die GPS-Ungenauigkeiten Sorgen bereiten!

Die Haudrauf-Methode, GPS-Punkte einzuzeichnen

Bevor ich mich überhaupt mit Kartenprojektionen und so beschäftigt hatte, habe ich einen recht einfachen Weg gewählt, meinen GPS-Track mit der Karte in Einklang zu bringen. Ich habe angenommen, daß es eine Affine Transformation gibt, die den GPS-Track auf die Karte abbildet. Eine affine Transformation ist im Prinzip eine Kombination aus Strecken, Verschieben und Rotieren und "Schrägstellen", oder auch eine Abbildung, bei der parallele Linien immer parallel bleiben. Ich habe mir ein Programm geschrieben, mit dessen Hilfe ich mit der Maus versuchen konnte, den GPS-Track auf die Karte einzupassen. Dann habe ich einfach die Parameter der Transformation gespeichert (eine 3x2-Matrix), und das war's - mit diesen Zahlen konnte ich nun jedes Koordinatenpaar in eine Pixelposition umrechnen, ohne mir je Gedanken über Kartenprojektionen, Referenzellipsoide, die genauen Grenzen meiner Karte oder sonst irgendwas derartiges gemacht zu haben.

Das funktioniert, solange man ausreichend kleine Kartenabschnitte verwendet, so etwa bis 20 x 20 Kilometer. Alles darüber hinaus wird problematisch, wie eine zu kleine Bettdecke - wenn es auf der einen Seite paßt, stimmt's auf der anderen wieder nicht, und umgekehrt.

Eine (etwas) sanftere Methode

Nun verwende ich digitale Karten und "Korrekturvektoren". Alle paar Kilometer nehme ich einen GPS-Punkt und verschiebe ihn von Hand dahin, wo er "hingehört"; alle Punkte in der Umgebung orientieren sich dann an ihren verschobenen Nachbarn und passen sich in ähnlicher Weise an. Mit genügend Korrekturvektoren kann ich dafür sorgen, daß jeder GPS-Punkt an die richtige Stelle "rutscht", nämlich auf eine Straße, und das funktioniert hinreichend gut.

Probleme gibt es noch da, wo zwei Straßen so dicht nebeneinander verlaufen, daß es durch GPS-Meßfehler passieren kann, daß ein Punkt, der auf Straße A "gehört", auf die Straße B rutscht. Da ist dann Handarbeit erforderlich; als letzte Rettung habe ich immer noch die Möglichkeit, die errechneten Bild-Positions-Pixel, also den "roten Punkt", den man am Ende in der Anwendung sieht, von Hand zu verschieben, aber das vermeide ich, wenn irgend möglich.

Zurück zum Index


[deutsch] [english] [about] [contact]   Frederik Ramm, 2001-05-24