Impressum | Admin

Garmin Karte aus OSM Daten erstellen

Neuer Style

2014-12-18
So nach langer Pause hab ich mich dazu entschlossen einen neuen besseren Style für die Garminkarte zu erstellen.
Ob das die endgültige Lösung ist kann ich auch noch nicht sagen. Aber im Moment bin ich ganz zufrieden mit dem Aussehen der Karte. Ich werte jetzt vor allem die Pfadangaben aus die einen MTB Tag haben. Auch die Up und Down sind jetzt besser zu sehen.

Leider gibt es jetzt einen kleinen Wermutstropfen, der Neue Style wurde komplett unter Linux entwickelt. Das hat allerdings recht wenig Einfluss auf den Style an sich aber es gibt nun keine Windows Stapelverarbeitungen mehr im Archiv.

Jetzt wird stattdessen eine Shell/Bash mitgeliefert die das ganze erstellen der Karte fast schon automatisiert.
Wer sich aber etwas auskennt kann entweder die Shell/Bash umschreiben oder die alten Windows Stapelverarbeitungen aus dem alten Archiv nutzen. Dazu braucht man dann nur die Style Dateien und die TYP austauschen. Ein klein wenig die Windows Stapelverarbeitungen anpassen und fertig.

Unter Windows eine Garmin Karte erstellen

So nun zur versprochenen Anleitung wie man Garmin (*.img Kacheln) Karten aus OSM Daten erstellt um diese in MapSource/BaseCamp benutzen zu können.

Vorweg eine kleine Anmerkung, das ist alles nicht ganz so schwierig wie es sich anhört, aber man sollte einige PC Grundkenntnisse besitzen denn viele Programme die dazu von Nöten sind werden über die Windows Kommandozeile gestartet.
Jetzt gibt es erst mal eine Auflistung der Programme die benötigt werden oder von Nutzen sind.

  1. zum Editieren von Dateien nutze ich den PSPad Editor es geht aber auch das Windows Standartprogramm Editor
  2. von Nutzen ist auch ein Dateimanager mit Zweifenstertechnik ich nutze SpeedCommander es geht aber auch FreeCommander
  3. Downloadmanager wget ist von Nöten wenn man das ganze ordentlich machen will
  4. Java-Download für die nachfolgenden Programme unbedingt notwendig, für 64-bit Windows muss auch das 64-bit Java vorhanden sein
  5. Tile splitter for mkgmap ==> Download dazu
  6. mkgmap ganz wichtig denn das erstellt die Karte ==> Download dazu

Anleitung

So nun soll es losgehen und wir erstellen eine Sachsen Karte.
Jetzt brauchen wir mal eine Datei die OSM Daten enthält, ich nutze dazu den Download Bereich der Geofabrik. Der Download für Sachsen würde sich hier befinden.
Diese Datei müssen wir nun auf den Rechner bekommen, da ich feststellen musste das es beim benutzen der Downloadmanagern von Internet Explorer oder Firefox oft Probleme gibt nutzen wir dazu WGET. Diesen Downloadmanager brauchen wir später auch noch mal um die Daten aktuell zu halten. WGET wird über die Kommandozeile gestartet, da das aber recht umständlich ist erstellen wir jetzt unsere erste Batchdatei die uns die Datei vom Server holt.

:: => startet das Programm wget und lädt die Datei runter
wget -c http://download.geofabrik.de/osm/europe/germany/sachsen.osm.pbf
:: => damit das Fenster nicht gleich zu geht der Pause Befehl
:: => somit lässt sich auch überprüfen ob alles OK ist
pause
:: => Beendet das Programm
exit

So nach erfolgreichen Download geht es an das erstellen der Karte, dazu muss die große Karte erst mal in kleine Teile aufgeteilt werden diese Aufgabe übernimmt der mkgmap splitter. Dazu erstellen wir die nächste Batchdatei mit folgendem Inhalt. Die Einstellungen haben sich bei mir bewährt, also die gesplitteten Kacheln sind nicht zu groß und können problemlos weiterverarbeitet werden. Ach ja die Kacheln werden in den Ordner osm-sachsen ausgegeben wenn dieser noch nicht vorhanden wird er automatisch angelegt. Ach ja wer weniger als 4GB Arbeitsspeicher hat muss den Wert anpassen.

Achtung alles in eine Zeile schreiben
java -Xmx4000M -ea -jar .\splitter\splitter.jar --max-nodes=1200000 --max-areas=255 --overlap=4000 --status-freq=600 --output-dir=".\osm-sachsen" --output=pbf --no-trim --mapid=99980001 sachsen.osm.pbf 2>.\splitter-error.txt
:: => damit das Fenster nicht gleich zu geht der Pause Befehl
pause
:: => Beendet das Programm
exit

So damit aus den gesplitteten Daten nun Garmin Kacheln werden brauchen wir das Programm mkgmap denn dieses erstellt die *.img Kacheln. Natürlich wird dieses Programm auch wieder über eine Batchdatei gestartet. Dazu aber einige Erklärungen, das Programm mkgmap benötigt eine ganze Menge an Infos um die Karte erstellen zu können die meisten der Infos befinden sich in der Datei sachsen (diese kann man mit einem Texteditor [PSPad Editor] öffnen und bearbeiten) im Ordner regionen, diese Datei wird mit dem Befehl -c .\regionen\sachsen eingebunden.

So damit mkgmap auch was zum verarbeiten hat muss dem Programm noch mitgeteilt werden wo die gesplitteten Daten liegen das wird mit -c .\osm-sachsen\template.args gemacht denn diese Datei enthält die Infos der gesplitteten Daten.

Achtung alles in eine Zeile schreiben
java -ea -Xmx4000M -jar .\mkgmap\mkgmap.jar --max-jobs -c .\regionen\sachsen -c .\osm-sachsen\template.args 2>.\mkgmap-error.txt
:: => damit das Fenster nicht gleich zu geht der Pause Befehl
pause
:: => Beendet das Programm
exit

So nun hat man fertige *.img Kacheln die man aber leider noch nicht in MapSource/BaseCamp anschauen kann denn dazu muss erst noch eine sogenannte TYP Datei erstellt werden. Und jetzt fängt eigentlich das schwierige an dem Unterfangen an, denn diese TYP Datei richtet sich an den Style den man mkgmap mitgegeben hat aus. Bei meiner Beschreibung hier befindet sich mein mkgmap Style im Ordner style/altersachse, in diesem Ordner (altersachse) befinden sich einige Dateien, die für das Aussehen der Garmin Karte Verantwortung tragen.

Style und TYP das muss sein

So an dieser Sache wäre ich fast gescheitert aber nach dem ich rausbekommen habe das man style und typ benötigt ging alles ganz einfach. Grob gesagt braucht man seine typ Datei nur nach dem mkgmap Style auszurichten.
Der mkgmap Style besteht aus mehreren Dateien die man mit dem Editor bearbeiten muss.
In dem Style werden den Garmin IDs Nummern bestimmter Sachen zugeordnet und in der Typ wird dann das Aussehen dieser Garmin IDs festgelegt, das mal so in groben Worten gesagt.
So nach dem man Style und Typ erstellt hat muss man nun zu guter Letzt die Karte in MapSource/BaseCamp einbinden, dazu wird folgendes Programm benötigt (MapSetToolKit) ==> So Anleitung von dieser Webseite holen.
Nun hoffen wir mal dass alles gelungen ist und MapSource/BaseCamp wird gestartet nun müsste sich im Kartenmenü eine neue Karte befinden.

Wenn wieder mal mehr Zeit gibt es eine genauere Anleitung mit Bildern aber das kann dauern.