Eigene OSM-Karte für Garmin Oregon erstellen

Hallo zusammen,

ich habe ein Garmin Oregon 550 GPS-Gerät und habe bisher die Karte von freizeitkarte-osm.de genutzt.
Im Urlaub habe ich dann immer das Problem, dass ich die Karte gegen die des Ziellandes tauschen muss (es kann ja nur eine gmapsupp.img geben).

Daher habe ich versucht, mir auf extract.bbbike.org eine Karte einer Auswahl (im Format Garmin Leisure) zu erstellen, was auch gut geklappt hatte.
Allerdings ist diese Karte auf 512 MB begrenzt. Meines Wissens nach gibt es aber die Möglichkeit, mit mkgmap mehrere Karten zusammenzufassen, um sich so z. B. eine gmapsupp.img mit dem Heimat- und dem Urlaubsregion zu erstellen.

Also habe ich zwei Karten im Format PBF heruntergeladen und dies (unter Linux) unter anderem so versucht:

mkgmap --description="test" --gmapsupp --route --remove-short-arcs --add-pois-to-areas --product-id=1 --family-id=9999 planet_1.osm.pbf planet_2.osm.pbf

Die so erstellte Karte konnte ich auf dem Gerät anzeigen lassen, nur gefiel mir diese vom Design her nicht. Dieses ist abweichend von der zuerst heruntergeladenen bereits fertigen Karte.
Also habe ich mir die TYP-Datei von der Freizeitkarte heruntergeladen und diese ebenfalls mit aufgenommen:

mkgmap --description="test" --gmapsupp --route --remove-short-arcs --add-pois-to-areas --product-id=1 --family-id=9999 planet_1.osm.pbf planet_2.osm.pbf contrast.TYP

Nun passt das Design von Gebäuden, Wald etc., alle Straßen sind nun aber nicht mehr sichtbar.

Die Family-ID 9999 wurde mir über einen TYP-Datei-Viewer angezeigt. Da sie wohl mit dem Befehl zum Zusammenfügen übereinstimmen muss, habe ich sie entsprechend übernommen.

Habe ich da etwas falsch verstanden bzw. falsch gemacht? Oder kennt Ihr vielleicht eine bessere/einfachere Möglichkeit, sich eine Karte mit Heimat- und Urlaubsregion für das GPS-Gerät (am besten unter Linux) zu erstellen?

Über Hinweise würde ich mich sehr freuen.
Im Voraus schon mal vielen Dank.

Viele Grüße
Kanzler

Hallo Kanzler,

auf die Schnelle folgender Hinweis:

Du kannst auf dem Gerät durchaus mehrere Karten parallel laufen haben, wenn Du sie nur unterschiedlich benennst und der Name auf .img endet.
Es muß also nicht gmapsupp.img sein, es geht auch Karte1.img, Karte2.img oder so.

Wenn auf Karte ohne die Angabe einer TYP mal grundsätzlich die Dinge zu sehen sind, die Du haben möchtest, mit TYP-Datei aber nicht, würde ich stark vermuten, daß der mkgmap-Standard-Kartenstil nicht vollständig mit der TYP-Datei zusammenpaßt.

Den Kartenstil der Freizeitkarte findest Du auf der Seite https://www.freizeitkarte-osm.de/garmin/en/development.html , bzw. findest Du ganz unten unter “Freizeitkarte development environment” einen Link zu einer zip-Datei, die u. a. auch die style-Dateien enthält.
Die style-Dateien kannst Du über die option --style-file= oder so beim mkgmap-Aufruf mit angeben.

Für genauere Ausführungen habe ich im Moment keine Zeit.

Viele Grüße
hca

Ich hab dafür immer GMapTool genommen:

gmt -jo ziel/gmapsupp.img quellen/*.img

In meinem Vista HCX konnte man dann irgendwie die einzelnen Karten ein- und ausschalten.

Bei älteren Geräten war das nicht so. (Das Oregon 550 kenne ich aber nicht.)

Ja. Zu einem TYP file gibt es auch einen passenden Stil (style), der die Regeln enthält, wie aus OSM Daten Garmin Objekte werden. Die Garmin Objekte haben Hex-Codes, und das TYP file gibt dann an, wie ein bestimmter Hex-Code gerendert werden soll.
Mit Deinen Parametern im zweiten Beispiel hast Du den Standard-Style verwendet und kombinierst das mit einem TYP-file, das ziemlich sicher andere Hex-Codes verwendet. Wie man eine Karte mit dem Freizeit-Stil erzeugt, ist hier dokumentiert:
http://www.freizeitkarte-osm.de/garmin/de/entwicklung.html

Mein Oregon 450 konnte das, ich gehe mal davon aus, dass der Nachfolger das auch kann.

Dann sollte man das auf jeden Fall mit mehreren Dateien machen. Ich hab mal so eine alte Mehrfachkarten-gmapsupp.img auf einem neueren Gerät probiert und konnte keine Karten auswählen. Das ging da nur mit mehreren Dateien und es ist ja auch einfacher.

Das hängt vermutlich irgendwie mit der product-id und family-id zusammen. So ganz habe ich nie durchschaut, was das bedeutet, aber bei identischen id:s kann es solche Effekte geben.

Mein erstes Garmin war von 2009, und das konnte schon mehrere Karten.
Die enthaltenen Kartenkacheln sollten nur halt unterschiedliche Namen bzw. Nummern haben.

Viele Grüße
hca

Das mit den Ids geht mir auch so.

Aber die Probleme würden dann bei gleicher img-Datei bei alten und neuen Geräten auftreten. Ich denke, dass das Konzept “eine Karte ist eine IMG” das Konzept “mehrere Karten sind in der einen IMG” abgelöst hat und der alte Kram deshalb bei den neueren Geräten fallen gelassen wurde.

Mein erstes Garmin war das GPS12 … das hatte niemals Kartenprobleme … es hatte keine Karten :slight_smile:

Ha, was war ich damals™ modern! Ich hatte das 12 Map mit sagenhaften 1,2 Megabyte Speicher. Mega, nicht Giga. Ich musste auf meinen Radtouren ein kleines Notebook mitnehmen und täglich eine neue Karte aufspielen. Jaja, die gute alte Zeit… :smiley:

Hallo zusammen,

vielen Dank für die vielen, schnellen Hinweise.

Ich habe das mal mit den Dateien gmapsupp.img und noch_eine_gmapsupp.img ausprobiert. Ich sehe nur erstere, die andere kann ich auch in den Einstellungen nicht aktivieren.

Es kann natürlich durchaus sein, dass es an einer ID liegt. Nur dachte ich bisher immer, beim Oregon 550 darf nur eine Karte drauf sein und die muss zwingend den Namen “gmapsupp.img” haben. Wenn es doch irgendwie mit mehreren Karten geht, wäre das natürlich super.

Das scheint mein Fehler zu sein, das mit den Style-Files wusste ich nicht.
Ich habe die verlinkte Datei runtergeladen und die Style-Files entpackt. Verstehe ich es richtig, dass ich entweder alle Dateien im Ordner style/fzk oder alle im Ordner style/swisspopo benötige? Oder muss ich nur eine der Dateien auswählen?
Ich habe folgenden Befehl versucht:

mkgmap --description="test" --gmapsupp --route --remove-short-arcs --add-pois-to-areas --product-id=1 --family-id=9999 1.osm.pbf 2.osm.pbf contrast.TYP --style-file=style/fzk/

Leider haben auch hier wieder die Straßen gefehlt.
Oder sollte man es dann gar nicht mit mkgmap sondern mit dem ebenfalls im Archiv enthaltenen Perl-Skript machen? Ich stehe da glaube ich noch etwas auf dem Schlauch…

GMapTool könnte ich natürlich auch noch ausprobieren. Aber wenn ich das richtig verstehe, ist gmt eine Alternative zu mkgmap? Dann würde das ja mein Problem (also meinen Fehler) mit den fehlenden Style-Dateien nicht beheben, oder?

Oh ja, da ist was wahres dran. :wink:

Viele Grüße
Kanzler

Bei mkgmap ist die Reihenfolge der Parameter wichtig. Hiermit sollte das Ergebnis besser aussehen:


mkgmap --description="test" --style-file=style/fzk/ --gmapsupp --route --remove-short-arcs --add-pois-to-areas --product-id=1 --family-id=9999 1.osm.pbf 2.osm.pbf contrast.TYP 

Es fehlen allerdings wahrscheinlich noch diverse weitere Parameter, um eine Karte zu bekommen, die genau wie das Original ist.
Ob Du schneller damit bist, die aus dem perl Script zu extrahieren oder das Script selbst zum Laufen zu bringen ist schwer zu sagen.
Habe beides schon lange nicht mehr versucht.

Hallo GerdP.

Vielen Dank, das mit der Reihenfolge klingt logisch.
Ich habe die vorgeschlagene Reihenfolge mal probiert, allerdings habe ich dann nur eine ganz kleine gmapsupp.img raus bekommen, in der offenbar gar keine (lesbare) Karte ist. (Mit der ursprünglichen Reihenfolge hatte ich ja eine Karte, aber ohne Wege.)

Ich habe mir die Parameter mal in der Hilfe (mkgmap --help=options) angesehen und sie in genau dieser Reihenfolge eingegeben:

mkgmap --gmapsupp --description="test" --style-file=style/fzk/ --family-id=9999 --product-id=1 --route --remove-short-arcs --add-pois-to-areas 1.osm.pbf 2.osm.pbf contrast.TYP

Hierbei kam ich allerdings zum gleichen Ergebnis. Eine sehr kleine img-Datei ohne Karte.

Da es vielleicht wirklich schneller bzw. besser ist, das Skript zu nutzen, habe ich mir dieses mal angesehen und die notwendigen zusätzlichen Dateien runtergeladen.

In der Readme ist ein Beispiel hinterlegt, wie man eine Karte fürs Saarland erstellen kann, dies habe ich mal ausprobiert. Beim Befehl “perl mt.pl fetch_osm Freizeitkarte_Saarland” ging es irgendwie nicht weiter, ich habe die Karte dann selbst runtergeladen und den Befehl erneut ausgeführt (es wurden dann wohl weitere Dateien runtergeladen). Der Rest schien zu klappen, nur haben laut einer Warnmeldung wohl die Höhendaten gefehlt.
Zu Meiner Frage: Ich würde mir ja gerne eine Karte zusammenstellen, die je nach Bedarf (z. B. für den Urlaub) nicht nur aus Deutschen Bundesländern besteht. Kann man die Karte vor dem Zusammenfügen kombinieren (z. B. Hessen, Bayern, ein Teil von Österreich)? Oder noch besser, kann man Kartenausschnitte, die man z. B. bei extract.bbbike.org runterladen kann, mit dem Skript zusammenfügen bzw. zu einem Bundesland hinzufügen?
Das habe ich irgendwie noch nicht so ganz verstanden…

Schon mal vielen Dank für die Rückmeldung.

Viele Grüße
Kanzler

Zur Reihenfolge der Parameter: Die Optionen sind in der help nach Bedeutung gruppiert.
Der Knackpunkt ist, dass man die meisten Optionen angeben muss(will), bevor man die erste Eingabedatei angibt. Manche kann oder muss man aber für jede Eingabedatei mit anderen Parametern wiederholen, z.B. --mapname.

Der normale Weg, eine größere Karte zu erstellen, läuft so:

  1. Extrakt von http://download.geofabrik.de/ runterladen, z.B. ganz Deutschland oder noch mehr
  2. splitter verwenden, um den Extrakt in für mkgmap “verdauliche” Kacheln zu zerlegen.
  3. Die Dateien bounds.zip und evtl. sea.zip runterladen, z.B. hier: http://www.mkgmap.org.uk/download/mkgmap.html
  4. mkgmap mit passenden Optionen (siehe auch examples/sample.cfg) und -c template.args aufrufen. Letztere Datei wird von splitter erzeugt.
    Sieht dann ungefähr so aus:
java -Xmx6G -jar mkgmap.jar -c sample.cfg -c template.args

Die Exktrakte von Geofabrik kann man auch mit osmconvert “zusammenkleben”, wenn sie am gleichen Tag erzeugt wurden.

Am einfachsten ist es die fertigen Freizeitkarten zu verwenden. Gerade ist die Ausgabe “Herbst 2020” erschienen. Und nach dem Umbenennen des Imagefiles kannst du auch mehrere parallel auf deinen Gerät installieren.

Nee. Grob gesagt: Das mkgmap erzeugt Karten und das gmt konvertiert die dabei entstehenden img-Dateien in andere img-Dateien.

Auf ein modernes Gerät kann man z.B. die Karten/Dateien A.img, B.img und C.img kopieren. Für ein altes Gerät muss ich zusätzlich erstmal

gmt -jo gmapsupp.img A.img B.img C.img

aufrufen und kann dann die so entstandene Zusammenfassungsdatei gmapsupp.img auf das alte Gerät kopieren.

Das wäre dann auch ein guter Test, ob bei den restlichen Arbeitsabläufen irgendwo ein Fehler steckt. Wenn man mit diesen Dateien mehrere Karten zur Auswahl sieht, dann ist beim Kopieren usw. kein Mist passiert. Wenn man danach dasselbe mit der von mkgmap erzeugten Karte macht und es nicht klappt, dann liegt es an der Datei.

Nur um es klar zu stellen: Auf das Oregon 550 gehen sehr viele .img drauf, je nach Größe auch 100 oder mehr. Hatte bisher auch kein Problem mit Karten sowohl auf dem internen Speicher als auch auf der SD-Karte. So habe ich auch immer ein Höhenlinien layer dabei, da einmal ein weltweites draufgeladen.
Einzig auf TYP und style muss geachtet werden.

IDs können Probleme machen, erinnere mich an ein Problem mit bbbike und identischen Geometrien aber unterschiedlichen Stilen.

Für größere Ausschnitte benutze ich eigentlich nur die SD-Karte, da ich mit Kartenleser doch einiges schneller bin, als die lahme USB-Verbindung des Garmins.

Um eigene Garminkarten zu erstellen, eignet sich das Tool mapcreator dass Du über wanderreitkarte.de erreichst sehr gut.

Allerdings ist das eher sinnvoll, wenn Du etwas an der Darstellung ändern willst und etwa spezielle Dinge hervorgehoben haben willst.

Mein Oregon kann auch mit mehreren fertigen Karten umgehen und in der Software gibt’s sogar den Punkt “Change map”.

Also in Deinem Fall macht es wirklich mehr Sinn, herauszufinden, wie Du mehrere fertige Karten nutzen kannst.