Skip to content

OSM-Radkarten selbst erstellt (Aktualisierung)

Seit 2009 nutze ich bereits die Radkarte von Radfahrer, welche dann bei Launchpad von Johannes Formann fortgeführt wurde. Im November 2018 hat der aktuelle Maintainer das Projekt leider eingestellt, der Code ist aber noch vorhanden und funktioniert sogar (mit kleinen Einschränkungen noch). Hier also eine aktualisierte, komplette Anleitung, wie ich derzeit Radkarten für mein Garmin erstelle.

Karte erstellen

Will man auf Basis des Radkarten-Projekts selbst eine Karte für das Garmin erstellt, geht man wie folgt vor.

Zuerst lädt man den Quellcode mit Bazaar herunter:


$ bzr branch lp:radkarte

Hier muss natürlich das Paket bzr installiert sein.

Danach wechselt man in den entstandenen Ordner:


$ cd radkarte

Theoretisch gibt man nun einfach nur


$ ant dist

ein, um die Generierung anzustoßen. Hierfür müssen die drei Pakete ant ant-contrib ant-optional installiert sein.

Zusätzlich benötigt man für andere Abhängigkeiten die Pakete m4 subversion sowie eine Java-Installation (z.B. openjdk-11-jdk).

Speicherort

Die fertigen gepackten Karten liegen am Ende unter build/dist/ als gmapsupp_<NAME>_singleMap.img.zip bzw. gmapsupp_<NAME>_full.img.zip. Es gibt in dem Ordner noch andere Dateien, die mich aber nicht interessieren. Je nach Wahl entpackt man die gewünschte zip-Datei und kopiert die entpackte Image-Datei gmapsupp*.img auf die SD-Karte des Garmins in den Ordner garmin/.

Andere Region generieren

Wenn man eine andere Karte als Deutschland generieren will (z.B. nur ein bestimmtes Bundesland), muss man den Downloadpfad und -dateiname in der build.xml anpassen (Zeile 21/22):

<property name="dl_path" value="europe/germany/"/>
<property name="dl_region" value="saarland"/>

Karten-ID ändern

Die Karten-ID steht an einer zentralen Stelle in der build.xml (Zeile 29):

<property name="family_id_base" value="5900"/>

Für eine andere Karte auf dem gleichen Garmin-Gerät muss die ID geändert werden. Hierzu einfach nur die ersten beiden Ziffern der 5900 ändern. Ich nehme im Übrigen immer die Telefonvorwahl des Landes als Kennziffer, also „4900“ für Deutschland.

Bekannte Probleme

Seekarten und Grenzen

Die Seekarten und Grenzen wurden bisher vom Server der Uni Wuppertal geholt, der aber nicht mehr aktiv zu sein scheint. Die Karten liegen nun auf dem Server von OSM-Nutzer Kukuk.

Das heißt, in der build.xml muss


<get src="http://osm2.pleiades.uni-wuppertal.de/sea/latest/sea.zip"
<get src="http://osm2.pleiades.uni-wuppertal.de/bounds/latest/bounds.zip"

durch Folgendes ersetzt werden:


<get src="http://osm.thkukuk.de/data/sea-latest.zip"
<get src="http://osm.thkukuk.de/data/bounds-latest.zip"

Patch für mkgmap funktioniert nicht

Ich weiß leider nicht genau, was der Patch machen soll (es hat etwas mit dem Garmin-MDR-Dateiformat zu tun), aber es wird bei der Generierung gemeldet:


[patch] patching file uk/me/parabola/mkgmap/combiners/FileInfo.java
[patch] Hunk #1 succeeded at 265 with fuzz 2 (offset 25 lines).
[patch] patching file uk/me/parabola/mkgmap/combiners/GmapsuppBuilder.java
[patch] Hunk #1 FAILED at 338.

Grund hierfür ist, dass der Patch sich auf eine ältere Code-Version von mkgmap bezieht und die neue sich zu stark geändert hat. Für die Erstellung der gmapsupp*.img ist dies glücklicherweise unwichtig.