GNavigia und NASA SRTM-Daten

Höhendaten, aus der Luft gegriffen ...



Mit Version 2.11.12.0 wird erstmals eine einfache, geodätisch gesehen hinreichend exakte Interpolation von Höhendaten möglich, sofern die Datenbank hierzu mit SRTM-Daten gefüllt ist. Erste Tests haben gezeigt, dass sich damit Genauigkeiten um 20 m für die Höhe erzielen lassen. Das bereits zuvor erwähnte PDF-Dokument erläutert die Vorgehensweise zum Einspielen von NASA SRTM-Daten. Die Seite GNavigia Clients ist u. a. dem ODBC-Anschluss von Datenbanken gewidmet, nur dass hier die Datenquelle (Data Sourcepostgres_srtm_v2 lauten muss. (Unter Windows 7 64-Bit müssen Sie für das Hinzufügen des ODBC-Treibers statt Systemsteuerung/Verwaltung/ODBC-Datenquellen als Administrator das Programm C:\Windows\SysWOW64\odbcad32.exe ausführen, um 32-Bit ODBC-Treiber hinzuzufügen.)
*
Die Funktionalität der Interpolation selbst versteckt sich unter Bearbeiten/Track in den Tiefen eines Untermenüs. Und für ältere Rechner sind die Laufzeiten enorm: Mehr als einen Punkt pro Sekunde schafft ein Athlon 3000+ aus dem Jahre 2003 nicht! Ein Notebook mit AMD X2 Prozessor von 2007 kommt dagegen auf etwa 25 Punkte und berechnet Höhen somit viel schneller, als man klicken kann.

Interpolation von Höhen

Am Beispiel «Rund um Radevormwald» wird die Interpolation von Höhen aus SRTM-Daten erläutert. Die höchste Stadt im Bergischen Land eignet sich wegen der großen Höhenunterschiede besonders gut für diesen Zweck. Nehmen wir an, sie hätten einen Track in einem Programm digitalisiert, das Ihnen keine Höhen liefert, dann stehen Sie nach dem Einlesen der Daten vor einem Track mit lauter Nullhöhen.

Bevor Höhendaten übertragen werden können, muss genau ein Track ausgewählt werden, auf dessen Trackpunkte die Operationen angewendet werden sollen. Wählen Sie aus dem Menü der Applikation heraus Bearbeiten/Track/Höhen aus SRTM-Daten interpolieren/Alle aktiven Trackpunkte. Es erscheint ein Dialog, der, falls GPS-Messungen vorliegen sollten, die Differenzen tabellarisch darstellt und ein Abbrechen oder auch nur die Einschränkung auf bestimmte Werte ermöglicht. Klicken auf die Spalte mit dem Kreuz ([X]) wechselt zwischen drei Zuständen:
  • alle Punkte selektiert
  • kein Punkt selektiert
  • nur Punkte mit Nullhöhen selektiert, falls es überhaupt einzelne Nullhöhen gibt.
Die Spalte Genauigkeit wird zurzeit noch mit 0.0 belegt, sie ist für spätere Analysen reserviert. Mithilfe der Schaltfläche Zentrieren kann man sich das nähere Umfeld eines Punktes genauer ansehen. Klickt man ein zweites Mal für denselben Punkt, wird die vorausgehende Darstellung angezeigt. Weiteres Klicken wandert im Stapel der Anzeige weiter zurück. (In Vorbereitung.)
*
Wird eine SRTM-Höhe von 0.0 angezeigt, dann liegt es daran, dass (in besonders flachen Gebieten kann das vorkommen) die nächste Höhenlinie zu weit vom Trackpunkt entfernt ist. Einen solchen Wert interpoliert man später über die bekannte Interpolationsfunktion für zu 0 gesetzte Höhen.

Digitalisieren von Punkten

Beim Digitalisieren von Punkten wird automatisch eine SRTM-Höhe interpoliert, wenn die Funktionalität zur Verfügung steht. Da für jede Höhe ein neuer Thread erzeugt wird, kann es auf langsamen Maschinen dazu kommen, dass die Höhenbestimmung nachläuft. Ein Versuch auf dem erwähnten 3000+ Athlon mit schneller Klickfolge, 1100 Punkten und 180 km Tracklänge führte zu dem Ergebnis, dass im Maximum Punkte fast 800 Threads zusätzlich aktiv waren. Nach einer langen Phase konkurrierender Berechnungen liefen die Ergebnisse am Ende fast simultan ein, sodass man dann «die Höhen heranfliegen sah», zudem in einer etwas anderen Reihenfolge als die innerhalb des Tracks.

Interpolationsformel

Die Interpolation von Höhen basiert auf Datenbankfunktionen, die durchaus zu unerwarteten Resultaten führen können. Daher soll der verwendete Algorithmus näher erläutert werden, wobei rechte Winkel, wie in der Geodäsie üblich, mit doppelten Viertelkreisen markiert sind:
*
Eine Datenbankfunktion sucht die beiden Höhenlinien, für die, wenn man vom zu interpolierenden Punkt P das Lot auf diese fällt, die Länge des Lots minimal ist. Dazu wird in einem festen Umkreis um P gesucht und alle Lote werden der Länge nach aufsteigend sortiert. Die ersten beiden Ergebnisse liefern die nächsten Nachbarn des Punktes. Zwischen den Lotfußpunkten P1 und P2 wird gedanklich eine Linie aufgespannt und der Punkt P wird darauf aufgewinkelt. Im Lotfußpunkt wird die Höhe interpoliert und als die Höhe von P vermutet. Wenn die Höhenlinien ziemlich parallel und mit gleichen Abständen verlaufen, ist das auch der Fall.
*
Im skizzierten Beispiel liegen die beiden nächsten Linien aber so, dass der Punkt P zwischen P2 und P3 extrapoliert werden müsste. Dem trägt der Algorithmus Rechnung. P wird auf die Linie zwischen P2 und P3 aufgewinkelt, wodurch ein geringfügig anderes Ergebnis für die Höhe des Punktes auftritt, als erwartet. Allerdings sind weder die SRTM-Höhen noch mittel GPS ermittelte Vergleichswerte genauer als 10 Meter, sodass der Fehler gering ist gegen die zu erwartende Genauigkeit.



Startseite, Impressum und Rahmen