Die Höhenlinien in meinen bisherigen Karten basierten auf SRTM-Daten und wurden mit Groundtruth ins OSM-Format umgewandelt. Das hat schon ganz gut funktioniert, hatte aber auch einige Nachteile. Um größre Karten zu erzeugen wie z.B. die von ganz Deutschland muss man riesige OSM-Dateien erzeugen und diese dann wieder mit dem mkgmap-Splitter aufteilen. Dabei entstehen zum Teil massive Artefakte, wenn man die extrem langen Ways nicht vorher in kleinere Teile zerlegt.
Außerdem beruht die Berechnung der Höhenlinien aus den Stützpunkten in den SRTM-HGT-Dateien immer auf linearer Interpolation, mit Splines würde sich wesentlich besser Qualität erreichen lassen..
Mittlerweile gibt es höher auflösende (1") SRTMv3 Dateien, bei denen die Löcher in den Daten ausgebessert wurden, sowie Daten aus den europäischen LIDAR Messungen, die eine sehr gute Qualität haben.
Vor einiger Zeit bin ich dann auf das kleine Tool SRTM2OSM Perl gestoßen. Dieses Tool benutzt Gnuplot für die Berechnung der Höhenlinien, braucht aber leider als Input ASC-Dateien. Das hat mich dann inspiriert, den ganzen Prozess der Erzeugung von Höhenlinien neu aufzusetzen.
Als Datenquelle dienen HGT-Dateien mit 1" Auflösung, je nach Verfügbarkeit LiDAR oder SRTMv3. Diese liegen in Dateien von 1°x1° Größe vor.
Die Umwandlung der HGT-Datein in Höhenlinien erfolgt mit Gnuplot. Das hat den Vorteil, dass man die HGT-Dateien direkt einlesen kann, und man kann B-Spline Interpolation benutzen. Der Output von Gnuplot ist eine CNT-Datei, welche sich leicht mit ein bißchen Perl in OSM-Format umwandeln läßt. Der Nachteil ist, dass Gnuplot für die Bearbeitung einer Kachel ca. 6 GB RAM braucht.
In den meisten Fällen konnte ich die entstandenen OSM-Dateien direkt mit Mkgmap in Garmin-IMG-Dateien umwandeln. Im Hochgebirge klappt das nicht, da muss man mit dem Mkgmap-Splitter aufteilen.
Probleme mit Artefakten hatte ich weder an den Grenzen der 1°x1°-Kacheln noch nach dem Splitten, da mein Perl-Tool keine sehr langen Ways erzeugt.
Hier ein kleiner Vergleich, zwei Screenshots aus QMapShack alt / neu:
|
|
Alt: SRTM, lineare Interpolation
|
Neu: LIDAR, B-Spline
|
Update 06/2022:
Die Höhenlinien wurden neu in Kartenkacheln aufgeteilt. Die Daten sind exakt die selben wie vorher. Es sind aber jetzt weniger Kartenkacheln um die Gefahr zu reduzieren, dass man die Obergrenze von darstellbaren Kacheln im GPS-Gerät (bei vielen Geräten 500 Stück) überschreitet.
This page in english:
Mehr lesen »