osmosis bbox: Dauer & Fehlermeldung

Off-Topic:

Ich bin Windows-Nutzer, aber kein Windows-Fan. Jeder soll sein BS nutzen, was für ihn am besten ist. Für ein paar Sachen nutze ich nebenbei auch Linux.

Nur leider sind die Sprüche der Linux-Fraktion mehr als veraltet, die höre ich schon seit über 15 Jahre. Ich weiß nicht, ob sich ein Linux-Jünger tatsächlich noch über Bill Gates und Blue-Screens amüsiert; sie sind aber nicht mehr zeitgemäß. Bill Gates ist schon lange nicht mehr Chef von Microsoft und meinen letzten Blue-Screen habe ich bei Windows 98 gesehen.

Warum wollen viele Linux-User Windows-Nutzer immer missionieren, anstatt sie mit ihrem Betriebssystem weiter arbeiten zu lassen.

Christian

C:>Der Befehl “sudo” ist entweder falsch geschrieben oder konnte nicht gefunden werden.

okok, ich bin ja schon still :wink:

Gruß,
ajoessen,
mit 512MB und 14 Minuten Rechenzeit ganz zufrieden…

nicht so schlimm: sudo ist linux und ohne sudo geht - zumindest bei ubuntu - nix
bedeutet: “ich bin root, ich darf das!” :wink:
hätte aber echt nicht gedacht, dass das problem an der java-release liegt.

läßt sich --apply-change eigentlich mit --bounding-polygon kombinieren? Und falls ja, hat jemand ein Europa-Polygon? Die gesamte Planet Datei ist mir zu groß und ich will mit den Diffs nur Europa aktuell halten. Dafür habe ich mir die Europa-Datei von Geofabrik besorgt. Ich spiele gerade die Planet Diffs ein, was aber blöd ist, weil ich ja den ganzen Rest nicht brauche

An sowas hätte ichauch interesse. Ein polygon-File könnte ich zur Not auch grob erstellen, ich meine aber, dass die auch irgendwo auf dem GeoFabrik-Server rumliegen. Bei Cloudmade gibt es keine Europe-Files.

Doch mit welchen Aufrufen (Parameter) bekomme ich osmosis dazu den daily diff in mein europe.osm.pbf zu schreiben?

Vielleicht verläufst du dich ja mal hierhin: http://wiki.openstreetmap.org/wiki/User:Garmin-User#Mein_Vorgehen_bei_der_Erstellung_einer_eigenen_Karte

Statt --rx und --wx musst du natürlich --rb und --wb verwenden, genauso statt --bb --bp. Ich habe mich noch nicht genauer mit .pbf beschäftigt, weil der Tile-Splitter das neue Format wohl noch nicht kennt - so braucht man einen zusätzlichen Durchlauf mit Osmosis für das reine OSM-Format.

Schönen Abend

Danke…irgendwann hatte ich mich schonmal durch deine Seite durch gewühlt und es dann wieder aufgegeben.

Nun hab ich es kosequent durchgezogen und bin zu folgender batch gekommen:


SET java=C:\Programme\Java\jre6\bin\java.exe -Xmx7000M
SET osmosis_file=D:\OpenStreetMap\mkgmap\bin\osmosis
SET %osmosis=%java% -cp "%osmosis_file%\lib\default\plexus-classworlds-2.2.2.jar" -Dapp.home="%osmosis_file%" -Dclassworlds.conf="%osmosis_file%\config\plexus.conf" org.codehaus.classworlds.Launcher
SET heute=%DATE:~6,4%%DATE:~3,2%%DATE:~0,2%
SET /a gestern=%heute%-1
SET changefile=%gestern%-%heute%.osc.gz

bin\wget.exe http://planet.openstreetmap.org/daily/%changefile% -P data

if not exist %changefile% goto:ende

%osmosis% --rxc data\%changefile% --simc --rb data\europe.osm.pbf --ac --bp file=data\europe.poly --wb data\europe_new.osm.pbf

move data\europe_new.osm.pbf data\europe.osm.pbf
del data\%changefile%

:ende
pause

Ist nicht ganz so fehlerrobust, wie deine scripte, aber da ich es ohnehin täglich ausführe, passt das schon. Und wenn ich mal einen Tag verpasse gibts halt ein neues Extract. :wink:

Nun bin ich mal gespannt, ob ich die Downloadzeit von 30-45min für Europa schlage… aber selbst wenn nicht… Traffic spart das ungemein, da freut sich auch der GeoFabrik-Server

Danke für den Einblick in die Möglichkeiten von Batchdateien, besonders das Handling mit dem Datum ist unerwartet angenehm machbar. :slight_smile:

Was mir bei den Extrakten der Geofabrik aufgrund eigener Mapping-Aktivitäten aufgefallen ist: Die Aktualität hängt ca. 3 Stunden hinterher, vor paar Monaten war es jedenfalls noch so - also ein Download z.B vom 28. Mai beinhaltete die Änderungen vom 27. Mai nur bis ca. 21:00 Uhr. Bei einem regelmäßigen Download ist das ja egal. Aber vielleicht ist es besser, die Changes für noch einen weiteren Tag rückwirkend einzuspielen, sonst werden die (angenommenen) 3 Stunden erst beim nächsten Komplettdownload “verfüllt”, dann fehlen wieder die letzten 3 Stunden. Das ist der Hauptgrund, warum ich den Initiativ-Ausschnitt direkt aus dem Planetfile nahm.

Viele Grüße
Mario

Stimmt, an diese Zeitdifferenz hab ich auch nicht gedacht…da mach ich gleich noch ein Chageset von gestern mit rein. Danke für den Hinweis.

ich schreibe mal ein bissl ausführlicher, vielleicht findet es ja noch jemand hilfreich sich die Diffs runterzuladen statt öfter mal den Planet oder Europa. Ich gehe mal davon aus, dass das hier http://wiki.openstreetmap.org/wiki/Planet.osm/diffs bis zur Anpassung der configuration.txt gemacht wurde. Ich arbeite mit den hourly Diffs, man muss also den Link in der configuration.txt anpassen. Zusätzlich den maxIntervall auf 0 setzen, da sonst beim Aktualisieren nur ein einziges Hourly Diff pro Aufruf runtergeladen wird

danach habe ich bei erstmaligen Einspielen die state.txt so angepasst, dass auch die Diffs von ein paar Stunden vor dem Dateidatum der europe.osm.pbf geladen werden, da ich nicht wusste, wann die Europa Datei nun genau erstellt wurde. Dazu einfach die Anzahl der Stunden von sequenceNumber abziehen, also Planet/Europa File ist 12 Stunden alt + 12 Stunden Puffer = sequenceNumber minus 24
Die configuration.txt ubd state.txt müssen in dem Verzeichnis liegen, wo das Update durchgeführt wird, also die folgenden Befehle ausgeführt werden

Den osmosis Aufruf lass ich mal weg, da er immer gleich ist und das ganze recht unübersichtlich werden würde. Oben im Thread stehen ja einige Beispielaufrufe

Runterladen der Diffs
–rri workingDirectory=. --wxc update.osc

Vereinfachen der Diffs
(ganz wichtig, steht nirgendwo, aber ohne geht es nicht. Wenn in den Änderungsdaten ein Knoten o.ä zwei mal angefasst wurde, bricht der Update sonst ab. Daran bin ich fast verzweifelt)
–read-xml-change file=“update.osc” --simplify-change --write-xml-change file=“update1.osc”

Einspielen der Diffs
–read-xml-change file=“update1.osc” --read-pbf file=“europe.osm.pbf” --apply-change --write-pbf omitmetadata=true file=“europe1.osm.pbf”

Aufräumen
löschen der update.osc und update1.osc
löschen der alten pbf und zrückbenennen der europe1.osm.pbf

osmosis läuft ohne Fehlermeldung durch. Die Dateigrößen sind auch plausibel. Ob es letztendlich geklappt hat, konnte ich noch nicht schauen…evtl heute abend

schneide Dir doch die Daten so zurecht. Spliiten und umwandel in einem Rutsch
–read-pbf file=/osm/data/europe/europe.pbf --tee 2 --bounding-polygon file=/osm/data/polygone/france.poly --write-xml file=/osm/data/countries/france.osm --bounding-polygon file=/osm/data/polygone/germany.poly --write-xml file=/osm/data/countries/germany.osm

Der splitter von mkgmap schneidet die Kacheln anders als osmosis, sodass mkgmap ein Routing über die Kachelgrenzen erstellen kann. Aber in naher Zukunft kann wohl auch der fertige Splitter pbf lesen und schreiben.

nee, leider nicht.
das mit bbox und poly-files geht nicht bei diff-files. geht nur beim import eines neuen planet-files (egal welches gebiet).
so nach und nach rutschen dir alle neuen sachen weltweit mit in deine db von z.b. pusemuckel rein.

ich hab zwar einiges versucht mit nachtäglichem löschen aber das gelbe von ei ist das nicht.
gruss
walter

Es gibt eine “Branch” Version die das schon kann.

Hallo,

bei den Daily Changes in Verbindung mit --bounding-box funktioniert es bei mir schon über 1/4 Jahr mit sauberem Rand. Diffs (gibt’s da einen Unterschied?) und Bounding Polygon nehme ich nicht, spekuliere aber, dass es da genauso gültig ist. Die Koordinaten müssen mit --bb bei jedem Import wieder angegeben werden, wenn das nicht reicht, spielt wahrscheinlich die Reihenfolge beim Einlesen (erst die OSC, dann die OSM) eine Rolle.

Viele Grüße
Mario

Eine Sache könnte noch etwas unklar sein: Die Change-Dateien selbst beschneide ich beim Merge nicht, diese sind ja nicht allzu groß. Erst beim Import in die zu aktualisierende Area setze ich die Bounding Box an.

es dürfte sich bei dem Vereinfachen des Diffs problemlos einbauen lassen…sofern man ein Polygon hat
–read-xml-change file=“update.osc” --bounding-polygon file=/osm/data/polygone/europe.poly --simplify-change --write-xml-change file=“update1.osc”

Gibt es die auch als fertige jar zum runterladen?

Die spuckt aber noch osm.gz-Dateien aus, oder?

hi
ich meine auch die daily, hourly & minutes/updates. ich wuerde mich wundern aber richtig freuen, wenn das mit bbox oder auch poly-files geht.
zwischen den zeilen lese ich, dass du erst was mit osmosis und DANN einen import mit bbox machst. osm2pgsql|??
schick doch bitte mal die wichtigsten befehle aus deinem script rueber, eventuell klaert das die verwirrung.

lg
walter

Siehe: http://wiki.openstreetmap.org/wiki/User:Garmin-User#Mein_Vorgehen_bei_der_Erstellung_einer_eigenen_Karte

von der mkgmap Mailing List:

Chris