nonny
February 14, 2011, 4:39pm
#1
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
aighes
(Henning)
February 14, 2011, 4:42pm
#2
tausch mal:
left → top
top → bottom
bottom → left
dann sollte es (zumindest mit der richtigen Zuordnung) passen.
chris66
February 14, 2011, 4:42pm
#3
left=11.6041374 right=11.6346931 top=52.1765635 bottom=52.1630871
nonny
February 14, 2011, 4:55pm
#4
Danke für die schnelle Hilfe!
Es klappt
_i
(!I!)
February 15, 2011, 11:34am
#5
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?
aighes
(Henning)
February 15, 2011, 12:02pm
#6
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.
_i
(!I!)
February 15, 2011, 2:13pm
#7
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 Stimmt das neue PBF Dateiformat gehört auch dazu ^^
_i
(!I!)
February 15, 2011, 5:01pm
#8
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
wambacher
(Walter Nordmann)
February 15, 2011, 5:27pm
#9
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
lass einfach den tee weg
dann klappt es wenigstens ohne fehlermeldung; ob das aber die daten sind, die du haben willst, steht auf einem anderen Blatt.
aighes
(Henning)
February 15, 2011, 5:41pm
#10
bei --tee… will er auch zwei Dateien schreiben.
_i
(!I!)
February 15, 2011, 5:55pm
#11
aber ich kann die doch mit --merge vor dem schreiben wieder zusammenfassen?
aighes
(Henning)
February 15, 2011, 6:03pm
#12
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.
Marqqs
February 15, 2011, 8:49pm
#13
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…
chris66
February 16, 2011, 12:29pm
#14
Frisch von der Liste:
Gibt jetzt eine GUI für OSMosis:
OSMembrane
http://osmembrane.de /
aighes
(Henning)
February 16, 2011, 12:29pm
#15
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
_i
(!I!)
February 16, 2011, 12:54pm
#16
Jups hab ich gesehen, sieht echt nett aus Ich denke mal da ist noch ein Verständnisproblem bei mir.
Auf jeden Fall funktioniert es wie aighes geschrieben hat. Dankeschön
Jups hab ich gesehen, sieht echt nett aus Ich denke mal da ist noch ein Verständnisproblem bei mir.
Auf jeden Fall funktioniert es wie aighes geschrieben hat. Dankeschön
Nur leider nicht unter Windows, weil die Einstellungen in einer Datei .osmembrane.settings gespeichert werden wollen, und das mag Windows anscheinend nicht
Gruß,
ajoessen
Tordanik
(Tobias Knerr)
February 17, 2011, 12:08am
#18
Das stand sogar einen Tag vor der Liste schon im Forum. 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 .
_i
(!I!)
February 19, 2011, 11:08am
#19
So habe mal auf PBFs umgestellt und das Ding braucht nun nur noch halb so lange ^^
chris66
February 24, 2011, 9:55pm
#20
Hi,
kann man osmembrane keine xyz.osmembrane als Parameter mitgeben die
er dann direkt öffnet?
Chris