Osmosis

Guten Tag

ich möchte mit Osmosis den Bereich der Stadt Magdeburg laden.

osmosis --read-xml enableDateParsing=no file=sachsen-anhalt.osm --bounding-box left=52.1765635 right=11.6346931 top=52.1630871 bottom=11.6041374 --write-xml md.osm

leider stimmen die Koordinaten angaben nicht so recht. kann mir da einer helfen?

Vielen Dank

Nonny

tausch mal:
left → top
top → bottom
bottom → left

dann sollte es (zumindest mit der richtigen Zuordnung) passen.

left=11.6041374 right=11.6346931 top=52.1765635 bottom=52.1630871

Danke für die schnelle Hilfe!

Es klappt

Ich hoffe es ist ok, dass ich mich hier einfach ranhänge aber da das Topic so allgemein war, will ich nicht extra was aufmachen.

Ich habe das Problem, dass ich die Anzahl der Hausnummern zählen will. Also schneide ich mit ner BBox aus dem Dump meines Bundeslandes was raus. Nun gibt es das hässliche Problem, dass Nummern an Gebäuden getaggt sind, ways können aber auch Interpolationen sein und dann muss ich ja auch noch die normalen Hausnummern Nodes hinzupacken.

Das ganze scheint nur mit Pipes zu gehen, oder? Aber irgendwie wird mein Job nie fertig, wenn ich es so mache:


osmosis.bat --read-xml file="..\..\m-v.osm" --bounding-box top=54.203 bottom=54.05 left=11.967 right=12.229  outPipe.0=mv --t 2 inPipe.0=mv outPipe.0=ways outPipe.1=nodes 
--wk keyList="addr:housenumber,addr:interpolation" inPipe.0=ways outPipe.0=a 
--nk keyList="addr:housenumber" inPipe.0=nodes outPipe.0=b  
--merge inPipe.0=a inPipe.1=b --tf reject-relations --write-xml file="..\..\hro.osm"

Hat jemand mit sowas schon mal gearbeitet?

Ich hab das zum reinen Ausschneiden von Gebieten ohne explizite Pipe-Angabe gemacht.

Versuch mal --rx … --tee outputCount=2 --bb … – --wx … --bb … – --wx …

Schneller wäre es, wenn du mit dem binary-Format arbeitest, also --rb statt --rx.

Dann bekommst du 2 osm-Dateien, die du getrennt zählen kannst. Dann hast du auch gleich Zahlen für Adressen an Nodes und an Wegen.

Ehm aber er muss dann für jeden Kanal die Boundingbox berechnen? Wäre das nicht besser das noch gemeinsam zu machen?

Ehm ich will aber gerne eine Datei haben und in einem Schritt. Irgendwann muss ich ja mal lernen wie das geht :wink: Stimmt das neue PBF Dateiformat gehört auch dazu ^^


osmosis.bat --read-xml file="..\..\m-v.osm"  --tee outputCount=2 --bounding-box top=54.203 bottom=54.05 left=11.967 right=12.229 --nk keyList="addr:housenumber" --wk keyList="addr:housenumber,addr:interpolation" --tf reject-relations --write-xml file="..\..\hro.osm"

So klappt es leider auch nicht :frowning:

lass einfach den tee weg :wink:

dann klappt es wenigstens ohne fehlermeldung; ob das aber die daten sind, die du haben willst, steht auf einem anderen Blatt.

bei --tee… will er auch zwei Dateien schreiben. :wink:

aber ich kann die doch mit --merge vor dem schreiben wieder zusammenfassen?

Im wiki unter detailed use steht beim tag-filter:


../osmosis/bin/osmosis \
  --rx input.osm \
  --tf reject-relations \
  --tf accept-nodes amenity=* \
  --tf reject-ways outPipe.0=POI \
  \
  --rx input.osm \
  --tf reject-relations \
  --tf accept-ways highway=motorway \
  --used-node outPipe.0=motorway \
  \
  --merge inPipe.0=POI inPipe.1=motorway \
  --wx test-merge.osm

Das dürfte es doch im Prinzip sein, oder? Um das effizient zu machen: pbf laden mit osmosis die bb ausschneiden und dann diese datei in obiges Bsp. mit --rb jeweils rein.

Alternativer Weg:

cat m-v.osm |./osmchange -b=11.967,54.05,12.229,54.203 >box.osm
echo "<osmfilter_pre/>" >lim
cat lim box.osm lim box.osm  |./osmfilter -k"addr:housenumber= addr:interpolation=" >hro.osm

Zählen sollte aber auch einfach so mit grep -c funktionieren - ohne vorher zu filtern. Kann aber sein, dass ich da was übersehen hab…

Frisch von der Liste:
Gibt jetzt eine GUI für OSMosis:

OSMembrane

http://osmembrane.de/

Gerade auf osmosis-dev aufgeschnappt:

http://osmembrane.de/

Eine GUI für osmosis…das dürfte dir evtl. helfen, mit den pipes klar zu kommen.

EDIT: verfluchte 10s :wink:

Jups hab ich gesehen, sieht echt nett aus :slight_smile: Ich denke mal da ist noch ein Verständnisproblem bei mir.

Auf jeden Fall funktioniert es wie aighes geschrieben hat. Dankeschön :slight_smile:

Nur leider nicht unter Windows, weil die Einstellungen in einer Datei .osmembrane.settings gespeichert werden wollen, und das mag Windows anscheinend nicht :frowning:

Gruß,
ajoessen

Das stand sogar einen Tag vor der Liste schon im Forum. :wink: Allerdings in der “Development”-Abteilung: OSMembrane - GUI front-end for Osmosis

Mir hat es bei einem ersten Test ganz gut gefallen. Ich habe zwar noch nie so komplizierte Osmosis-Pipelines verwendet, dass ich mit der Kommandozeile überfordert gewesen wäre, aber das kann ja noch werden.

Soll in der neuen Version behoben sein.

So habe mal auf PBFs umgestellt und das Ding braucht nun nur noch halb so lange ^^

Hi,
kann man osmembrane keine xyz.osmembrane als Parameter mitgeben die
er dann direkt öffnet?

Chris