Garmin family-id, product-id etc.

Hallo,

da ich immer wieder Schwierigkeiten beim erstellen neuer Karten für mein Garmin mittels mkgmap habe, würde ich gerne verstehen was die “Produktbeschreibungsoptionen” für eine Bedeutung haben.

Aus der Doku zu mkgmap geht das leider nicht hervor: http://www.mkgmap.org.uk/doc/options

Vor allem würde ich gerne verstehen welche Funktion die family-id und die product-id haben.

Hat der family-name auch eine Bedeutung, oder ist es nur Beschreibungstext zur family-id?

Ich erstelle gerade zu meiner Wanderkarte mehrere Overlays mit Wanderwegen, Winterwanderwegen, Loipen, usw. und habe langsam das Gefühl dass jedes Overlay eine andere family-id haben muss, sonst wird es nicht angezeigt, oder das Typ-File wird ignoriert.

Hi Jochen,

Soweit ich weiß, ist die product-id=1 und die family-id muss eindeutig sein, d.h. jede Karte braucht eine eigene family-id. Der family-name ist der Name, mit dem die Karte im Garmingerät bezeichnet wird. Auch diese sollte eindeutig sein, damit man die Karten am Garmingerät unterscheiden kann.

Eine Übersicht, welche Family-IDs bereits von anderen OSM-Karten verwendet werden, findest Du unter http://wiki.openstreetmap.org/wiki/OSM_Garmin_ID

Grüße
Andreas

Hi Andreas,

danke für die Info. Da sind ja schon ziemlich viele IDs vergeben. Gibt es einen Bereich der für private Karten reserviert ist?

Dass die family-id für jede Karte anders sein muss, scheint mir nach meinen Versuchen auch so zu sein. Aber unter “Familie” verstehe ich doch mehr als eine Karte. Kann man mehrere Karten unter einer family-id zusammenfassen? Z.B. verschiedene Gebiete einer Wanderkarte, die alle das gleiche Aussehen haben, nur halt andere Gebiete abdecken, sodaß man immer den gleichen Style und Typ verwenden kann. Wenn die family-id anders ist, muss ja auch der Typfile ein anderer sein.

Das Original der Liste ist BTW prominent im Nachbarforum: http://forum.openstreetmap.org/viewforum.php?id=26 - auf das Wiki würde ich hier nicht setzen, die Liste entstand im Forum. Und da sie entstand indem jeder der bislang mochte seine eigenen verwendeten IDs eingetragen hat, ist sie nicht von OSM; Folglich kann OSM auch nix darin reservieren. Es gibt auch keine offiziellen oder nicht offiziellen Garmin Karten - sie alle sind “privat”. Der beliebte Satz “Ich verwende die OSM Garmin Karte” zeugt stets von Unwissen…

Oder anders rum: Alle IDs sind für private Karten, auch die der Liste.

Muss nicht. Nur falls Du mehrere Karten auf Deinem Gerät haben möchtest müssen diese wenigen unterschiedliche IDs haben.

Ja, aber das ändert auch nichts daran, dass jede der “zusammengefassten” Karten wieder eine eigene ID benötigt. IDs sorgen für eine eindeutige Zuordnung / Erkennung der einzelnen Karten - eben ein “IDentifier”. Kann Dein Gerät die Karten nicht eindeutig IDentifizieren wird es beim aktivieren einzelner Karten eben ein unvorhersehbares Chaos geben.

Jede Deiner Karten bzw. hinzugefügten Overlays bringt seine Optik (Typ/Style) separat mit, auch wenn sie alle identisch aussehen - es wird in jede Karte oder Layer Deiner Karte eincompileiert. Einen Sonderfall programmieren nur um bei 500 MB nachher 0,01 MB sparen zu können sieht sicher kein Hersteller vor, der Leute dafür bezahlen muss… mkgmap kann auch nicht alles so wie Garmin das könnte - das Format ist nicht offen gelegt, die Funktionen die es gibt wurden durch schlichtes ausprobieren herausgefunden. Hier gibt es nur ein “aha, so kann ich das also machen und das funktioniert” - genaue Auskunft könnte Dir aber nur Garmin selbst geben. Auch warum das “Family-ID” heißt.

Dass der Typfile in jede Karte integriert ist, war mir schon klar. Mein Problem ist nur, dass die Family-ID ja im Typfile drin steht, und ich das Typfile somit für jede Karte duplizieren müsste. Und jede Änderung anschliessend in jeder Kopie nachvollziehen. Lieber wäre es mir, wenn ich den gleichen Typfile für alle Karten vom gleichen Typ verwenden könnte.

Ich mache mir z.B. grundsätzlich 2 Wanderkarten: eine für das Gebiet wo ich wohne, und eine “Ausflugskarte” für ein zweites Gebiet wo ich einen Ausflug hin mache. Ich lade mir dann einfach vor einem Ausflug die aktuellen Daten aus dem Zielgebiet von OSM runter, mache die “Ausflugskarte” und kopiere sie aufs Garmin. So habe ich stets tagesaktuelle Karten.

Würde es nicht reichen, die beiden Karten mit unterschiedlicher product-id zu versehen? Dann müssten sie ja auch eindeutig sein.

Typ-File an einer Stelle auf dem Rechner liegen haben und im Script zur Kartenerstellung von dorthin an die benötigte Stelle kopieren, darin suchen & ersetzen um die korrekte ID zu setzen (auf unixoiden systemen z.B. mit den Tools cat und sed), und nach dem Compilieren wieder automatisch löschen. So mache ich das mit meinen Karten, kein manuelles Eingreifen nötig - es gibt nur ein Typ-File das ich pflege (bzw. es wird dynamisch erstellt), und damit rechne ich mit unterschiedlichen IDs mehere Karten.

Kein Wunsch den mkgmap, OSM oder dieses Forum Dir erfüllen könnte, das technische Design der Garminkarten stammt von Garmin - und die haben das nicht veröffentlicht. Du musst Dir selbst einen Workaraound einfallen lassen, oben habe ich einen beschrieben. Kreativ sein gehört mit zum Wichtigsten geht es um Scripte und/oder programmieren.

Hallo Jochen,

ich generiere viele verschiedene Karten mit unterschiedlichen IDs und auch unterschiedlichen Code-Pages (1250 bis 1257).

Für die unterschiedlichen Code-Pages muss ich das Typ-File jeweils duplizieren, das ist leider notwendig.
Für die unterschiedlichen IDs jedoch dupliziere ich das Typ-File nicht.
Wenn das Typ-File im Textformat gespeichert wird, dann steht am Anfang z.B. folgender Header:

[_id]
ProductCode=34
FID=12
CodePage=1250
[End]

Das wäre jetzt die ID 12/34.
Beim Aufruf von mkgmap gibt man als Parameter neben dem Typ-File nochmals die ID an.
mkgmap ersetzt dann die Dummy-ID im Typ-File durch die verwendete IDs im Aufruf.
Dadurch erspart man sich die Duplizierung des Typ-Files für jede einzelne ID.
Das funktioniert jedoch nur, wenn man das Typ-File im TXT Format übergibt.

Ich habe noch einen weiteren Trick ausprobiert.

Wenn ich 4 Pläne erstelle mit z.B. den Family-IDs 11 und 12 und den Product-IDs 33 und 34,
dann werden im Plan-Menü von Garmin diese 4 Pläne in 2 Einträgen zusammengefasst.
Mit dem ersten Eintrag kann ich die Pläne 1133 und 1134 anzeigen, mit dem zweiten die Pläne 1233 und 1234.

Vor allem bei Höhenlinien werden Pläne rasch recht groß und müssen dann unterteilt werden.
Damit kann ich erreichen, dass ich trotzdem die Höhenlinien mit einem Menüpunkt alle gleichzeitig ein/ausblenden kann.
Die Namen der einzelnen zusammengefassten Pläne werden im Menüpunkt untereinander aufgelistet.

Walter

Eins habe ich jetzt noch rausgefunden: man kann scheinbar schon mehrere Karten mit der gleichen FID haben, wenn sie das gleiche Typ-File nutzen. Die erscheinen dann auf meinem Oregon 400t alle unter der gleichen Menü-Kachel, lassen sich also nur gemeinsam aktivieren/deaktivieren. Auf der Kachel steht dann die “description” von allen Karten der gleichen FID. Für meine Wanderkarten aus unterschiedlichen Gebieten passt das, macht nix wenn die gleichzeitig aktiviert/deaktiviert werden, sind ja unterschiedliche Gebiete.

Moin!

Mein Oregon 450 (?) ist, was die Übereinstimmung der IDs zwischen Karte und TYP-File angeht, überhaupt nicht wählerisch - das TYP-File, das ich in die Karte mit einbacke, wird genommen, egal, wie die IDs der Karte sind.
Für die Karten, die ich für das Gerät mache, reicht mir ein TYP-File.

Anders sieht das beim Autonavi (Nüvi 25–irgendwas) aus, da muß das zusammenpassen, sonst wird die TYP-Datei ignoriert

Gruß
Hartwig