Hallo Leute,
ich habe mal eine etwas schwierige Frage bezüglich Osmosis. Und zwar aktualisiere ich meine speziell ausgeschnittene OSM-Datei per Osmosis mit den täglichen DIF’s (osc-Datei), um nicht immer wieder die komplette europe.osm herunterladen zu müssen. Nun habe ich ziemlich lange gebraucht, um herauszufinden, dass das teilweise Fehlen der SRTM-Höhenlinien nichts mit den Renderern (Kosmos, Maperitive, GpsMid) zu tun hat, sondern die OSM-Datei selbst das Problem ist. Jedenfalls schneide ich mit Osmosis meinen benötigten Bereich aus der europe.osm heraus, füge mit Osmosis die Höhendaten hinzu und aktualisiere dann täglich diese Datei (also die mit den Höhendaten) wieder mit Osmosis mit den täglichen DIF-Updates. Nun dauert es aber nicht lange (schwer zu sagen, vielleicht so um die 7 Tage) bis erst einzelne sehr lange Höhenlinien verschwinden, bis irgendwann überhaupt keine Höhenlinien mehr angezeigt werden. Die OSM-Datei selbst wird kleiner, d.h. die Höhendaten fehlen direkt in der XML-Datei und können dadurch selbstverständlich nicht mehr vom Renderer angezeigt werden. Auch ein nachträgliches erneutes Zusammenfügen dieser OSM-Datei mit den Höhendaten bringt nichts und führt eher zu Chaos, weil sich dann zwar Höhenlinien in der Datei befinden, diese aber völlig anders und konfus (Datenmüll) vom Renderer angezeigt werden. Wahrscheinlich befindet sich der Fehler in der Befehlszeile, wo der Bereich mit dem DIF (osc-datei) aktualisiert wird, da es bei der frisch ausgeschnittenen osm-Datei keine Probleme mit den Höhenlinien gibt. Wie auch immer, da scheinbar der Fehler irgendwo in meinen Osmosis-Befehlszeilen stecken muss, kopiere ich mal diese Befehlszeilen nachfolgend rein, in der Hoffnung das einer von Euch den Fehler findet:
gewünschten Bereich aus Europa herausschneiden:
java -Xmx1024M -cp .\osmosis.jar;.\lib\default\bzip2-20090327.jar;.\lib\default\commons-compress-1.0.jar;.\lib\default\commons-logging-1.1.1.jar;.\lib\default\jpf-1.5.jar org.openstreetmap.osmosis.core.Osmosis --fast-read-xml-0.6 file=C:\europe.osm --tee 1 --bounding-box top=“50.00” bottom=“49.00” left=“11.00” right=“12.00” --write-xml file=C:\Bereich.osm
dem Bereich die Höhendaten hinzufügen:
java -Xmx1024M -cp .\osmosis.jar;.\lib\default\bzip2-20090327.jar;.\lib\default\commons-compress-1.0.jar;.\lib\default\commons-logging-1.1.1.jar;.\lib\default\jpf-1.5.jar org.openstreetmap.osmosis.core.Osmosis --rx C:\Bereich.osm --sort-0.6 --rx C:\SRTM6.osm --sort-0.6 --merge --wx C:\Bereich_mit_SRTM.osm
den Bereich mit den Höhendaten täglich aktualisieren:
java -Xmx1024M -cp .\osmosis.jar;.\lib\default\bzip2-20090327.jar;.\lib\default\commons-compress-1.0.jar;.\lib\default\commons-logging-1.1.1.jar;.\lib\default\jpf-1.5.jar org.openstreetmap.osmosis.core.Osmosis --read-xml-change file=C:\20101126-20101127.osc --simc --read-xml file=C:\Bereich_mit_SRTM.osm --apply-change --bounding-box top=“50.00” bottom=“49.00” left=“11.00” right=“12.00” --write-xml file=C:\Bereich_mit_SRTM_aktuell.osm
Randnotizen:
- Ich habe die Höhendaten mit SRTM2OSM heruntergeladen und zuvor von der API0.5 auf die API0.6 “migriert”.
- Ich nutze derzeit noch Osmosis v0.32, da bei der aktuellen Version 0.37 die osmosis.jar fehlt und ich daher nicht weiß, wie die obige Befehlszeile umzusetzen ist
Für Eure Antworten danke ich Euch schon mal im Voraus.