You are not logged in.

Announcement

*** NOTICE: forum.openstreetmap.org is being retired. Please request a category for your community in the new ones as soon as possible using this process, which will allow you to propose your community moderators.
Please create new topics on the new site at community.openstreetmap.org. We expect the migration of data will take a few weeks, you can follow its progress here.***

#1 2013-11-05 22:38:42

Cruiser
Member
Registered: 2010-10-11
Posts: 14

Mehrere Relationen mit osmosis extrahieren

Hallo,

ich weiss nicht, ob ich hier den richtigen Ansprechpartner finde, ansonsten leitet mich bitte weiter.

Ich versuche mit osmosis Relationen aus einer OSM Datei zu extrahieren.

osmosis.bat --read-xml file=mecklenburg-vorpommern.osm --tf accept-relations landuse=farmland --used-way --used-node --write-xml file=mecklenburg-vorpommern_farmland_rel.osm

und

osmosis.bat --read-xml file=mecklenburg-vorpommern.osm --tf accept-relations landuse=residential --used-way --used-node --write-xml file=mecklenburg-vorpommern_residential_rel.osm

liefert mir da auch schon das passende Endergebnis. Es muss doch aber auch die Möglichkeit geben das ganze in einer Abfrage zu realisieren, oder geht das nicht? Etwa solch eine Abfrage

osmosis.bat --read-xml file=mecklenburg-vorpommern.osm --tf accept-relations landuse=farmland landuse=residential --used-way --used-node --write-xml file=mecklenburg-vorpommern_residential_rel.osm

die aber, sobald man mehrere key/value Paare dranhängt, nicht mehr das richtige Ergebnis liefert.
Für Ways und Nodes gibt es ja den --way-key-value Parameter, mit dem man mehrere key/value Paare angeben kann. Wieso gibt es so einen für Relationen nicht, oder habe ich den nur nicht gefunden?

Gruß,
Tim

Offline

#2 2013-11-05 22:49:52

Oli-Wan
Member
From: NRW
Registered: 2010-09-14
Posts: 2,814

Re: Mehrere Relationen mit osmosis extrahieren

Nach http://wiki.openstreetmap.org/wiki/Osmo … .28--tf.29 ist eine Komma-separierte Liste gefragt.

... --tf accept-relations landuse=farmland,residential ...

Ansonsten wäre osmfilter eine überlegenswerte Alternative.


No animals were harmed in the writing of this posting.

Offline

#3 2013-11-05 23:00:05

wambacher
Member
From: Schlangenbad/Wambach, Germany
Registered: 2009-12-16
Posts: 16,769
Website

Re: Mehrere Relationen mit osmosis extrahieren

Cruiser wrote:

die aber, sobald man mehrere key/value Paare dranhängt, nicht mehr das richtige Ergebnis liefert.
Für Ways und Nodes gibt es ja den --way-key-value Parameter, mit dem man mehrere key/value Paare angeben kann. Wieso gibt es so einen für Relationen nicht, oder habe ich den nur nicht gefunden?

jo: "Multiple values can be specified for one key, in a comma-separated list."

siehe https://wiki.openstreetmap.org/wiki/Osm … .28--tf.29

allerdings hab schon lange nichts mehr mit tf gemacht.

gruss
walter

edit: Oli-Wan war schneller. ;(

Last edited by wambacher (2013-11-05 23:02:24)

Offline

#4 2013-11-05 23:05:15

Cruiser
Member
Registered: 2010-10-11
Posts: 14

Re: Mehrere Relationen mit osmosis extrahieren

Oli-Wan wrote:

Nach http://wiki.openstreetmap.org/wiki/Osmo … .28--tf.29 ist eine Komma-separierte Liste gefragt.

... --tf accept-relations landuse=farmland,residential ...

Ansonsten wäre osmfilter eine überlegenswerte Alternative.

Ah Mist, falsches Beispiel genommen. Die Komma-separierte Liste habe ich auch schon entdeckt gehabt, geht ja aber nur bei gleichen Keys. Wie sähe es denn aus, wenn ich dazu nun noch

waterway=riverbank

mit aufnehmen wollte?
osmfilter kenn ich noch nicht, werde mal nach googeln. Gäbe es dort für mein Einsatzgebiet einen Beispielcode big_smile

Offline

#5 2013-11-05 23:20:24

Oli-Wan
Member
From: NRW
Registered: 2010-09-14
Posts: 2,814

Re: Mehrere Relationen mit osmosis extrahieren

Nicht getestet:

osmfilter mäcpomm.osm --keep-relations="landuse=farmland =residential or waterway=riverbank" -o=filterstaub.osm

Leider kann osmfilter kein pbf, aber das scheint für Dich keine Einschränkung zu sein.

Edit: fehlendes "=" eingefügt.

Last edited by Oli-Wan (2013-11-06 12:25:40)


No animals were harmed in the writing of this posting.

Offline

#6 2013-11-06 11:44:39

Cruiser
Member
Registered: 2010-10-11
Posts: 14

Re: Mehrere Relationen mit osmosis extrahieren

Oli-Wan wrote:

Nicht getestet:

osmfilter mäcpomm.osm --keep-relations "landuse=farmland =residential or waterway=riverbank" -o=filterstaub.osm

Leider kann osmfilter kein pbf, aber das scheint für Dich keine Einschränkung zu sein.

Danke für das Beispiel, werde es heute Abend einmal ausprobieren mit osmfilter.

Kann ich also davon ausgehen, das mein eigentlicher Wunsch, alles in einen osmosis Aufruf zu verpacken, nicht umsetzbar ist?

Offline

#7 2013-11-06 12:08:39

wambacher
Member
From: Schlangenbad/Wambach, Germany
Registered: 2009-12-16
Posts: 16,769
Website

Re: Mehrere Relationen mit osmosis extrahieren

Cruiser wrote:

Kann ich also davon ausgehen, das mein eigentlicher Wunsch, alles in einen osmosis Aufruf zu verpacken, nicht umsetzbar ist?

Wie kommst du denn darauf? Wir haben dir doch genau beschrieben, wie es in osmosis geht. Sogar 2x von 2 Leuten.

Gruss
walter

Offline

#8 2013-11-06 12:20:01

rayquaza
Member
From: DE-BW
Registered: 2012-11-18
Posts: 2,007

Re: Mehrere Relationen mit osmosis extrahieren

wambacher wrote:

Wie kommst du denn darauf? Wir haben dir doch genau beschrieben, wie es in osmosis geht. Sogar 2x von 2 Leuten.

Aber nur für den selben Key wink

Offline

#9 2013-11-06 12:21:44

Oli-Wan
Member
From: NRW
Registered: 2010-09-14
Posts: 2,814

Re: Mehrere Relationen mit osmosis extrahieren

Cruiser wrote:
Oli-Wan wrote:

Nicht getestet:

osmfilter mäcpomm.osm --keep-relations "landuse=farmland =residential or waterway=riverbank" -o=filterstaub.osm

Leider kann osmfilter kein pbf, aber das scheint für Dich keine Einschränkung zu sein.

Danke für das Beispiel, werde es heute Abend einmal ausprobieren mit osmfilter.

Kann ich also davon ausgehen, das mein eigentlicher Wunsch, alles in einen osmosis Aufruf zu verpacken, nicht umsetzbar ist?

Doch. Für das residential-farmland-riverbank-Beispiel:

osmosis --rx mäcpomm --tf accept-relations landuse=farmland,residential waterway=riverbank --used-way --used-node --wx filterstaub.osm

Der Hinweis auf osmfilter zielte eher darauf ab, daß osmfilter schneller ist, und in der Handhabung m.E. auch etwas bequemer. osmosis kann dafür mehr.


No animals were harmed in the writing of this posting.

Offline

#10 2013-11-06 12:34:11

Cruiser
Member
Registered: 2010-10-11
Posts: 14

Re: Mehrere Relationen mit osmosis extrahieren

Oli-Wan wrote:
Cruiser wrote:
Oli-Wan wrote:

Nicht getestet:

osmfilter mäcpomm.osm --keep-relations "landuse=farmland =residential or waterway=riverbank" -o=filterstaub.osm

Leider kann osmfilter kein pbf, aber das scheint für Dich keine Einschränkung zu sein.

Danke für das Beispiel, werde es heute Abend einmal ausprobieren mit osmfilter.

Kann ich also davon ausgehen, das mein eigentlicher Wunsch, alles in einen osmosis Aufruf zu verpacken, nicht umsetzbar ist?

Doch. Für das residential-farmland-riverbank-Beispiel:

osmosis --rx mäcpomm --tf accept-relations landuse=farmland,residential waterway=riverbank --used-way --used-node --wx filterstaub.osm

Der Hinweis auf osmfilter zielte eher darauf ab, daß osmfilter schneller ist, und in der Handhabung m.E. auch etwas bequemer. osmosis kann dafür mehr.

Die Aufreihung der Key/Value Paare im osmosis Aufruf hatte ich ja eigentlich genau so probiert und bekam da aber zu wenig raus? Habe ich wohl was falsche gemacht!?

Wenn osmfilter sogar schneller ist, werde ich aber einfach den Tip weiter verfolgen. Wenn ich osmfilter mit o5m Dateien filtere, soll es ja sogar noch schneller sein.

Offline

#11 2013-11-06 12:43:59

Oli-Wan
Member
From: NRW
Registered: 2010-09-14
Posts: 2,814

Re: Mehrere Relationen mit osmosis extrahieren

Cruiser wrote:

Wenn osmfilter sogar schneller ist, werde ich aber einfach den Tip weiter verfolgen. Wenn ich osmfilter mit o5m Dateien filtere, soll es ja sogar noch schneller sein.

Zur Orientierung: ich habe gerade aus ein und demselben Testgebiet die residential-farmland-riverbank-Relationen samt Mitgliedern ausgefiltert. osmfilter braucht mit o5m-Ausgangsmaterial 2 Sekunden, osmosis mit pbf 46 Sekunden. D.h. osmosis hatte durch Verwendung des schnelleren Formats sogar noch einen Vorteil.
Der osmfilter-Aufruf (Schnellschuß) oben war übrigens noch nicht vollständig. Besser:

osmfilter mäcpomm.osm --keep-relations="landuse=farmland =residential or waterway=riverbank" --keep-nodes= --keep-ways= -o=filterstaub.osm

Neben dem Verzicht auf pbf hat osmfilter auch noch den Nachteil, nicht mit Streams umgehen zu können, weil es den Input mehrfach liest. Aber auch das sollte für Windows-Nutzer keine Einschränkung darstellen.

Last edited by Oli-Wan (2013-11-06 12:49:55)


No animals were harmed in the writing of this posting.

Offline

#12 2013-11-06 13:03:57

wambacher
Member
From: Schlangenbad/Wambach, Germany
Registered: 2009-12-16
Posts: 16,769
Website

Re: Mehrere Relationen mit osmosis extrahieren

rayquaza wrote:
wambacher wrote:

Wie kommst du denn darauf? Wir haben dir doch genau beschrieben, wie es in osmosis geht. Sogar 2x von 2 Leuten.

Aber nur für den selben Key wink

ok, hab ich überlesen gehabt getan wink

Offline

#13 2013-11-06 14:14:31

Cruiser
Member
Registered: 2010-10-11
Posts: 14

Re: Mehrere Relationen mit osmosis extrahieren

Oli-Wan wrote:

osmfilter braucht mit o5m-Ausgangsmaterial 2 Sekunden, osmosis mit pbf 46 Sekunden. D.h. osmosis hatte durch Verwendung des schnelleren Formats sogar noch einen Vorteil.

Dann ist doch aber osmfilter schneller und hat den Vorteil?

Offline

#14 2013-11-06 22:35:02

Cruiser
Member
Registered: 2010-10-11
Posts: 14

Re: Mehrere Relationen mit osmosis extrahieren

@Oli-Wan Danke für deinen Tip mit osmfilter und das Beispiel. Hat super geklappt und ich habe meine gewünschten Ergebnisse sogar extrem viel schneller als mit osmosis bekommen.

Offline

Board footer

Powered by FluxBB