Skip to content

Punkte der OpenStreetMap in Garmin POI konvertieren

OpenStreetMap Immer wieder kommt in Foren die Frage auf wie man einfach Punkte aus der OpenStreetMap in POI für das Garmin konvertieren kann.

Auch Forscher an meiner Dienststelle wünschten sich kürzlich POI aus der OpenStreetMap von Hotels, Autovermietung, Supermärkten, Kneipen und anderem auf dem Navi zu haben.

Das geht recht einfach und lässt sich mit den drei Programmen wget, ImageMagick und GPSBabel auf der Linux-Shell sogar automatisieren. Natürlich kann man auch alle Schritte auf einer klickbaren Oberfläche nacheinander ausführen.

Als erstes holen wir uns die POI aus dem Untersuchungsgebiet mit der Overpass-API:
wget "http://overpass-api.de/api/interpreter?data=node[tourism=hotel](-18,-61,2,-46);out meta;" -O hotel.osm


Wer kein wget auf einer Shell verwendet kopiert einfach den Text zwischen den Anführungszeichen als URL komplett in den Browser seiner Wahl speichert die OSM-Datei ab.

Dann brauchen wir noch ein Icon, dabei greife ich in die OpenClipart und hole es dazu:
wget "http://openclipart.org/image/800px/svg_to_png/129925/1301476335.png" -O hotel.png


Das Icon muss noch das richtige Format bekommen, hier wird der convert von ImageMagick verwendet:
convert hotel.png -compress none -type truecolor -resize 24x24 hotel.bmp


Schließlich macht GPSBabel die GPI-Datei für Garmin fertig:
gpsbabel -i osm -f "hotel.osm" -o garmin_gpi,category="Hotel",bitmap="hotel.bmp",position -F "hotel.gpi"


Das Beispiel lässt sich beliebig für andere Features der OpenStreetMap übertragen. Die Sache hat nur einen Haken: POI die als Fläche gemappt sind werden auf diese Weise nicht berücksichtigt.
tweetbackcheck