DE:Mkgmap
| Quick links |
|---|
| Documentation |
| Development |
| Download maps |
Das Programm Mkgmap konvertiert Daten aus dem OpenStreetMap-Projekt in eine Karte, die direkt in Garmin-GPS-Geräten verwendet werden können. Die Konvertierung erfolgt in einem Schritt, ohne dass dazu weitere Programme benötigt werden.
Ziel des Projektes ist es, OpenStreetMap Daten auf mein Garmin Legend Cx zu laden, um beim Kartieren sehen zu können, was bereits erfasst wurde. Zusätzlich macht es Spaß, seine selbst erfasste Karte in Benutzung zu sehen.
Das Programm wurde von Steve Ratcliffe geschrieben. Fehler oder Anregungen können mir per E-Mail zugesand oder auf die talk page gestellt werden.
Contents |
Download
Das Programm ist nun als ZIP-Datei (besser verwendbar auf Windows-Rechnern) und natürlich auch als komprimierte TAR-Datei verfügbar. Die Inhalte beider Pakete sind gleich.
Die letzte stabile Version ist 1867.
Da der deutsche Download-Abschnitt nicht immer mit der englischen Beschreibung synchron ist, sollte dieser entsprechend eingesehen werden.
Die Hauptänderungen seit Version 1625 sind:
- Weiterführende Verbesserungen bei der Unterstützung von Polygonen und Relationen
- Die Gültigkeit von Kommandozeilen-Optionen wird jetzt überprüft
- Viele einzelne Bugfixes und Verbesserungen
Bekannte Probleme mit 1867:
- Routing über mehr als 2 Teile in Mapsource funktioniert nicht
- Adressen-Suche funktioniert nicht 100%ig (funktioniert in Mapsource; im aktiven tile auf alten GPSen wie z.B. etrex/60CSx/edge, funktioniert gar nicht auf aktuellen GPSen wie Nuvi, Oregon)
- Overview map wird für Mapsource nicht unterstützt (mit Overview Map würde der Kartenaufbau schneller vonstatten gehen)
- Download
- Nightly Release: mkgmap-latest.tar.gz (empfohlen, am aktuellsten, hat evtl. Probleme)
- Release 1867: Zip archive mkgmap-r1867.zip, tar archive mkgmap-r1867.tar.gz (stabil, verwende dies, wenn das letzte Release nicht funktioniert)
- Nächtliche Schnappschüsse und Quelltext Snapshots
Das Programm benötigt Java 1.6. Wenn dein Betriebssystem noch kein Java besitzt, dann installiere dieses.
- Ubuntu, Debian und andere Linux Distributionen
Einige Linux-Distributionen (z.B. Ubuntu) enthalten mkgmap. Im Terminalfenster kann mkgmap installiert werden:
sudo apt-get install mkgmap
Eine Karte erzeugen
- Generiere eine Datei die OSM-Daten enthält. Ich mache das, indem ich die Daten aus JOSM heraus abspeichere. Du kannst die Datei beliebig benennen — in dem Beispiel verwende ich den Namen data.osm. Du kannst natürlich auch eine größere Karte mittels XAPI, wie z.B. diese erzeugen (Beispiel für das UK Midlands Gebiet):
wget http://www.informationfreeway.org/api/0.6/*[bbox=-3.5,51.5,-1.0,53.5] -O data.osm
oder
curl -L "http://www.informationfreeway.org/api/0.6/map?bbox=-3.5,51.5,-1.0,53.5" -o data.osm
- Um die Image-Datei für die Garmin-Karte zu erzeugen, öffne ein Command-Fenster (in Windows: start > ausführen > cmd)
Dann wechsle in dein Mkgmap Verzeichnis.
- von der aktuellen Pfadposition zum Stammverzeichnis navigieren: cd..
- vom Stammverzeichnis in einen Ordner wechseln: cd Odnername\Unterordnername
Dort führe den folgenden Befehl aus:
java -jar mkgmap.jar [options] data.osm
- Dies erzeugt eine Datei mit dem Namen 63240001.img
Es ist möglich, dass die Anwendung an einem bestimmten Punkt abstürzt. Meist geschieht dies, wenn du große Gebiete bearbeitest. Du erhältst dann den Fehler Exception in thread "main" java.lang.OutOfMemoryError: Java heap space. Wenn dies passiert, erhöhe einfach die Größe deines max heap space indem du folgendes eingibst:
java -Xmx512M -jar mkgmap.jar [options] data.osm
Dies würde 512Mb physikalischen Speicher deinem Prozess zuordnen.
Befehlszeilen Optionen
Für große Karten möchtest Du vielleicht einige Details der Standard-Karte verändern. Dafür gibt es Optionen, die du verwenden kannst. Wenn du mehrere Optionen verwendest, ist es einfacher, diese in eine Datei zu schreiben und anschließend beim Programmaufruf die -c Option anzuwenden. Für eine vollständige Erläuterung sieh dir die komplette Optionsliste an.
Usage: mkgmap [options...] <datei.osm> Options:
- --help=Thema
Gibt eine Hilfe zum gegeben Thema aus. Ohne Angabe eines Themas erhältst Du eine komplette Liste aller Themen.
- -c Datei
Legt den Namen einer Konfigurationsdatei fest.
In der Datei steht pro Zeile eine Optionsangabe in der Form
option=Wert, dies entspricht der Angabe in der Befehlszeile, nur dass die führenden ';--' weggelassen werden..
- -n name
- --mapname=name
Ändert den Kartennamen. Garmin Kartennamen besitzen eine 8 stellige Zahl.
Der Standard ist 63240001. Wenn du eine Karte für andere erstellst, ist es besser, den Namen zu ändern.
Denn dann ist er eindeutig und es kommt nicht zu Kollisionen mit anderen Kartennamen.
- Hinweis: Gib nur den Dateinamen ohne die Erweiterung ".img" an, da ansonsten Exception erzeugt wird;--
- --description=text
Legt den Beschreibungstext für eine Karte fest. Diesen sieht man in
QLandkarte, MapSource, auf dem GPS-Gerät etc.
- --country-name
Legt den Landesnamen der Karte fest. Standard ist "UNITED KINGDOM".
- --country-abbr
Legt das Landeskürzel für die Karte fest. Standard ist "GBR".
- --region-name
Legt den Regionennamen der Karte fest. Standardmäßig ist dies leer.
- --region-abbr
Legt das Regionenkürzel der Karte fest. Standardmäßig ist dies leer.
Label options:
- --latin1
Diese Option ermöglich die Benutzung von non-ascii Zeichen in Straßennamen.
Aktuell ist die Unterstützung hardwareabhängig.
Einige Geräte unterstützen nur ASCII Zeichen.
Mkgmap versucht, nicht darstellbare Zeichen zu konvertieren. Standardmäßig (ohne diese Option) werden die Zeichen mittels Transliteration umkodiert.
- --charset=name
Verwende den angegebenen Zeichensatz.
- --code-page=number
Verwende die angegebene Codepage.
- --lower-case
Erlaube die Verwendung von Kleinbuchstaben.
Hinweis: Dies funktioniert auf vielen, aber nicht auf allen Garmin Geräten.
Style Optionen:
Schau dir hierzu die custom style Dokumentation an.
- --style=name
Benutze einen anderen Style als den standardmäßig festgelegten.
- --style-file=file
Aus welcher Datei soll der Style geladen werden? "file" kann ein Verzeichnis oder eine ZIP-Datei sein, die den Style enthält. Auch eine URL ist zulässig. Existieren dort mehr als ein Style kann mit dem "--style"-Argument der Style definiert werden, der benutzt werden soll.
Aus Kompatibilitätsgründen kann auch eine map-features.csv angegeben werden. Siehe hierzu die Anpassungshilfen.
- --list-styles
Listet die verfügbaren Styles auf.
- --levels=levels code
Ändert die Zuordnung der Kartenebene zur Zoomstufe auf dem Gerät.
Siehe dazu auch die Anpassungshilfe.
Der Standard ist
"0=24, 1=22, 2=21, 3=19, 4=18, 5=16", dies kann sich allerdings ändern.
- --name-tag-list
Legt die Reihenfolge der bevorzugten Sprachen fest.
(z.B. ;--name-tag-list=name:de,int_name,name:en,name)
Achtung: Die deutschprachigen Namen werden, gerade in Mittel- und Osteuropa, nicht mehr auf Straßenschildern verwendet. Für Navigationszwecke sollte daher die jeweilige Landessprache bevorzugt werden.
- --map-features=file
Veraltete Option. Verwende statt dessen die Option ;--style-file.
Produktbeschreibungsoptionen:
- --family-id
Eine Ganzzahl, die eine Produktfamilie kennzeichnet.
- --product-id
Eine Ganzzahl, die ein Produkt innerhalb einer Produktfamilie kennzeichnet. Meist ist sie einfach nur 1.
- --series-name
- --family-name
- --area-name
- --overview-mapname
Diverse Optionen:
- --block-size=number
Ändert die in der generierten Karte verwendete Blockgröße. Es gibt keinen triftigen
Grund, dies zu tun.
- --net
Die generierte Karte hat die "lock to road"-Option.
- --gmapsupp
Erzeugt eine Datei mit dem Namen gmapsupp.img, das per USB auf ein Garmin-Gerät
geladen werden kann.
- --ignore-osm-bounds
Ignoriert Grenzelemente ("bounds"), wenn OSM-Dateien gelesen werden.
- --road-name-pois[=GarminCode]
Erzeugt einen POI für jede Straße mit Namen. Der Standard-Typecode für POIs ist bei
Garmin 0x640a. Wenn gewünscht, kann mit dieser Option ein anderer Typecode spezifiziert werden.
- --tdbfile
Erzeugt eine .tdb Datei.
- --draw-priority=25
Falls zwei Karten den gleichen Bereich abdecken, steuert diese Option, in welcher
Reihenfolge sie gezeichnet werden und welche Karte obenhalb der anderen liegt.
Höhere Werte werden oberhalb derer mit niedrigeren gezeichnet.
- --transparent
Erzeugt eine transparente Karte, so dass bei zwei übereinander liegende Karten
des gleichen Gebietes die obere Karte nicht die darunter liegende verdeckt.
Dies ist nützlich für Konturenlinien Karten.
- --version
Ausgabe der Programmversion.
weiterführende Links
- Garminkarten selber bauen Vollständige Beschreibung des Arbeitsablaufs auf Windows-Rechnern
- http://www.cferrero.net/maps/maps_index.html - Tutorials (Englisch)



