Verwendung von Koordinatenlisten im ASCII-Format (z.B. GNS oder GNIS)
1. Voraussetzungen
2. GNS: Abdeckung und Einschränkungen
3. Öffnen der Daten als Tabelle
4. Die Transformierungstabelle
5. Hex-Editor
6. MapEdit
Zur Erstellung brauchbarer Karten eines unbekannten Gebietes sind neben dem
Verlauf von Küstenlinien, Strassen, Wegen und Höhenlinien auch die Namen und
die Lage von Ortschaften und anderen Landschaftspunkten wie Berggipfeln o.ä.
erforderlich.
Im Folgenden wird eine Methode beschrieben, wie aus frei verfügbaren
ASCII-Listen mit solchen Inhalten (Lat, Lon, Name, Typ) mit relativ wenig
Aufwand eine MapEdit-Datei erzeugt werden kann, die dann mit anderen Inhalten
zum selben Bereich zu einer Karte kombiniert wird. Als Beispiel für eine solche
Datei werden die Listen des weltweit (ausser USA und Antarktis) verfügbaren GEOnet
Names Server (GNS), der von der National
Geospatial-Intelligence Agency (NGA) entwickelt und verwaltet wird,
betrachtet:
Zur im Folgenden beschriebenen Verfahrensweise benötigt man die folgenden Voraussetzungen:
1. Eine ASCII-Liste für den gewünschten Bereich (http://gnswww.nima.mil/geonames/GNS/index.jsp)
2. Ein Tabellenkalkulationsprogramm wie z.B. Excel und die Transformierungstabelle (Transfer NIMA nach MapEdit)
3. Zur Nachbearbeitung der erhaltenen Datei einen Hex-Editor (z.B. xvi32 )
2. GNS: Abdeckung und Einschränkungen, Download
Die Daten des GNS haben jeweils einen Vor- und einen Nachteil, die abgewogen
und je nachdem entsprechend gewichtet werden müssen, wenn man sich Gedanken
über die Nutzung dieser Datenquelle macht:
Fangen wie mit dem Vorteil an: Die Daten liegen im Format WGS84 und DD
(Dezimalgrad) vor, einem Format also, dass MapEdit direkt und ohne Konvertierung
einlesen kann. Ausserdem ist die Abdeckung weltweit mit Ausnahme der USA, für
die mit den Daten des Geographic
Names Information System (GNIS), der von der USGS
und dem U.S. Board on Geographic
Names (BGN) entwickelt und verwaltet wird, eine ähnliche Quelle ohne den
gleich zu nennenden Nachteil zur Verfügung steht.
Und jetzt der Nachteil: Die Koordinatengenauigkeit ist auf 1 Gradminute
beschränkt, d.h. die Namen und Symbole werden im Umkreis von ca. 1,5 km um den
tatsächlichen Ort abgelegt. Eine solche "Genauigkeit" ist bei
weltweiten Datensammlungen üblich und wird in der Regel durch Interpolation gut
wieder ausgeglichen - im Fall von Ortsnamen gibt es aber nichts zu
interpolieren. Trotzdem ist es in Verbindung mit einer hochauflösenden
Satellitenaufnahme i.d.R. möglich, zumindest Städte- und Ortsnamen,
Berggipfel, Inseln etc. zweifelsfrei zuzuordnen und so zwar mit etwas
Handarbeit, aber dafür deutlich erhöhter Genauigkeit zu arbeiten.
Ausserdem stehen zum Download der Daten zwei Optionen zur Verfügung:
Die Länderdaten können leicht z.B. mit einer Textverarbeitung zerlegt oder aber bis zu einer gewissen Grössenordnung komplett bearbeitet werden (max. Anzahl Zeilen der Tabellenkalkulation). Sie werden im zip-Format geladen.
3. Öffnen der Daten als Tabelle
Die dekomprimierte txt-Datei kann jetzt mit einer Tabellenkalkulation geöffnet werden. Dabei ist darauf zu achten, dass die .txt-Datei den Punkt als Dezimaltrennzeichen und keine Tausendertrennung verwendet - dies ist im Textkonvertierungs-Assistent|Weitere so anzugeben
In der so erhaltenen Tabelle können jetzt die in der folgenden Tabelle markierten Spalten eigentlich gelöscht werden, allerdings sollte man sich gut überlegen, ob man deren Inhalte nicht als Sortierkriterien z.B. zur Aufteilung der Datei in regionale Einheiten (ADM1), zur Trennung bestimmter Punktgruppen (FC) oder zur Festlegung der Stadtgrösse (PC) noch benötigt. In diesem Fall belässt man die entsprechenden Spalten, ordnet sie aber hinter der unten aufgeführten Anordnung der 6 später übergebenen Spalten an.
RC | Region
Code. Ein Code, der die Zeichenart festlegt, die im Feld
'Full Name verwendet' wird 1 = Westeuropa/America; 2 = Osteuropa; 3 = Afrika/Mittlerer Osten; 4 = Zentralasien; 5 = Asien/Pazifik; 6 = Vietnam. |
UFI | Unique Feature Identifier. Eine Nummer die einen Punkt eindeutig bezeichnet. |
UNI | Unique Name Identifier. Eine Nummer, die einen verwendeten Namen eindeutig bezeichnet. |
UGI | Unique Geospatial Reference Coordinate (GRC) Identifier. Nummer für linienförmige Elemente. Dieses Feld erscheint normalerweise nicht. |
LAT | Latitude
Breitenkoordinate des Punktes ± Dezimalgrad (WGS84): ohne Vorzeichen (+) = Nord; negatives Vorzeichen (-) = Süd. |
LONG | Longitude
Längenkoordinate des Punktes ± Dezimalgrad (WGS84): ohne Vorzeichen (+) = Ost; negatives Vorzeichen (-) = West |
DMS_LAT | Latitude
Breitenkoordinate des Punktes ± Grad, Minuten und Sekunden (WGS84): ohne Vorzeichen (+) = Nord; negatives Vorzeichen (-) = Süd. |
DMS_LONG | Longitude
Längenkoordinate des Punktes ± Grad, Minuten und Sekunden (WGS84): ohne Vorzeichen (+) = Ost; negatives Vorzeichen (-) = West |
UTM | Universal Transverse Mercator UTM-Referenz |
JOG | Joint Operations Graphic JOG-Kartenreferenz. |
FC | Feature
Classification: A = Verwaltungsbereich (Administrative region); P = Ansiedlung (Populated place); V = Bewuchs (Vegetation); L = Bereiche (Locality or area); U = Marine Punkte (Undersea); R = Strassen und Bahnen (Streets, highways, roads, or railroad); T = Topographie (Hypsographic); H = Gewässer (Hydrographic); S = andere Punkte (Spot feature). |
DSG | Feature Designation Code. Aus zwei bis 5 Buchstaben bestehender Code zur Beschreibung des Punkttyps. |
PC | Populated Place Classification. Eine Skala zur Abschätzung der relativen Wichtigkeit einer Ansiedlung. Die Skala reicht von 1, relativ hoch, bis 5, relativ niedrig. Die Skala kann auch NULL (kein Eintrag) als Wert für Ansiedlungen mit unbekannter oder nicht festgelegter Klassifizierung beinhalten |
CC1 | Primary Country Code. 2-Buchstaben-Code zur Bezeichnung eines souveränen Staates oder einer Kolonie |
ADM1 | First-order administrative division. 2-Nummern-Code zur Bezeichnung eines primären Verwaltungsbereiches eines Staates, vergleichbar mit einem Bundesstaat in den USA |
ADM2 | Second-order administrative division. Name einer Unterteilung eines primären Verwaltungsbereiches eines Staates, vergleichbar mit einem Bezirk (County) in den USA |
POP | Population Figures. |
ELEV | Elevations (Höhe in Metern, Dezimalwerte werden akzeptiert). |
CC2 | Secondary Country Code. 2-Buchstaben-Code zur Bezeichnung eines bestimmten Namens, falls dieser vom CC1 des Punktes abweicht. |
GCC | Geospatial Reference Coordinate (GRC) Country Code. 2-Buchstaben-Code zur Bezeichnung eines bestimmten Namens eines linienförmigen Elementes. Dieses Feld erscheint normalerweise nicht. |
NT | Name
Type: C = Offiziell (Conventional); D = ungeprüft (Not verified); N = Landessprache (Native); V = Variante oder Alternativbezeichnung (Variant or alternate). |
LC | Language Code. 2-Buchstaben-Code zur Bezeichnung der Sprache eines LAndes, falls mehrere Amtssprachen benutzt werden. |
SHORT_FORM | Ein Teil des Namens der den vollen Namen ersetzen kann |
GENERIC | Beschreibender Teil des vollen Namens (wird nicht bei Siedlungsnamen verwendet). |
SORT_NAME | Eine Form des vollen Namens, die das Sortieren erleichtert. Er besteht aus dem Namen, der Beschreibung und allen Präpositionen. Alle Buchstaben sind gross geschrieben, Leerfelder, Sonderzeichen und Betonungszeichen entfernt und Zahlen durch Kleinbuchstaben ersetzt |
FULL_NAME | Der volle Name ist der vollständige Name des benannten Punktes. Er besteht aus dem spezifischen Namen, der Beschreibung und allen Artikeln oder Präpositionen |
FULL_NAME_ND | Wie der volle Name, aber die Sonder- und Betonungszeichen wurden durch römische Buchstaben ersetzt. ND = No Diacritics / Stripped Diacritics. |
MOD_DATE | Das Datum, an dem der Punkt hinzugefügt oder irgendeine Eigenschaft des Punktes verändert wurde (YYYY-MM-DD). Dieses Feld erscheint normalerweise nicht. |
Dann werden die Spalten entsprechend der Anordnung in der Transformierungs-Tabelle gruppiert:
LAT | LONG | SORT_NAME | FULL_NAME_ND | ELEV | DSG |
4. Die Transformierungs-Tabelle
Bei der Verarbeitung der GNS-Daten bin ich relativ bald auf eine von Ulrich Grothaus geschriebene Excel-Tabelle gestossen, mit der man die Daten in Trackmaker-Wegpunkte umwandeln kann. Diese Datei (Transfer NIMA nach TrackMaker) benötigte nur wenige Modifikationen, um genauso einfach auch MapEdit-Dateien erzeugen zu können, die den Vorteil haben, bei der Bezeichnung nicht so eingeschränkt zu sein wie Wegpunkte und ausserdem sofort zur Verwendung in eigenen Karten geeignet sind. Aus diesem Grund stelle ich die modifizierte Datei wie von Ulrich Grothaus unter Hinweise beschrieben hier (selbstverständlich unter Ablehnung aller aus ihrer Benutzung entstehenden Konsequenzen) unter eigenem Namen ins Netz: Transfer NIMA nach MapEdit
Die Bedienung dieser Datei ist relativ schnell beschrieben:
Als erstes öffnet man die Transformierungs-Tabelle. Jetzt kann man in seiner bearbeiteten und sortierten Datentabelle die GNS-Bezeichnungen der Punkte (erklärt im Blatt GNS-DSG) mit dem entsprechenden Hex-Code aus dem Garmin-Symbol-Set (findet man im gleichnamigen Blatt) ersetzen. Falls sich jemand die Arbeit macht, diese beiden Listen logisch miteinander zu verknüpfen, also im Endeffekt eine weitere Spalte mit dem passenden GarminSymbol an die DSG-Tabelle anzuhängen, kann man diesen Vorgang sogar durch eine einfache Such-Abfrage in der Formel automatisieren. Da ich bisher noch nicht dazu gekommen bin, muss man dies bisher mit der Funktion Suche+Ersetze ([Strg]+H) eben mit der Hand erledigen, was aber auch schnell geht.
Die so erzeugten Werte werden mit 'Kopieren' und 'Inhalte einfügen|Werte' in die entsprechenden Spalten des Blattes Transformation eingefügt, und im rechten (gelben?) Feld derselben Tabelle erscheinen dann die Punkte in MapEdit-Notation.
Diese gelben Felder werden markiert, mit 'Kopieren' und 'Inhalte einfügen|Werte' in das Tabellenblatt 'Temp' eingefügt und dieses im Format MS-DOS.txt gespeichert. Alle aufpoppenden Warnhinweise (nur Arbeitsblatt speichern, Formatierung verlieren etc.) kann man bestätigen, MS ist da wie immer sehr fürsorglich und vergisst nur die wichtigen Warnungen ;-)
Die erzeugte Text-Datei ist prinzipiell einer MapEdit-Datei sehr ähnlich, wird jedoch von MapEdit mit der Ausgabe mehrer Fehlermeldungen zurückgewiesen. Der Grund dafür liegt aber nur in zwei Eigenheiten, die mit einem Hex-Editor auch bei grossen Dateien sehr schnell behoben werden können. Dazu wird die Datei geöffnet und als erstes die vom DOS-Txt-Format um Textfelder herum erzeugten Anführungszeichen (0x22) ersatzlos gelöscht. Ausgeführt werden die Aktionen mit der Funktion 'Search/Replace', jeweils mit dem Button 'Replace All'
Das DOS-Txt-Format speichert Zeilenschaltungen innerhalb einer Zelle als bedingte Zeilenschaltung (0x0A), Zeilenschaltung durch Auflistung in verschiedenen Zeilen jedoch als Absatz (0x0D 0A). Also müssen in einem ersten Schritt die von Excel korrekt eingesetzten Absatzschaltungen (0x0D 0A) durch bedingte Zeilenschaltungen (0x0A), die von MapEdit nicht erkannt werden, ersetzt werden. Die dient dazu, um in einem letzten Schritt dann ausnahmslos alle bedingten Zeilenschaltungen (0x0A) durch Absatzschaltungen (0x0D 0A) zu ersetzen.
Jetzt muss die so bearbeitete Datei nur noch gespeichert werden und lässt sich dann in MapEdit öffnen.
Die von MapEdit geöffnete Datei wird je nach Entfernung der einzelnen Punkte erst einmal nichts anzeigen, da die Datei drei Level aufweist, die importierten Punkte jedoch explizit auf dem Layer0 definiert sind. Dies dient dazu, die Verteilung auf die verschiedenen Level und damit die Anzeige der verschiedenen Punkttypen in unterschiedlichen Maszstäben im Nachhinein steuern zu können.
Nach dem Umschalten auf die Darstellung des Level0 durch die Taste [0] müsste die in der Transformierungs-Tabelle enthaltenen Beispieldatei ziemlich genau so aussehen: