Block > OpenStreetMap und Reiserouten

Eigentlich wollte ich nur unsere Reiseroute eintragen. Mit verschiedenen Farben fuer verschiedene Fortbewegungsarten. So wie die Routenanzeige bei Google Maps. Das es so schwierig werden wuerde, haette ich nicht gedacht.

Zuerst hab ich mir also versucht, die Daten von Irland von OSM runterzuladen. Das war ja schon so eine Sache. Exportieren kann man naemlich so grosse Gebiete nur als PNG, nicht aber als XML-Data. Irgendwie bin ich dann durch Suche auf eine API gestossen, der man einfach die Laengen- und Breitengrade mitgibt, in der das gewuenschte Objekt liegt. Und das an die URL haengt. Bei mir also:

wget http://xapi.openstreetmap.org/api/0.6/map?bbox=-12.38,50.66,-4.35,55.03 -O ireland.osm

Der Download dauerte dann etwa 3 Stunden und brachte 467 MiB mit sich.

Nun versuchte ich die Datei mal mit Josm zu oeffnen. Damit kann man ja die Daten editieren. Aber nach kurzer Zeit ein Fehler: in zeile 7758570, way 59174155 fehlerhaft. (genauer Fehler weiss ich nicht mehr). Ok, hab ich mir also mal angucken wollen. Also hab ich mir mal 20 Zeilen ab Zeile 7758560 anzeigen lassen:

sed -ne '7758560,7758580' ireland.osm

Cool. Da fehlten alle Angaben. Mit vim einfuegen dauert zu lange, also mal zu den Boardmitteln (coreutils) gegriffen (splittet die Datei in 10MB Parts und nennt sie irlandaa, irlandab, usw.):

split -b 10M ireland.osm irland

Ok, nun 59174155 gesucht:

grep 59174155 irlandb* # da es ja im hinteren Teil liegen muss, da die Datei insgesamt nur etwa 8 Millionen Zeilen hat

Ok gefunden, also mit vim irlandbs einfach irgendwas eingefuegt und wieder zusammengepackt:

cat irland* > ireland-mod.osm # Yeah, cat mal sinnvoll angewendet ;)

So, das hab ich dann mal mit josm versucht zu oeffnen. Pustekuchen. Da Java halt Speicher braucht. Also josm so mit josm -Xmx1024m gestartet, da ja 1GB eigentlich reichen sollten bei einer Datei von knapp 500MB. Aber nein, Java braucht MEHR. Also: josm -Xmx2048m. Toll. Fehler anderer Art (weiss ich nicht mehr genau). Das haette ich mit: josm -Xmx3096m -XX:-UseGCOverheadLimit beheben koennen (ich hab zusaetzlich mal den Speicher auf 3 GB (!) erhoeht). Doch das brachte nur:

>>> ~ $ josm -Xmx3096m -XX:-UseGCOverheadLimit
Using /usr/lib/jvm/java-6-sun/bin/java to execute josm.
Revision: Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.1
Created-By: 16.0-b10 (Sun Microsystems Inc.)
Main-class: JOSM
Main-Version: 2255 SVN
Main-Date: 2009-10-07T19:25:15.114514Z
Debian-Release: 0.0.svn2255-1ubuntu1
Class-Path: /usr/share/java/gettext-commons.jar /usr/share/java/metadata-extractor.jar
Fatal: failed to locate image 'styles/standard/shop/rental/library.png'. This is a serious configuration problem. JOSM will stop working.
Could not get presets icon styles/standard/shop/rental/library.png
opening fc for extension null
Open file: /home/benjo/irland/ireland-mod.osm (489392837 bytes)
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007f1f776b3493, pid=4802, tid=139771909764880
#
# JRE version: 6.0_20-b02
# Java VM: Java HotSpot(TM) 64-Bit Server VM (16.3-b01 mixed mode linux-amd64 )
# Problematic frame:
# V  [libjvm.so+0x3af493]
#
# An error report file with more information is saved as:
# /home/benjo/hs_err_pid4802.log
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#
Aborted

Kann doch nicht sooo schwer sein?!

Das war im August 2010. Knapp 6 Monate spaeter will ich es nun nochmal wissen. Also mal josm einfach so, ohne Parameter gestartet. Brachte:

Could not read file 'ireland-mod.osm'.
Error is:
Line 8,282,839 column 22: Missing attribute 'version' on OSM primitive with ID 73518442. (at line 8,282,838, column 22)

Ok, nochmal mit der schon oben erwaehnten Prozedur editiert. Nochmal einfach copy&paste.

Aber: gleicher Fehler nochmal ein bisschen untendrunter … Also wieder editiert. Und eine Zeile untendrunter wieder. Und siehe da, es geht! Nun aber das Monstrum vor sich zu haben, ist auch nicht schoen. Denn es war ALLES dargestellt. Ist also damit quasi unmoeglich, eine Strasse zu faerben, von allem Unnuetzigem zu abstrahieren (also Hotels, etc.) und dann als PNG zu exportieren. Das will man auch gar nicht. Denn alleine schon das Darstellen hat etwa 10 Sekunden gedauert. Jedes an der Karte bewegen nochmals.

Im Endeffekt hab ich dann einfach von der OSM Startseite 4 Bilder von Irland gemacht, mit Gimp zusammengefuegt, und die Route von selbst eingezeichnet. Kritzelig dank fehlendem Grafiktablett.

Was soll uns das nun sagen?

Jedenfalls danke ich OSM trotzdem, denn es ist schon krass, was die da alles auf die Beine gebracht haben. Daher will ich auch wegen den 3 Fehlern in den Daten nicht boese sein ;)

Wer jetzt immer noch liest: Gibt es vielleicht ein anderes Programm, mit dem man genau das machen kann, was ich vorhatte? Ich bin dankbar fuer jede Hilfe :)

Hier noch ein Bild von Galway (bzw. ein Teil davon) in josm. Dabei wird vielleicht klar, dass da was einzeichnen schwierig werden koennte..

Galway in josm

Geschrieben: 2011-02-24, 21:15 - Tags: linux, osm