[Talk-at] Höhenlinien

Friedrich Volkmann bsd at volki.at
Tue Nov 22 12:11:48 UTC 2016


On 21.11.2016 17:01, Martin Raifer wrote:
> Hab ich zwar noch nie selbst gemacht, aber Garmin .img files kann man
> meines Wissens nach am besten mit "mkgmap"
> (https://wiki.openstreetmap.org/wiki/Mkgmap) erstellen. Das benötigt
> aber ein .osm file als Input (auch für Höhendaten, siehe Seite 34 im
> Manual: http://www.mkgmap.org.uk/doc/pdf/style-manual.pdf). Dein
> Shapefile (evtl. vorher in WGS84 umprojezieren) musst du also nur noch
> in .osm umwandeln. Folgendes Tool könnte dabei behilflich sein:
> http://wiki.openstreetmap.org/wiki/Shp-to-osm.jar

Die Konvertierung Originalformat -> Shapefile -> OSM-File -> Garmin-IMG ist 
ein Umweg über 2 Zwischenformate, den ich mir gerne erspart hätte, zumal 
jeder Schritt eines Konfigurationsaufwandes bedarf. Aber immerhin hat man 
dadurch die volle Auswahl, wie die Höhenlinien am Ende aussehen sollen.

Nachdem der erste Schritt, also die Erzeugung des Shapefiles, mit den guten 
Tipps aus den vorherigen Mails gelungen war, ging auch der zweite Schritt, 
nämlich die Konvertierung in eine OSM-Datei, recht gut. Leider legt 
shp-to-osm nicht eine einzelne OSM-Datei an, sondern eine Serie von 
Teil-Dateien, es sei denn, man setzt den Parameter --maxnodes so hoch, dass 
es wegcrasht. Außerdem sind die IDs negativ und die Versionnummer ist 0.5 
statt 0.6. (Darum verweigert z.B. osmosis eine Verarbeitung.) Aber ich hab 
ein Script geschrieben, das diese Probleme behebt und eine einzelne, 2,5 GB 
große OSM-Datei draus macht.

Jetzt fehlt noch der letzte Schritt, und der ist der schwierigste, denn 
mkgmap ist ziemlich buggy und verhält sich anders als dokumentiert. Obwohl 
ich --output-dir angebe, schreibt es einige Dateien (mit unbekanntem Zweck) 
ins aktuelle Verzeichnis, und statt dem Wert des Parameters --family-name 
wird der String "family name" in die Ausgabedatei geschrieben. Am 
schlimmsten ist aber, dass die Ausgabedatei nur wenige KB groß ist, d.h. sie 
ist praktisch leer. Am Garmin Dakota 20 sehe ich jedenfalls keine Höhlenlinien.

Hier mein Aufruf:
mkgmap --input-file=osm/noe-contour.osm --gmapsupp --output-dir=img 
--mapname=73985264 --description="Hoehenlinien NOE" --country-name=AUSTRIA 
--country-abbr=AT --style-file=style --check-styles --family-name="Contours" 
--draw-priority=30 --transparent

Und hier der Inhalt von style/lines (style/polygons ist eine Kopie):
# Hoehenlinien:
# Land-contour-thin     20
# Land-contour-medium   21
# Land-contour-thick    22

# Hunderter-HL
  ele ~ '\d*00' {addlabel '${ele}'} [0x20 resolution 17-18]
  ele ~ '\d*00' {addlabel '${ele}'} [0x21 resolution 19-20]
  ele ~ '\d*00' {addlabel '${ele}'} [0x22 resolution 21]
# 20er-HL
  ele ~ '\d*[1-9]0' {addlabel '${ele}'} [0x21 resolution 21]

-- 
Friedrich K. Volkmann       http://www.volki.at/
Adr.: Davidgasse 76-80/14/10, 1100 Wien, Austria



More information about the Talk-at mailing list