[Talk-de] Relationen aus osm-Dateien herausfiltern

Werner Hoch werner.ho at gmx.de
So Jan 17 13:03:54 UTC 2010


Hi,

für meine Relationsauswertung muss ich die Relationen aus
den osm-Dateien herausfiltern.

Derzeit verwende ich folgenden Workaround:
--------
bzip2 -dc bw.osm.bz2 | head -n 3 > bw_relations.osm
bzip2 -dc bw.osm.bz2 | grep -A 100000 "<relation" >> bw_relations.osm
--------

Getestet habe ich auch die --tag-filter Funktion von osmosis, 
aber ich bekomme nur eine Fehlermeldung:
---------
> osmosis --read-xml file=bw.osm.bz2 --tag-filter reject-ways --tag-filter reject-nodes --write-xml file=rel.osm
17.01.2010 13:53:51 org.openstreetmap.osmosis.core.Osmosis run
INFO: Osmosis Version 0.32
17.01.2010 13:53:53 org.openstreetmap.osmosis.core.Osmosis run
INFO: Preparing pipeline.
17.01.2010 13:53:53 org.openstreetmap.osmosis.core.Osmosis main
SCHWERWIEGEND: Execution aborted.
org.openstreetmap.osmosis.core.OsmosisRuntimeException: Task type tag-filter doesn't exist.
        at org.openstreetmap.osmosis.core.pipeline.common.TaskManagerFactoryRegister.getInstance(TaskManagerFactoryRegister.java:60)
        at org.openstreetmap.osmosis.core.pipeline.common.Pipeline.buildTasks(Pipeline.java:50)
        at org.openstreetmap.osmosis.core.pipeline.common.Pipeline.prepare(Pipeline.java:112)
        at org.openstreetmap.osmosis.core.Osmosis.run(Osmosis.java:79)
        at org.openstreetmap.osmosis.core.Osmosis.main(Osmosis.java:30)
---------
Die tag-filter aktion müsste lt. Dokumentation funktionieren:
http://wiki.openstreetmap.org/wiki/Osmosis/DetailedUsage#--tag-filter_.28--tf.29

Ist in mein Kommando fehlerhaft?


Getestet habe ich dann noch xmlstartlet http://xmlstar.sourceforge.net/.
> bzip2 -dc bw.osm.bz2 | xml ed -d "//node" -d "//way" >out.osm
Das Programm benötigt aber zuviel Speicher.


Hat jemand eine Idee, wie die Filterung einfacher erfolgen kann?

Oder hat jemand zufällig die Daten der Datenbanktabelle
"current_relation_tags" oder einen planet-Auszug der nur die Relationen enthält?

Grüße
Werner




Mehr Informationen über die Mailingliste Talk-de