osmosis und pbf Dateien

Ich möchte eine osm.pbf Datei per Osmosis schneiden: (XP)

osmosis --rb europe.osm.pbf --bb clipIncompleteEntities=true top=56.7286 left=2.1533 bottom=45.9817 right=17.8857 --wb data.osm.pbf

Was ist da der Fehler?

Meldung:

INFO: Osmosis Version 0.37
08.11.2010 10:09:57 org.openstreetmap.osmosis.core.Osmosis run
INFO: Preparing pipeline.
java.io.FileNotFoundException: data.osm.pbf (Das System kann die angegebene Datei nicht finden)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.(Unknown Source)

Edit: Ausgabe einer bz2 Datei (–wx data.bz2) klappt problemlos.

Chris

Bei mir genauso. Da ist wohl ein bug in der --wb Routine.

EDIT: Probier mal --write-pbf dataosm.pbf omitmetadata=true
Damit gehts bei mir.

Gruß,
ajoessen

bei mir läuft es in ähnlicher Form ohne omitmetadata=true ohne Fehler.

–read-pbf file=/osm/data/europe/europe.pbf --bounding-polygon file=/osm/data/polygone/eislingen.poly clipIncompleteEntities=true --write-pbf file=/osm/data/countries/eislingen.pbf

Mir ist aufgefallen, dass bei Dir clipIncompleteEntities=true zwischen -bb und den Parametern dafür steht, bei mir steht erst vor write-pbf

Ok, probiere ich sobald er mit der bz2 Datei fertig ist. Die bz2 Komprimierung benötigt anscheinend viel Rechenpower.
Läuft nun schon 8 Stunden.

Hab das Problem mal in der osmosis Liste gemeldet (gmane.comp.gis.openstreetmap.osmosis.devel).

Chris

beui mir hat er deswegen gemeckert, ist aber weiter gelaufen.

Das sind doch alles Parameter von --bb, dabei ist die Reihenfolge egal.

Gruß,
ajoessen

Osmosis hat in Version 0.37 einen Bug bei --wb. Du musst --write-pbf stattdessen benutzen. In der “trunk”-Version ist das repariert.

Bye
Frederik

Und die Bounding Box schreibt er auch in einem abweichenden Format rein:

statt

Aber ich nehme an, splitter kommt mit beidem klar.

Chris

Ich nutze omitmetadata=true usedense=false compress=none als Parameter um den splitter zu füttern. Klappt wunderbar, Version 161 rennt damit nahezu :wink: Kein vergleich mehr zu vorher.

Des weiteren scheint --read-pbf nicht Pipe-fähig zu sein, also “-” (STDIN) nicht erlaubt. :frowning:

aber ein tee-count unterstützt es…

EIne Pipe bei einer binären Datei, die du nicht vor dem Programmaufruf entpackst wäre meiner Meinung nach auch ziemlich unsinnig… :wink:

Wieso? In meiner alten Toolchain habe ich den binären bz2 Output von wget nach bzcat zum entpacken und weiter nach sed
für einige Ersetzungen gepiped.

Der Punkt geht an dich. Aber da es leider kein pbfcat gibt bleibt diese Möglichkeit wohl hier verschlossen.

Ich habe erstmal nur den omitmetadata=true genutzt. Meine DACHBENELUX Karte besteht nun allerdings aus
237 Tiles, meine alte D-Karte hatte nur 37.

Kann man da den max-nodes vom Splitter noch ein bisschen hochdrehen? Zur Zeit steht der bei mir auf 1.000.000.

Eine meiner Tiles ist zufällig komplett in der Nordsee, enthält also keine coastline und ist demendsprechend
weiss statt blau. Ansonsten hat alles gut geklappt, die Datei ist 1.1 GB groß.

Chris

Probieren geht über studieren…ich bin aber auch bei 1.000.000. 37 Kacheln klingt aber recht wenig. Auch mit bz2 und altem splitter hatte ich rund das 2,5fache für Deutschland.

Wo wir hier gerade schon beim OSMOSIS-Thema sind:
Ich würde gerne eine OSC auf eine OSM-Datei einspielen und das Ergebnis gleich mit einer BBOX oder einem Polygon schneiden. Geht das in einem Rutsch durch die Pipes? Ich mach’s momentan in zwei Schritten.

nee, geht -immer- noch nicht.
osmosis kann beim verarbeiten von osc-files kein clipping machen.
gruss
walter

Doch, das geht siehe http://wiki.openstreetmap.org/wiki/User:Garmin-User#Mein_Vorgehen_bei_der_Erstellung_einer_eigenen_Karte oder aber http://forum.openstreetmap.org/viewtopic.php?id=9730&p=2

Was nicht geht, die osc-Datei zubeschneiden.

ok. kapituliert :wink:
gruss
walter

Hallo Chris,

sicherlich nutzt du die areas.list mehrmals. Verbinde doch einfach die betreffende Kachel mit einer Nachbarkachel die 'ne Coastline hat, indem du in der areas.list die Koordinaten entsprechend zusammenfügst und die eine dann überflüssige Kachel löschst. Klappt ohne große Bastelelei natürlich nur, wenn diese beiden Kacheln die gleichen Begrenzungen (die danach ja gemeinsame Begrenzung) auf zwei gegenüberliegenden Seiten haben.

Grüße
Mario