[OSM-Devserver] aio eventuell rechenintensiver

Christoph Wagner freemaps.osm at googlemail.com
Di Mai 11 22:03:10 CEST 2010


Hallo,

in den letzten Tagen habe ich zusammen mit Felix Hartmann daran gebastelt, seine velomap in meinen Prozess zu integrieren.
(Bei mir wird sich deshalb auch einiges ändern...)
Das Ding ist, dass ich jetzt vermutlich noch länger rechne (vielleicht so 2h).

Ich habe allerdings vor, an ner anderen Stelle zu optimieren.
Ich will die Daten mit Osmosis vorfiltern, allerdings krieg ich bestimmte Sachen nicht hin.
Vielleicht kann mir hier ja jemand helfen.

Ich möchte beispielsweise aus einem OSM-File alle Adressen rausfiltern.
Der Einfachheit halber nehm ich mal an, dass man ne Adresse am addr:housenumber tag erkennt.

Adressen können bekanntlich in mehreren Formen vorkommen:
1. als einfache Knoten
2. an Flächen wie z.B. Gebäuden
3. als Interpolationslinien
4. Als Relationen

Ich hab mir jetzt mal folgendes überlegt, was bei mir aber aus unerfindlichen Gründen nicht funktioniert:

$ osmosis-0.35/bin/osmosis --rx input.osm --tf accept-ways addr:housenumber=* addr:interpolation=* --tee outPipe.0="wayspipe" outPipe.1="nodespipe" --un inPipe.0="wayspipe" --tf inPipe.0="nodespipe" accept-nodes addr:housenumber=* --m --wx output_addr.osm


nach dem ersten tag-filter sind alle Knoten und Relationen noch drin, aber alle Wege rausgefiltert, die nicht addr:housenumber oder addr:interpolation gesetzt haben.
Dann will ich mit --tee zwei streams machen und hinterher wieder mergen.
Ich habe nämlich keine Ahnung, wie ich anders alle Knoten raushauen kann, die von keinem noch bestehenden Weg genutzt werden und nicht addr:housenumber gesetzt haben.
Also muss ich das wohl getrennt machen und hinterher wieder mergen, dachte ich mir so.

Eine pipe wendet also --used-node an um nur noch die interessanten Wege mit ihren knoten übrig zu lassen und die andere pipe filtert alle Knoten mit addr:housenumber heraus.
Anschließend soll --m das wieder zusammenschmeißen.

Jetzt die spannende Frage: Wieso funktioniert das nicht? Wenn ich das ausführe, wird osmosis einfach nie fertig und macht nichts.

Gibts ne andere möglichkeit das zu machen?

Grüße
Christoph


-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 198 bytes
Beschreibung: OpenPGP digital signature
URL         : <https://lists.openstreetmap.de/pipermail/devserver/attachments/20100511/f688b505/attachment.pgp>