Wie bereits angekündigt habe ich mich mittlerweile damit beschäftigt eigene POI’s (Points-of-interest) in Karten aus dem Openstreetmapproekt einzubauen. Eigentlich funktioniert das sehr einfach. Man ergänzt die .osm Datei und wandelt die Datei dann in ein Image, wie ich es hier beschrieben habe.
Am einfachsten sucht man sich jetzt einen Punkt in der Nähe des neuen POIs in der Datei. Dort heißen die Punkte „node“. Jeder node hat mindestens eine id und eine Längen- und eine Breitenangabe.
Die id muss in der ganzen Datei eindeutig sein, darf also immer nur einmal vorkommen.
Um jetzt einen neuen POI aufzunehmen ergänzt man beispielsweise
In den osm Dateien, die ich verwendete habe waren immer ausreichend viele ids frei, so dass ich einfach eine neue, freie id eingetragen habe. Die nodes stehen in der Reihenfolge der ids in der Datei, damit findet man schnell eine entsprechende Lücke.
Der Eintrag beinhaltet neben der id und den Positionsangaben, Schlüssel-Wert (Key-Value) Paare, die zusätzliche Informationen über den POI repräsentieren. Im oben gezeigten Beispiel erhält der Schlüssel „amenity“ den wert „restaurant“ und der Schlüssel „name“ den Wert „Eckkneipe“.
Damit wird dem Garmin mitgeteilt: Es existiert an der Position lat=’50.565766′ lon=’8.2702916′ ein POI der Kategorie „restaurant“, mit dem Namen „Eckkneipe“. Welche verschiedenen Kategorien es gibt erzählt uns mkgmap.
Entpackt man die Sourcen von mkgmap, dann findet man im Verzeichnis mkgmap/resources/styles/default verschiedene Dateien, die eine Aufzählung der verfügbaren Arten von Punkten oder Bereichen enthalten.
Hier einige Beispiele aus der Datei points:
amenity=restaurant & cuisine=steak [0x2a0c resolution 20]
amenity=restaurant & cuisine=thai [0x2a02 resolution 20]
amenity=restaurant & cuisine=* [0x2a13 resolution 20]
amenity=restaurant [0x2a00 resolution 20]
amenity=school [0x2c05 resolution 20]
amenity=supermarket [0x2e02 resolution 20]
amenity=telephone [0x5100 resolution 21 default_name 'Telephone']
amenity=theatre [0x2d01 resolution 21]
amenity=toilets [0x4e00 resolution 21 default_name 'Toilets' ]
amenity=townhall [0x3003 resolution 21]
amenity=university [0x2c05 resolution 21]
amenity=zoo [0x2c07 resolution 21]
highway=bus_stop [0x2f08 resolution 21]
Die Liste enthält einfache Zuordnungen wie „highway=bus_stop“ und auch komplexere Zuordnungen „amenity=restaurant & cuisine=steak“. Nehmen wir an unsere Eckkneipe wäre ein Steakhouse, dann passt man den Eintrag wie folgt an:
mkgmap ordnet, dann das entsprechende Symbol und die entsprechende Kategorie zu.
Natürlich kann man auch sinnvolle Punkte direkt bei OSM anmelden und in die Karte aufnehmen lassen. Ich denke bei dieser Vorgehensweise eher daran die POIs einer privaten Schnitzeljagd einzubauen und daraus eine Karte mit den richtigen Symbolen und Kategorien zu generieren. Derartige Anwendungsbeispiele gibt es sicherlich viele.
Als absoluter Neuling im Thema Geocaching werde ich mich im Nächsten und vorerst auch letzten Schritt damit beschäftigen, wie man Geocaches im Garmin verwalten kann. Dabei möchte ich die Caches nichts als Waypoint ablegen, sondern als echten Geocache, um die netten und überlebenswichtigen Features (wie die Anzeige einer geöffneten Schatzkiste) nutzen. Die Resultate folgen demnächst.