Durchblick im Schneegestöber, die Garmin Skikarte
Wie man mit OpenStreetMap eine aussagekräftige Skikarte der gesamten Alpen für Garmin Geräte baut.


Für alle Mitfahrer der diesjährigen Silvester Skitour 2012/2013 nach L’Alpe d’Huez habe ich eine Anleitung geschrieben, mit der man eine Skikarte der gesamten Alpen für seinen Garmin erstellen kann. Wer keine Zeit oder keine Lust hat die Anleitung zu lesen, der kann die Anleitung einfach mit dem nachfolgenden Link überspringen und im Downloadbereich am Ende der Seite die fertige Skikarte herunter laden. Wer aber wissen will, wie es geht und später eventuell eigene Karten erstellen will, für den könnte die nachfolgende Anleitung interessant sein. Die Anleitung erklärt alle notwendigen Schritte und Hintergründe zur Erstellung eigener Garmin Karten und kann somit einem interessierten PC-Anwender den Einstieg in die OpenStreetMap Community erleichtern. Die in der Anleitung beschriebenen Schritte beziehen sich auf auf Linux Systeme, wer aber erst mal das Prinzip verstanden hat, kann die Schritte problemlos auf seinem Windows Rechner nachvollziehen. Alle eingesetzten Programme laufen sowohl unter Linux als auch unter Windows. Detailfragen zu dieser Anleitung beantworte ich gerne unter der am Ende der Seite angegebene Kontakt Adresse.

Skifahrer im Tiefschneehang Abbildung 1
Wie komme ich nachher zur nächsten Piste? (Benoit Audige CC BY-SA 2.0 fr)

Die Grundlagen
Die notwendigen Daten für eine eigene Skikarte sind in der zentralen OpenStreetMap Datenbank bereits für viele Skigebiete weltweit vorhanden. Leider können diese Daten nicht direkt in einem Garmin Gerät angezeigt werden, das "Warum?" soll im nachfolgenden Absatz erläutert werden.

Ein spezielles Mapping Projekt mit dem Namen "Piste Maps" der Openstreetmap Community kümmert sich um die Erweiterung und Pflege der Daten für Skifahrer in der Openstreetmap Datenbank. Die Teilnehmer des Projektes organisieren sich über eine Wiki Seite innerhalb der OSM Community. Hier werden alle notwendigen Elemente wie Pisten, Lifte, Liftpfeiler und deren mögliche Darstellung in einer Karte definiert. Es geht der Gruppe darum, international festzulegen welche Attribute eine Geokoordinate haben muss, wenn es sich beispielsweise um einen Liftpfeiler oder eine Piste handelt. Erfasste Objekte können später mit den von der Projektgruppe erstellten Definitionen, den sogenannten Tags versehen und in der riesigen OSM-Datenbank gespeichert werden. Ich habe mich an dem Projekt während unserer Skitour 2009/2010 beteiligt, als ich die Pisten in Valmorel erfasst und in die Datenbank eingetragen habe. Mittlerweile (Nov. 2012) sind die Definitionen des Projektes OpenPisteMap als eigene Sektion in das OpenStreetMap Tagging System eingegangen, allerdings noch mit dem Status "Proposed" also als Vorschlag. Da aber in der OSM Datenbank bereits über 10.000 Objekte mit diesen Tags gespeichert sind ist davon auszugehen, dass diese Vorschläge bald offiziell übernommen werden.
OSM Kartenauschnitt Skigebiet L’Alpe d’Huez im standard Mapnik Renderer Abbildung 2
OSM Kartenauschnitt des Skigebiets L’Alpe d’Huez im standard Mapnik Renderer.

Es gibt also bereits mehr als 10.000 Pistmap-Objekte in der Datenbank, aber warum kann man diese in der offiziellen OSM Karte www.openstreetmap.org nicht sehen? Die Antwort ist einfach: Weil sie für den Normalnutzer der Karten nicht von Interesse sind. Aus dem riesigen OSM-Datenbestand werden je nach Bedarf und Interessenlage verschiedene Karten erstellt, man nennt den Vorgang rendern. Die bekannten Standardkarten von OSM werden von Renderer mit den wohlkingenden Namen Mapnik und Osmarender erstellt. Daneben gibt es aber eine unüberschaubare Anzahl weiterer Renderer, die aus den OSM-Rohdaten themenbezogene Karten erstellen. Es gibt Karten für den ÖPNV, Seekarten, Fahrradkarten, Wanderer und Reiterkarten und so weiter und so weiter. Je nach Thema werden dabei bestimmte Daten weggelassen oder hervorgehoben. Neben der Auswahl der Daten muss ein Renderer noch entscheiden, für welches Endgerät er die Daten aufbereiten soll. Im Normalfall werden die Daten für die Darstellung im Webbrowser aufbereitet, genau das macht beispielsweise Mapnik in Abbildung 2. Ein Endgerät wie der Garmin Edge unterscheidet sich aber prinzipiell von einem Webbrowser, die Daten müssen in einer vollkommen anderen Art aufbereitet werden. Halten wir also fest: Es gibt zwei wichtige Kriterien für die Erstellung von Karten aus den OSM-Rohdaten. Einmal kommt es auf den Verwendungszwecke an und zum Anderen auf die Art des Endgeräts mit dem die Daten angezeigt werden sollen.

Zur Darstellung der OpenPisteMap Daten im Webbrowser existiert bereits ein Renderer, der im Internet unter dem Namen www.openpistemap.org verfügbar ist. Der Renderer leidet seit einiger Zeit allerdings unter Finnanzierungs- und in der Folge unter Administrationsproblemen, die Karten wurden teilweise seit Monaten nicht mehr aktualisiert. Für den Renderer gibt es wiederum eine eigene Wiki Seite, was für viele Leute sehr verwirrend ist, weil sie diese mit der eigentlichen "Piste Maps" Wiki-Projektseite verwechseln. Man muss aber nur wissen, dass sich dieses Wiki-Projekt ausschließlich um die Weiterentwicklung des OpenPisteMap Renderers kümmert und daher nur indirekt etwas mit der Erfassung und Definition der PisteMap Daten zu tun hat. Es geht hier ausschließlich um die Programmierung und Administration des Servers, der zur Darstellung der OpenPisteMap Daten im Internet dient.

OSM Kartenauschnitt Skigebiet L’Alpe d’Huez im OpenPisteMap Renderer Abbildung 3
OSM Kartenauschnitt des Skigebiets L’Alpe d’Huez im OpenPisteMap Renderer.


Die beiden Abbildungen 2 und 3 zeigen sehr schön die oben erläuterten Zusammenhänge. Abbildung 2 zeigt die Standardkarte von OSM, dort sind lediglich die Lifte eingezeichnet, während in Abbildung 3 auch die unterschiedlichen Skipisten hervorgehoben sind. In der Standarddarstellung sind Lifte erkennbar, weil diese ganzjährig im Landschaftsbild vorhanden sind und daher für die Allgemeinheit von Interesse sind. In Abbildung 3 wurde neben den Pisten auch die Höhenlinien der Berge durch Schattierungen sichtbar gemacht, ein Verfahren das hillshading genannt wird. Von diesen Höhenlinien abgesehen sind die zugrunde liegenden Rohdaten beider Karten identisch.

Die Rohdaten zu den oben gezeigten Kartenausschnitten sind als Datei alpe-huez.osm verfügbar. Die Datei ist gerade mal 700 KB groß und kann mit einem einfachen Texteditor oder direkt im Browser angezeigt werden.

OSM Export Funktion Abbildung 4
Die Export Funktion von OpenStreetMap.


Der vorliegende Ausschnitt aus den OSM-Datenbestand hat mir während der Entwicklung der Anleitung und den Tests der Garmin Skikarte als Referenzdatensatz gedient. Diesen Datensatz habe ich wie in Abbildung 4 gezeigt mit Hilfe der "Export" Funktion direkt aus der OpenStreetMap Datenbank runtergeladen. Die Export-Funktion ist frei verfügbar, man braucht also keinen gültigen OSM-Account. Achtung! Das funktioniert nur bei kleineren Kartenausschnitten, größere Regionen können darüber nicht geladen werden.

Fazit: Wenn wir OpenPisteMap Daten im Garmin darstellen wollen, können wir weder die OSM Rohdaten noch die Karten von openpistemap.org verwenden. Wir müssen quasi einen eigenen "Renderer" verwenden, der die Rohdaten speziell für Garmin Geräte aufbereitet. Ein solcher "Renderer" ist das Programm mkgmap. Nachfolgend wird jetzt erklärt, wie man mit Hilfe von mkgmap aus den OSM-Rohdaten eine erste Skikarte für den Garmin erstellt.

Die ersten Experimente
Bevor die erste Karte erzeugt werden kann, müssen ein paar Vorbereitungen getroffen werden. Als Erstes erzeuge ich ein Arbeitsverzeichnis mit dem Namen pistemap. Dort hinein lade ich das Programm mkgmap und die Testdaten von L’Alpe d’Huez. Mkgmap kann als tar.gz Datei runter geladen und entpackt werden, die Testdaten wie oben beschrieben als Export aus der OpenStreetMap Datenbank oder als Datei alpe-huez.osm direkt von dieser Webseite.
peter@linux:~/pistemap$ wget http://www.mkgmap.org.uk/download/mkgmap-r2423.tar.gz
peter@linux:~/pistemap$ tar xvpfz mkgmap-r2423.tar.gz
peter@linux:~/pistemap$ wget http://www.wasserstoffe.de/pistemap/alpe-huez.osm
Mit dieser Minimalversion kann jetzt bereits eine erste Testkarte erzeugt werden. Der notwendige Aufruf von mkgmap sieht wie folgt aus:
peter@linux:~/pistemap$ java -jar mkgmap-r2423/mkgmap.jar --gmapsupp alpe-huez.osm
Mkgmap wird hier mit der Option --gmpasuppp aufgerufen, womit nach Programmende im aktuellen Verzeichnis eine Datei mit dem Namen gmapsupp.img erzeugt wird. Nach Installation der gerade erstellten, ersten gmpasupp.img.01 auf meinem Garmin nüvi sieht das Ergebnis wie folgt aus.

Skigebiet L’Alpe d’Huez im Garmin nüvi 1930 Abbildung 5
Erster Versuch im Skigebiet L’Alpe d’Huez mit dem Garmin nüvi 1930.

In dem Bild fallen auf Anhieb die Grenzen des geladenen OSM Datenbestands auf. Außerhalb des geladenen OSM-Datenbestands wird im nüvi nur eine braune Fläche angezeigt. Innerhalb des Datenbereichs sieht man bereits Wiesen, Straßen, Wege, Seen, Flüsse und Bäche. Wenn man weiter reinzoomt kann man sogar einzelne Gebäude und weitere Details erkennen. Die gleiche Karte sieht im Garmin Edge 705 sehr ähnlich aus.

Skigebiet L’Alpe d’Huez im Garmin Edge 705 Abbildung 6
Erster Versuch im Skigebiet L’Alpe d’Huez mit dem Garmin Edge 705.

Die Bereiche außerhalb des Datenbestands werden im Edge schraffiert dargestellt, Straßen, Feldwege und Wanderwege sind unterschiedlich hervorgehoben, was für den Einsatz des Geräts auf dem Fahrrad auch sehr sinnvoll ist. Man kann anhand der beiden Karten sehr gut erkennen, dass jedes Gerät die vorhandenen Kartendaten unterschiedlich darstellt.

Was offensichtlich bei beiden Gerätedarstellungen fehlt, sind alle Details rund um das Thema Ski, obwohl in den Rohdaten enthalten werden sie nicht angezeigt. Das diese tatsächlich bereits in den Daten vorhanden sind ,kann jeder selbst überprüfen, in dem er die Rohdaten in den Browser lädt und beispielsweise nach dem Wort "piste" sucht.

Pistenelement der OSM Rohdaten L’Alpe d’Huez Abbildung 7
OSM Rohdaten, Pistenelement der schwarzen Piste "Les Balcons" im Gebiet L’Alpe d’Huez.

Die in Abbildung 7 gezeigten Rohdaten beziehen sich auf einen Teilabschnitt der schwarzen Piste mit dem Namen "Les Balcons". Die Piste führt von der Gondelstation "Clocher de Macle" runter zum Ende des Sesselliftes "Lievre Blanc". Erfasst wurde die Piste von einem Benutzer mit dem OSM-Account Plop76, der Pistenabschnitt wird über sechs Knoten referenziert, d.h. sechs Geokoordinaten bilden die Linie des Pistenabschnitts. Die zugehörigen Geokoordinaten der sechs Knoten befinden sich am Anfang der OSM-Datei.

Die Daten sind also vorhanden, aber warum werden sie nicht angezeigt? Die Antwort ist einfach: Das Garmin Gerät kennt sie nicht! Es weiß nicht, mit welchen grafischen Elementen es eine Piste darstellen soll. Das Gerät hat intern eingespeichert, wie es beispielsweise ein Linienelement vom Typ "Landstraße" anzeigen soll, für das Element Skipiste fehlt dem Gerät jedoch diese Information. Genau diese Lücke wird über das Konzept der Styles und Types gefüllt, das im nächsten Abschnitt erläutert wird.

Styles und Types
Wenn wir Elemente darstellen wollen, die ein Garmin Gerät nicht kennt, so müssen wir auf das Konzept der Styles und Types zurückgreifen. Starten wir mit Styles. Mit Styles können beliebige Elemente der OSM-Daten auf Elemente der Garmin Geräte umgebogen werden. Man könnte beispielsweise alle Skipisten auf Straßen abbilden, oder wie es in einigen anderen Projekten tatsächlich gemacht wird, auf Eisenbahnstrecken. Somit könnte man die Pisten im ersten Schritt zumindest schon mal sichtbar machen. Allerdings könnte man die Pisten dann nicht mehr von echten Straßen oder Schienen unterscheiden und sie würden alle in derselben Farbe dargestellt. Ob es sich um rote, blaue oder schwarze Pisten handelt, könnten wir nicht mehr sehen. Spätestens bei den Liften gerät das Konzept vollständig an seine Grenzen. Eine Liftspur und ein Liftmast kann mit keinem Standardelement der Garmingeräte sinnvoll dargestellt werden. Hier helfen die Type-Dateien weiter. Innerhalb einer solchen Datei kann man die grafische Darstellung eines Elements unabhängig vom Garmin Gerät definieren. Types erweitern also quasi den von Garmin vorgegebenen Satz an Grafikelementen eines Gerätes. Hierzu ein Beispiel aus einem Stylefile.
aerialway=chair_lift | aerialway=drag_lift | aerialway=gondola | aerialway=cable_car [0x38 resolution 24]

Diese Zeile im Style-File für Linenelemente hat folgende Bedeutung: Alle OSM-Element die etwas mit Liften zu tun haben, werden auf das Garmin Element 0x38 gemappt und sie sollen ab einer Zoomstufe größer oder gleich 24 sichtbar werden. Jetzt kommt die korrespondierende Definition im Type-File zum Einsatz. Im Type-File wird das Element 0x38 wie folgt definiert.

AIO basemap.TYP Element 0x38 Abbildung 8
Element 0x38 dargestellt im online Editior ati.land.cz

Mit Hilfe dieser beiden Informationen wird ein Lift im Garmin ab Zoomstufe 24 durch eine schwarze Linie mit schwarzen, runden Punkten dargestellt. Zoomlevel 24 ist übrigens die maximale Zoomstufe, die man erreichen kann, die niedrigste ist theoretisch 1. Bei der Stufe 12 hat man schon so weit rausgezoomt, dass bei den meisten Garmin Geräten keine sinnvollen Details mehr erkennbar sind.

Die vollständige Neuentwicklung von eigenen Style- und Type-Dateien finde ich sehr aufwendig, es braucht viel Zeit und Erfahrung. Nicht alle Garmin Geräte unterstützen den vollständigen Umfang an Type-Elementen, in meinem nüvi wird das oben definierten Elemente 0x38 beispielsweise nicht angezeigt. Man muss also wissen, welche Elemente von Garmin in den Standardkarten verwendet werden und zunächst nur diese nach seinen Wünschen anpassen. Anschließend kann man neue Elemente hinzufügen und schrittweise versuchen die Type-Elemente zu erweitern. Da das sehr zeitaufwendig ist, habe ich mich einfach an bestehenden Designs orientiert und diese nach meinen Vorstellungen angepasst. Besonders gut gefällt mir das Kartendesign der AIO-Karten von Christoph. Die von Christoph entwickelten Styles und Types sind frei verfügbar und können hier runtergeladen werden.

Für die Skikarte benötigen wir von den zahlreichen AIO-Definitionen lediglich das Verzeichnis basemap-style/ sowie die Datei basemap.TYP. Das Verzeichnis basemap-style und die TYP-Datei werden einfach in das Verzeichnis ~/pistemap gespeichert, die Dateien liegen als ZIP-Archive in meinem Experimentierkasten. Mit Hilfe des basemap-Styles und des basemap-Types kann nun eine weit detaillierte Karte erstellt werden, der zugehörige mkgmap Aufruf sieht wie folgt aus:
peter@linux:~/pistemap$ java -jar mkgmap-r2423/mkgmap.jar --style-file=basemap_style/ --family-id=4 --product-id=45 --gmapsupp basemap.TYP alpe-huez.osm

Mit der Option --style-files=basemap-style/ wird das Verzeichnis angegeben, in dem die Style-Dateien zu finden sind. Die Optionen --family-id=4 --product-id=45 beziehen sich auf Identifier in der basemap.TYP Datei. Garmin unterstützt mehrere Typefiles in einer einzigen gmapsupp-Datei. Über die ID's kann entschieden werden, welche Daten mit welchem Typefile dargestellt werden sollen. Christoph hat der basemap.TYP Datei die Kennung 4/45 gegeben, damit kann er in der AIO-Karte zwischen verschiedenen Layer wie Adressen und Maxspeed unterscheiden. In meiner Pistenkarte verwende ich später nur einen Layer, daher ist diese Unterscheidung nicht nötig. Ich kann die Default Einstellungen von mkgmap verwenden, was den Aufruf von mkgmap deutlich übersichtlicher gestaltet. Die TYP-Datei wird beim Aufruf von mkgmap als zusätzliche Input-Datei neben den OSM-Daten mitgegeben.

Zweite Karte im Edge 705 mit AIO-Basemap Style und Type Abbildung 9
Zweite Karte im Edge 705 mit AIO-Basemap Style und Type

Das Ergebnis sieht vielversprechend aus, die entstandene zweite Karte liegt ebenfalls im Experimentierkasten zum Download bereit. Die Lifte sind bereits eingezeichnet und auch POI's und sonstige Details sind erkennbar. Die Pisten fehlen allerdings noch und eigentlich sollte die gesamte Landschaft winterlich weiß aussehen und nicht gelb und grün. Es gibt als offensichtlich noch ein wenig Anpassungsbedarf, bevor wir eine wirklich brauchbare Pistenkarte erhalten.

Styles und Types für eine Pistenkarte anpassen
Als Erstes ein paar Überlegungen, was die Pistenkarte alles können sollte und wie sie aussehen sollte. Mit diesen Überlegungen habe ich mich als erstens an die Anpassung des Styles gemacht. Das basemap_style/ Verzeichnis der AIO-Karten habe ich in pistemap.STYLE/ umbenannt und in den Bereichen der Linien und Punkte die folgenden Ergänzungen vorgenommen.

Punkte:
# Skiing
aerialway=chair_lift & mkgmap:line2poitype=mid [0x7301 resolution 24]
aerialway=drag_lift & mkgmap:line2poitype=mid [0x7302 resolution 24]
aerialway=gondola & mkgmap:line2poitype=mid [0x7303 resolution 24]
aerialway=cable_car & mkgmap:line2poitype=mid [0x7304 resolution 24]


Linien:
# Ski
piste:type=downhill & piste:difficulty=novice [0x3a resolution 22]
piste:type=downhill & piste:difficulty=easy [0x3b resolution 22]
piste:type=downhill & piste:difficulty=intermediate [0x3c resolution 22]
piste:type=downhill & piste:difficulty=advanced [0x3d resolution 22]
piste:type=downhill & piste:difficulty=expert [0x3e resolution 22]
piste:type=downhill & piste:difficulty=freeride [0x3f resolution 22]


Danach habe ich mich an die Anpassung der Type Datei gemacht. Die basemap.TYP Datei der AIO-Karten habe ich kopiert und in pistemap.TYP umbenannt, anschließend habe ich die einzelnen Elemente im online Editor ati.land.cz nach meinen Vorstellungen angepasst.

Linienelemente 0x3b und 0x3c Abbildung 10
Die Linienelemente 0x3b und 0x3c, blaue und rote Pisten im Online Editor ati.land.cz

Um wirklich auf allen Kartenbereichen einen weißen Hintergrund zu erhalten, habe ich im Type-File das Element 0x4b (Background (coverage)) in der Darstellungsreihenfolge 1 mit der Farbe #FFFFFF hinzugefügt. Ansonsten habe ich in der Type-Datei die Farben der Polygone für Wald, Wiese, Acker, Park und Naturschutzregionen angepasst. Dann kommen natürlich noch die Darstellungen der neuen Linienelemente 0x7301 - 0x7304 und der Punktelemente 0x3a - 0x3f hinzu. Die aerialway-Punktelemente existieren noch nicht in den OSM-Rohdaten, sie werden erst mit dem Aufruf von mkgmap über die Optionen add-pois-to-areas und add-pois-to-lines erzeugt. Die Optionen sorgen dafür, dass an allen Flächen und Linien zusätzliche Punktelemente erzeugt werden, die dieselben Attribute wie die Ursprungselemente erhalten. Mit Hilfe dieser Punktelemente wird in der Mitte der Liftspur ein entsprechendes Symbol erzeugt. Die Ergebnisse der Type-Anpassungen können im oben benannten online Editor angesehen werden, die fertige Type-Datei liegt im Experimentierkasten zum Download bereit. Daraus kann mit dem leicht modifizierten Aufruf von mkgmap die erste wirkliche Pistenkarte erzeugt werden.
peter@linux:~/pistemap$ java -jar mkgmap-r2423/mkgmap.jar --style-file=pistemap.STYLE/ --add-pois-to-areas --add-pois-to-lines --gmapsupp pistemap.TYP alpe-huez.osm

Das Ergebnis sieht schon ganz anschaulich aus.

Fertige Karte im Edge 705 mit eigenem Pistemap Style und Type Abbildung 11
Dritte und fertige Pistenkarte im Edge 705 mit eigenem Pistemap Style und Type.


Die OSM Rohdaten für die ganzen Alpen laden
Für die endgültige Karten benötigen wir die OSM-Rohdaten für die ganzen Alpen. Über die Export-Funktion von OpenStreetMap ist es leider nicht möglich größere Datenmengen zu laden, die Export-Funktion ist begrenzt, um den OSM-Server nicht unnötig zu belasten. Die Beschaffung größerer Datenmengen, ganzer Regionen, Länder oder sogar der ganzen Welt erfolgt daher über die separaten Download Servern Cloudmade oder Geofabrik. Für unsere Skikarte bietet sich die ganze Alpenregion an. Der komprimierte Datenbestand der Alpen ist aktuell (Nov. 2012) ca. 1,6 GB groß, eine Größe die ich noch gut runter laden und entpackt auf meinem alten Linux Rechner bearbeiten kann. Die Datei mit der Endung .bz2 speicher ich in dem ~/pistemap Verzeichnis.
peter@linux:~/pistemap$ wget http://download.geofabrik.de/openstreetmap/europe/alps.osm.bz2
Anschließend wird die Datei mit einem Standard Packprogramm wie bunzip2 entpackt.
peter@linux:~/pistemap$ bunzip2 alps.osm.bz2
Achtung! Jetzt ist die Datei bereits auf eine Größe von 22 GigaByte explodiert. Es ist also unbedingt erforderlich, das euer Dateisystem Dateigrößen jenseits der magischen 4 GigaByte Grenze unterstützt.

Die Rohdaten in appetitliche Häppchen zerteilen
Die Datei alps.osm ist für eine Verarbeitung an einem Stück zu groß und wird daher im ersten Verarbeitungsschritt in kleinere Häppchen aufgeteilt. Dazu dient das Programm splitter. Splitter wird wie mkgmap zunächst in das Verzeichnis ~/pistemap/ geladen und anschließend entpackt.
peter@linux:~/pistemap$ wget http://www.mkgmap.org.uk/download/splitter-r264.tar.gz
peter@linux:~/pistemap$ tar xvpfz splitter-r264.tar.gz
Anschließend kann die 22 GByte große Datei automatisch in kleinere Kacheln zerlegt werden.
peter@linux:~/pistemap$ java -Xmx2048m -jar splitter-r264/splitter.jar --max-nodes=900000 alps.osm
Auf meinem alten Pentium Dual Core mit 2.80GHz hat das Zerteilen 2 Stunden und 40 Minuten gedauert. Im Verzeichnis ~/pistemap/ sind über 170 Dateien im PBF-Format (Protocolbuffer Binary Format, einer schnellen und platzsparenden XML-Alternative) mit der Endung .pbf entstanden. Diese werden im nächsten Schritt mit mkgmap weiter verarbeitet.

Zusammenbau einer kompletten Karte
Der Zusammenbau zu einer Gesamtkarte mit mkgmap erfolgt in zwei Schritten. Zunächst werden die Kacheln einzeln in das Garmin img-Format umgewandelt, anschließend werden die entstandenen Einzelkarten zusammen mit der Type-Datei zu einer Gesamtkarte zusammengesetzt. Die Umwandlung in .img erfolgt mit Hilfe des folgenden mkgmap Aufrufs.
peter@linux:~/pistemap$ java -Xmx1024m -jar ../mkgmap-r2423/mkgmap.jar --style-file=pistemap.STYLE/ --add-pois-to-areas --add-pois-to-lines *.pbf

Die Bearbeitung hat auf meinem alten Pentium Dual Core mit 2.80GHz gerade mal 50 Min gedauert. Im Verzeichnis ~/pistemap liegen nun neben den .pbf-Dateien dieselbe Anzahl Dateien mit der Endung .img. Diese werden nun zu einer Gesamtkarte zusammen geklebt.
peter@linux:~/pistemap$ java -Xmx1024m -jar ../mkgmap-r2423/mkgmap.jar --gmapsupp pistemap.TYP 6*.img

Die fertige gmapsupp.img Datei muss nur noch auf eine Micro-SD-Karte in das Verzeichnis /garmin gespeichert werden und ist damit fertig zum Gebrauch.

Nils Dauber (CC BY-NC-SA) Abbildung 12
Die Telemarkfraktion auf unserer Skitour 2012/2013, Fotograf: Nils Dauber (CC BY-NC-SA)

Fazit
Ich konnte mit der Anleitung hoffentlich vermitteln, dass der Bau einer eigenen Karte für Garmin kein Hexenwerk ist. Wer einmal das Grundprinzip verstanden hat, kann sich mit relativ wenig Aufwand eigene Karten nach seinem Geschmack erstellen. Die Hauptarbeit übernimmt am Ende ein handelsüblicher alter PC, der je nach Leistung schon mal ein paar Stunden durchlaufen muss.

Für mich steht fest, dass die Erstellung eigener Karten für jedermann auch ohne tiefe Kenntnisse in der Geoinformationsverarbeitung möglich ist. Dementsprechend kann ich es auch nicht nachvollziehen, wieso es immer noch Anbieter gibt, die für die Erstellung derartiger Karten aus frei verfügbaren OSM-Daten Geld verlangen und ihr Know-how wie einen Schatz hüten. Diese Zeiten sollten hoffentlich bald vorbei sein.

Die Erwartungen an den praktischen Einsatz derartiger Skikarten muss ich dagegen ein wenig dämpfen. Mit einer Karte in der Größe von 3cm x 4cm kann man sich nicht im Gelände orientieren, geschweige denn Touren planen. Das ist selbst mit einer Pistenkarte aus Papier in der Größe DIN A3 schon schwierig, mit einer elektronischen Karte halte ich das für unmöglich. Hilfreich und sinnvoll ist die Karte aber in Kombination mit einer Papierkarte zur Bestimmung der aktuellen Piste oder des Ortes. Ich brauchte bei unseren diesjährigen Skitouren nur kurz auf den Garmin zu schauen und konnte sagen, auf welcher Piste ich mich momentan befinde oder wie ich am schnellsten zur nächsten Piste zurück komme. Darüber hinaus ist die Karte natürlich für aktive OSM-Mapper interessant. Mit der Karte werden fehlende Elemente im Alpinen Skibereich überhaupt erst sichtbar.

Experimentierkasten (alle notwendigen Daten zum Nachvollziehen der Anleitung)
  1. alpe-huez.osm, die OSM Testdaten von L’Alpe d’Huez
  2. gmpasupp.img.01, die erste Garmin Testkarte ohne Styles und Types
  3. mkgmap-r2423.tar.gz, mkgmap in der Version von Dezember 2012
  4. basemap_style.zip, Style Dateien der AIO-Basiskarte
  5. basemap.TYP.zip, Type Datei der AIO-Basiskarte
  6. gmapsupp.img.02, zweite Garmin Testkarte mit AIO-Basemap Style und Type
  7. splitter-r264.tar.gz, splitter in der Version von Dezember 2012
  8. gmapsupp.img.03, dritte Garmin Testkarte eigenem Pistemap Style und Type


Meine fertigen Pistenkarten, Styles und Types (hier liegen die Dateien in der letzten Version)
  1. pistemap.TYP.zip.2013.01.06, meine Pistemap Type Datei, Januar 2013
  2. pistemap.STYLE.zip.2013.01.06, meine Pistemap Style Dateien, Januar 2013
  3. gmapsupp.img.alps.2013.02.10 Pistenkarte der gesamten Alpen, Download Dropbox, ca. 500 MByte
  4. gmapsupp.img.alps.pistemap.noroute.2013.02.10 Pistenkarte der gesamten Alpen, Download Amazon E2C Cloud, ca. 500 MByte


Weiterführende Links
Allgemeine Einführung in die Erstellung von Garmin Karten aus OSM Daten:
http://wiki.openstreetmap.org/wiki/Mkgmap/help/How_to_create_a_map

Eine sehr gute und verständliche Anleitung zur Erstellung einer Fahrradkarte für Garmin:
http://wiki.openstreetmap.org/wiki/OSM_Map_On_Garmin/Cycle_map

Ein Anbieter, der für Garmin Skikarten Geld verlangt:
http://Skidea.com

Stand: Februar 2013

Home   -   CC BY-NC-SA   -   Impressum   -   Kontakt
Powered by: bluefisch and the gimp