Suchindices bearbeiten
1. Voraussetzungen
2. Karten zwischenspeichern
3. Bearbeiten des Codes
4. Karten abspeichern
Zur im folgenden beschriebenen Verfahrensweise benötigt man die folgenden Voraussetzungen:
1. Mehrere gekaufte oder selbst erstellte Vektorkarten
2. GPSMapEdit
3. Einen hex-editor (z.B. http://www.chmaas.handshake.de/delphi/freeware/xvi32/xvi32.htm )
Die Objektsuche ist ein Feature, das die Orientierung auf dem kleinen Display
eines GPS-Empfängers u.U. sehr vereinfachen kann. Die Suche erfolgt dabei beim
MAP500 innerhalb eines Bereiches, der intern mit Region bezeichnet wird. Leider
kann im .crd-Format nur pro Datei eine Region verwaltet werden, d.h. beim
Speichern wird die erste vorgefundene Region gespeichert, alle weiteren (und die
darin enthaltenen Informationen) werden gelöscht.
Ausserdem wird beim Laden mehrerer Kartenkacheln in MapEdit für jede Kachel
eine eigene Region erstellt, selbst wenn diese sie gleiche Bezeichnung
haben. Dies führt nach dem Zusammenfassen in eine .lst-Datei dazu, dass mehrere
gleiche Regionen zur Auswahl gestellt werden, die nicht unterscheidbar sind,
d.h. ob ich die richtige Region XYZ von 10 vorhandenen auswähle ist der reine
Zufall.
Beide Probleme lassen sich durch ein Zusammenfassen der Kartenkacheln in MapEdit
und eine Bearbeitung des Index-Teiles der so erstellten Kartendatei lösen.
Die Kartenkacheln, die später eine gemeinsame Region darstellen sollen, werden in MapEdit geöffnet und als gemeinsame Datei im Format .mp gespeichert. Diese ASCII-Datei kann im Klartext bearbeitet werden und hat keine formatspezifischen Einschränkungen.
Die Bearbeitung der Kartendatei erfolgt nun mit einem Editor. Bedingt durch die Grösse der Kartendaten, die schnell in den Bereich von mehreren MB geht, und die Notwendigkeit, auch Zeilenschaltungen editieren zu können, kommen herkömmliche Texteditoren hierfür nicht in Frage. Ein sehr schönes Tool, das noch dazu Freeware ist, ist der hexEditor XVI32, der aus dem Internet heruntergeladen werden kann. Mit diesem Editor ist es jetzt möglich, zuerst im Code der Kartendatei nach der Zeichenfolge [Cities] zu suchen, nach der die Indizierung der Städte erfolgt. Diese Indizierung erfolgt immer nach folgendem Muster:
City1=NAMEDERSTADT
RegionIdx1=1
was jeweils die Stadt NAMEDERSTADT einer bestimmten Region zuordnet.
Unser Ziel ist es nun, alle Städte auf der Karte der Region 1 zuzuordnen, um so
beim Abspeichern als .crd alle Stadtinformationen und die jeweils auf die Stadt
indizierten Punktinformationen zu behalten. Dazu müssen jetzt nacheinander die
mit einem anderen RegionIdx belegten Städte in den Index 1 umgeändert
werden.
Das kann leicht mit der Replace-Funktion von XVI32 erfolgen, wobei man die
Joker-Funktion wegen fehlender Eindeutigkeit nicht einsetzen darf. Die Suche
nach der Zeichenfolge 3D 32 0D 0A 43 69 74 79, wobei der zweite Hex-Wert jeweils
dem betreffenden RegionIdx angepasst wird (32=2, 33=3, 34=4, etc.) und deren
Ersetzung durch die Zeichenfolge 3D 31 0D 0A 43 69 74 79 besorgt diese Zuordnung
selbst bei mühseliger Handarbeit in maximal 1 Minute. Danach wird die so
bearbeitete Datei gespeichert.
Die so bearbeitete Karte kann jetzt in MapEdit geöffnet werden. Hier werden
jetzt unter 'Tools|EditDataForFind' die nicht
mehr benötigten Regionen gelöscht (die erste muss bleiben !!) und das ganze
als .crd gespeichert. Wahlweise kann man auch gleich als .crd speichern und den
ausgegebenen Warnhinweis ignorieren.
Als Ergebnis erscheint für die gesamte Karte trotz Zusammensetzung aus
ursprünglich mehreren Kartenkacheln nur eine Auswahlregion, innerhalb derer
nach Karteninformationen gesucht werden kann, ohne dass irgendwelche
Informationen verloren gegangen wären.