Garmin GPS - Benutzerdefinierte Karten
Teil 2: Eine einfache Detailkarte für Garmin GPS mit Kartenfunktion
Für verschiedene Zwecke ist es mitunter sinnvoll eigene Kartendaten in den Speicher eines Garmin GPS-Empfängers zu laden. Wie auch für die im ersten Teil beschriebene Basemap gilt, dass benutzerdefinierte Karten nur für ein kleines Gebiet relativ genau herstellbar sind. Sie sind auch kein Ersatz für das von Garmin im Rahmen des Mapsource Programms angebotenen Originaldaten. So kann man z.B. als Hobbyarchäologe die Daten historischer Kartenwerke digitalisieren oder als Wanderer die wichtigen Wege und Geländegegebenheiten in eine benutzerdefinierte Karte einarbeiten. Man sollte dabei aber nicht vergessen, dass neben ausreichender Genauigkeit auch der Faktor Zeit eine wesentliche Rolle spielt. Für diesen Workshop wurde als Test eine Übersichtskarte für Slowenien hergestellt, für deren Vektorisierung rund 15 Stunden erforderlich waren. Dabei ist die Genauigkeit nicht mit kommerziell angebotenen Produkten vergleichbar und routingfähig ist die Karte auch nicht. Wie dem auch sei, die hier beschriebene Methode erzeugt eine einfache Übersichtskarte. Und so funktioniert die Herstellung:
Schritt 1 - Software installieren

Installieren der auch schon im Teil 1 beschriebenen Software: OziExplorer, GlobGPS und cGPSMapper sollten installiert sein und problemlos funktionieren.
Schritt 2 - Eine gescannte Karte als Ausgangsmaterial verwenden

Geeignet sind gedruckte Landkarten, deren Genauigkeit für die angestrebte benutzerdefinierte Karte ausreicht. Eine Europakarte im Massstab 1:2.000.000 wird nur Hauptstraßen, diw größten Flüsse  und wichtige Städte enthalten aber kaum Nebenstraßen, kleinere Orte oder sonstige Kartendetails. Besser geeignet ist ein Massstab zwischen 1:20.000 (Stadtplan) und 1:200.000 (Regionalkarte).

Die Karte wird zuerst gescannt. Bedingt durch die Größe und die Vielfalt an Informationen auf einer gedruckten Karte gibt es hier immer wieder Probleme mit riesigen Datenmengen nach dem Scanvorgang. Um die Datenmengen unter Kontrolle zu halten, ist es sinnvoll Auflösung und Farbtiefe optimal einzustellen. Für die Bildschirmbetrachtung ist eine Auflösung von 72 dpi völlig ausreichend. Mit einer derartigen Auflösung kann man die Details noch gut erkennen und die erzeugte Datenmengen bleiben auch bei Karten im Format DIN A3 oder größern noch akzeptabel. Die Farbtiefe ist ein weiteres Kriterium um Datenmenge einzusparen. Grndsätzlich können Scanner zumindest 16,7 Millionen Farben erkennen, viele Modelle auch noch mehr. Das ist für die Kartenkalibrierung aber nicht unbedingt notwendig. Sehr oft kann die Farbtiefe auf 65.000 oder 256 Farben reduziert werden, was die Dateigrößen auf ein Viertel schrumpfen lässt. Bei diesen zwei Parametern sollte man vor dem eigentlichen Scan einige Tests hinsichtlich Lesbarkeit und Darstellung von Details durchführen. Schließlich wird auch der schnellste Computer bei der Berechnung von enormen Datenmengen irgendwann zu einer langsamen Schnecke.

Weil Landkarten meist größer als der vorhandene A4-Scanner sind, ist es erforderlich die Karte in Teilen zu scannen und danach zusammenzufügen. Man sollte sich bereits vor dem Scan Gedanken machen, wie man die gedruckte Karte am besten unterteilt. Genügend große Überlappungsbereiche erleichtern das Zusammenfügen mit einem Bildbearbeitungsprogramm wie Jasc Paintshop Pro oder PhotoLine 32.
Schritt 3 - Eine elektronische Karte kalibrieren

Die Kalibrierung läuft bei fast jedem Programm ähnlich ab. Man wählt zumindest zwei Punkte, von denen die exakten Koordinaten bekannt sind und legt damit die Längen-/Breitengrade in der Kartendatei fest. Es gilt: Je mehr Punkte zur Kalibrierung verwendet werden, desto genauer wird die Karte. Bei Oziexplorer (in der Vollversion) können bis zu 9 Kalibrierpunkte definiert werden, GlobGPS hingegen erkennt nur zwei Kalibrierpunkte. Ideal ist es, wenn sich  die Kalibrierpunkte über die gesamte Karte verteilen und noch besser ist, es wenn sie sich an drei gegenüberliegenden Kartenrändern oder Ecken befinden. Diese Punkte werden mit dem Cursor markiert und die entsprechenden Koordinaten eingetragen. Danach ist das Programm in der Lage für jeden Punkt auf der Karte die Koordinaten zu berechnen bzw. bei angeschlossenem GPS Empfänger den aktuellen Standort auf der Karte anzuzeigen. Die  Genauigkeit ist dabei nicht nur von der Karte und der exakten Eingabe der Koordinaten,  sondern auch von der richtig eingestellten Projektion und nicht zuletzt vom Programm selbst abhängig. Legt man auf absolute Genauigkeit keinen Wert, dann kann man auch Karten ohne bekannte Projektion wählen, für genaue Endprodukte ist die Projektion aber unabdingbar.

Für die benutzerdefinierte Mapsource Karte kann man in GlobGPS kalibrieren, weil GlobGPS auch das Programm sein wird, mit dem die Erfassung der Vektordaten erfolgen wird. Man startet GlobGPS, wählt Maps -> Cailbrate Maps und gibt für zwei bekannte Punkte die geografischen Koordinaten ein. Dann speichert man das Ergebnis und hat bereits den ersten Schritt geschafft.
Schritt 4 - Karte vektorisieren

Wurde die Karte kalibriert, dann müssen alle Informationen in Vektordaten umgewandelt werden. Dazu werden in GlobGPS einfach die Konturen von Straßen, Bahnlinien, Flüssen, etc. „nachgezogen  bzw. einzelne Punkte für Städte, Orte usw. definiert. In der Symbolleiste von GlobGPS finden sich dafür vier Schaltflächen, mit denen man folgende Vektordaten herstellen kann:
Add POI        
Fügt einen Point-of-Interest ein. Es stehen über zweihundert (!!) interessante Punkte zur Auswahl, mit denen man wirklich jede Sehenswürdigkeit erfassen kann.

Add Point        
Fügt einen Punkt ein. Punkte dienen im wesentlichen dazu Städt und Orte zu definieren. Es können aber auch Flughäfen, Tankstellen und Raststationen in eine Karte eingezeichnet werden. Insgesamt mehr als 40 definierbare Punkte stehen zur Auswahl.

Add Line        
ist die Auswahl wenn es darum geht Straßen, Bahnlinien, Flüsse, Küstenlinien oder Landkonturen auf die selbstgemachte Karte zu übertragen. Über 30 verschiedene Linienzüge können definiert werden.

Add Area        
dient zur Definition größerer Gebiete wie Großstädte, Ozean, Seen oder Nationalparks.

Mit Hilfe dieser vier Schaltflächen legt man also fest, was auf die Karte kommen soll. Punkte werden einfach positioniert und mit einer sogenannten Object Caption, einer Beschriftung versehen, die dann auch auf der Mapsource-Karte zur Beschreibung des Objekts angezeigt wird. Linienzüge und Flächen verlangen mehr Geduld, weil sich die Genauigkeit hier nach der Anzahl der Punkte richtet, aus denen sich das entsprechende Objekt zusammensetzt. Je mehr Punkte, desto genauer wird die Form dargestellt. Bei Karten mit sehr vielen Details sitzt man dann schon mehrere Stunden bis sämtliche Straßen, Flüsse und Ortschaften übertragen sind.

Eine große Hilfe ist auch die Schaltfläche Show/Hide Map mit der die gescannte Karte abgeschaltet werden kann und nur mehr die vektorisierten Daten sichtbar bleiben. Die Kontrolle wie genau einzelne Punkte positioniert sind wird dadurch erleichtert. Ideal überall dort, wo sehr viele Punkte und Linienzüge auf engem Raum nebeneinander liegen.

Ist man mit der Datenerfassung fertig, sollte man die Daten nochmals kontrollieren. Alle Objekte können editiert werden. Dabei ist es möglich falsch positionierte Objekte zu ändern oder auch ganz zu entfernen. Ist man mit dem Ergebnis zufrieden sollte in einer endgültigen Daten gespeichert werden.

Schritt 5 - Umwandlung der Vektordaten in Mapsource-Kartendateien

Jetzt beginnt der vorletzte Schritt. Die GlobGPS Datendatei muss in eine Mapsource kompatible Datei umgewandelt werden. Dieser Vorgang erfolgt in zwei Stufen. Zuerst wird mit dem Befehl Tools -> Generate Map. Für diesen Vorgang muß cGPSMapper installiert sein und unter Tools->Options das entsprechende cGPSMapper Verzeichnis eingetragen sein. Je nach Größe der Datensammlung und Rechnergeschwindigkeit dauert dieser Vorgang maximal etwa 20 Sekunden. Das Ergebnis ist ein sogenanntes Kartenimage (Dateierweiterung *.img). Dieser erste Kompiliervorgang dient einerseits dazu die Datei auf Fehler zu prüfen und ein erstes Kartenimage zu generieren. Damit wäre eigentlich die Möglichkeit gegeben mit Tools -> Send Map to GPS die gerade erstellte Kartendatei auf einen Garmin GPS-Empfänger zu übertragen. Bei Tests hat das allerdings in keinem Fall funktioniert. Außerdem hätte es den Nachteil, dass man immer nur die eine Kartendatei im GPS-Speicher hätte, denn ein Dazuladen zu einem bestehenden Kartensatz ist bei Garmin nicht möglich.

Daher folgt jetzt die zweite Stufe: Mit dem Programm GPSMap Edit wird das von GlobGPS generierte Kartenimage (1000019.img) geöffnet. Man kann sich hier nochmals die Daten ansehen und gegebenenfalls weiter bearbeiten. Ist man bereits zufrieden dann speichert man das Image in einem proprietären „Polish-Format"  und bekommt eine mit jedem Texteditor zu bearbeitende Textdatei (z.B. mit der Bezeichnung 100000220.txt). Diese Datei enthält die Beschreibung aller erfassten Punkte und Linienzüge und sieht in etwa so aus:
[IMG ID]
ID=10000220
Name=Slovenia General Map
Preprocess=F
CodePage=1252
TreSize=9567
POIIndex=N
Levels=4
Level0=21
Level1=19
Level2=17
Level3=15
Zoom0=1
Zoom1=2
Zoom2=3
Zoom3=4
[END-IMG ID]

[RGN20]
Type=0x59
Label=LJUBLJANA INTL AIRPORT
Origin2=(46.23596,14.46350)
[END-RGN20]

[RGN80]
Type=0x14
Label=TRIGLAV NATL PARK
Data1=(46.48933,13.73703),(46.48727,13.80157),(46.47972,13.84140),(46.47423,13.86749),(46.46873,13.88466),(46.47011,13.92105),(46.46667,13.92929),(46.45981,13.93478),(46.45912,13.95195),(46.45294,13.96568),(46.46049,13.98010),(46.45157,14.00139),(46.44127,14.01855),(46.43989,14.03229),(46.42822,14.05975),(46.41930,14.08516),(46.40762,14.09889),(46.40007,14.09889),(46.39320,14.09340),(46.38977,14.08035),(46.38428,14.06799),(46.43921,13.62511),(46.44401,13.65257),(46.43715,13.67111),(46.43852,13.68004),(46.43852,13.69034),(46.45431,13.69446),(46.47217,13.69652),(46.49139,13.72192)
[END-RGN80]
Am Inhalt braucht man nur wenig zu ändern. Es geht darum, der Karte einen eindeutigen Namen zu geben (im Beispiel Name=Slovenia General Map) und gegebenenfalls eine neue ID für das Kartenimage zu vergeben. Mit dieser Bezeichnung wird die Karte in die Mapsource-Software integriert und ohne diese Änderung heißen alle selbsterstellten Karten GLOBGps Map was zu Problemen beim Umschalten zwischen mehreren selbstgemachten Karten in Mapsource führen kann.

Um die Daten in Mapsource verwenden zu können muss die geänderte Textdatei nochmals mit cGPSMapper kompiliert werden um alle Änderungen zu berücksichtigen. Für den zweiten Kompiliervorgang kopiert man am besten den cGPSMapper in den Ordner mit der Imagedatei. Die cGPSMapper Dateien können nach der erfolgreichen Fertigstellung wieder gelöscht werden. Danach öffnet man den Kommandointerpreter, wechselt in den Ordner mit cGPSMapper und dem Kartenimage und gibt für unser Beispiel einfach den Befehl

cgpsmapper ac 10000220.txt

ein. Danach ist das Kartenimage fertig und man kann daran gehen die für die Einbindung in Mapsource fehlende TDB-Datei zu erstellen. Diese Datei ist eine Art Inhaltsverzeichnis für das Kartenimage. Die TDB-Datei kann auch Verweise auf mehrere Kartenimages enthalten um z.B. ein großes Gebiet in verschiedene Teilbereiche (in Mapsource Kacheln genannt) zu unterteilen. In unserem Beispiel geht es nur um eine Imagedatei (mit der Bezeichnung 10000220.img) die in der TDB-Datei verwendet werden soll. Als Basis dient die vorhandene Datei make_pv.txt, die bereits alle Zeilen und Daten enthält und die nur mehr an das aktuelle Projekt angepasst werden muss. Die Datei sieht in etwa so aus:
[Map]
FileName=SloveniaMap
MapVersion=110
ProductCode=220

Levels=2
Level0=14
Level1=13

Zoom0=5
Zoom1=6

MapsourceName=Slovenia General Map
MapSetName=Slovenia
CDSetName=Slovenia
Copy1=Garmin
Copy2=GPS User
[End-Map]


[DICTIONARY]
Level0RGN10=00000000000000000000000000000000000000000000000000000000000000000
Level1RGN10=00000000000000000000000000000000000000000000000000000000000000000


; 0  1  2  3  4  5  6
;           123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcd
ef0123456789abcdef0

Level0RGN20=11111111111000000000000000000000000000000000000000000000000000000

Level1RGN20=11111111110000000000000000000000000000000000000000000000000000000

Level0RGN40=11111000000000000000000000000000000000000000000000000000000000000

Level1RGN40=11110000000000000000000000000000000000000000000000000000000000000

Level0RGN80=11111111111111111111110000000000000000000000000000000000000000000

Level1RGN80=11111111111111111111110000000000000000000000000000000000000000000
[END-DICTIONARY]

[Files]
img=10000220.img
[END-Files]

Wichtige Zeilen und Abschnitte:

FileName bezeichnet den Namen der TDB-Datei (max. 8-stellig!)

MapVersion ist die Versionsnummer der Karte. Sie ist immer dreistellig und hat das Format x.xx (im Beispiel 1.10)

ProductCode enthält die Produktnummer der Mapsource Karte. Original Garmin-Mapsource-Karten haben Nummern zwischen 1 und 99, für selbstdefinierte Karten empfehlen sich Nummern ab 200. Mit diesen Nummern ist es möglich mehrere selbstdefinierte Karten in einer Mapsource Installation unterzubringen.

MapsourceName, Copyright, Copy2 bis dieser Abschnitt definiert die Anzeige von Copyright und Namen der Karte im GPS-Empfänger

Files dieser Abschnitt enthält die Kartenimages (eine oder mehrere IMG-Dateien), in unserem Beispiel der Eintrag für 10000220.img

Die Änderungen müssen wieder gespeichert werden und mit Eingabe von

cgpsmapper pv make_pv.txt

kompiliert werden.

Ist auch dieser Vorgang fehlerfrei abgeschlossen ist das Projekt fertiggestellt und es befinden sich folgende Dateien im Kartenverzeichnis:

10000220.img (Kartenimage)
SloveniaMap.img (Übersichtskarte)
SloveniaMap.TDB (Inhaltsverzeichnis)
Schritt 6 - Die neue Karte in die Systemregistrierung eintragen

Dazu muss im Abschnitt HKEY_LOCAL_MACHINE\Software\Garmin\MapSource\Products ein neuer Schlüssel für die Karte eingetragen warden (in unserem Beispiel wäre das 220). Danach müssen in diesem Schlüssel die drei folgenden Zeichenfolgen eingetragen werden:

Loc Pfad zu den Kartenimages (IMG-Dateien im Beispiel 10000220.img)
Bmap Dateiname und vollständiger Pfad zur Übersichtskarte (SloveniaMap.img)
Tdb Dateiname und vollständiger Pfad zur TDB-Datei (im Beispiel SloveniaMap.TDB)
Wenn alle Schritte erfolgreich durchgeführt wurden, wird beim nächsten Start von Mapsource bereits als zusätzliche neue Karte Slovenia General Map zur Auswahl stehen.

Der hier gezeigte Weg zu selbstdefinierten Mapsource Karten wurde auf verschiedenen Computern (mit Windows 98, Windows 2000 und Windows XP Betriebssystemen) mit den folgenden Garmin GPS-Empfängern getestet: Garmin 12, Garmin 12 CX, Garmin II+, Garmin III+, Garmin V und GPSmap 60.
 
 
Die für diesen Workshop erstellte benutzerdefinierte Slovenia General Map und die dazu erforderlichen Dateien stehen zum Download bereit. Benützung auf eigene Gefahr (use at your own risk). Erforderliche Software wie den OziExplorer, GlobGPS usw. kann man hier herunterladen:
 
Garmin_Map_Tools (ca. 27MB WinRAR-Archiv)
 
 
         Slovenia General Map Download (WinZip-Datei, Größe ca. 3,0 MB)
 
 
 
 
 
 
 
 
 
 
Jänner 2004                                                                                                                                 zurück zur Startseite