You are not logged in.
- Topics: Active | Unanswered
Announcement
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 2017-05-07 17:31:21
- Klumbumbus
- Member

- From: Erzgebirgskreis
- Registered: 2014-01-12
- Posts: 630
- Website
Overpass Abfrage: Multipolygone mit anderen Rollen als inner / router
Ich möchte innerhalb einer bbox alle Multipolygon-Relation finden, die Member haben, deren Rollen entweder leer, oder etwas anderes als inner oder outer sind.
Hat dazu schonmal jemand eine Overpass-turbo-Abfrage erstellt? Ich habs selbst versucht, bin aber gescheitert ![]()
Offline
#2 2017-05-07 18:07:11
- mmd
- Member
- Registered: 2010-11-06
- Posts: 2,150
Re: Overpass Abfrage: Multipolygone mit anderen Rollen als inner / router
Relationen mit Member, die alle die Rolle "leer" haben, würde so funktionieren:
rel({{bbox}})->.relations;
foreach .relations -> .relation (
(
node(r.relation);
way(r.relation);
rel(r.relation);
)->.elem_all;
(
node(r.relation:"");
way(r.relation:"");
rel(r.relation:"");
)->.elem_blank;
rel.relation( if:elem_all.count(nodes) == elem_blank.count(nodes) &&
elem_all.count(ways) == elem_blank.count(ways) &&
elem_all.count(relations) == elem_blank.count(relations));
out;
);Ansonsten ist mir die Bedingung mit dem inner/outer so wie sie formuliert ist nicht ganz klar, aber vom Prinzip her läuft das analog.
Last edited by mmd (2017-05-07 18:12:03)
Offline
#3 2017-05-07 18:23:27
- Klumbumbus
- Member

- From: Erzgebirgskreis
- Registered: 2014-01-12
- Posts: 630
- Website
Re: Overpass Abfrage: Multipolygone mit anderen Rollen als inner / router
Relationen mit Member, die alle die Rolle "leer" haben, würde so funktionieren:
...
Für leere Rollen konnte ich dies hier nutzen:
[out:xml][timeout:95];
relation["type"="multipolygon"]({{bbox}}) -> .mps;
way(r.mps:"");
rel(bw:"");
(._;>;);
out meta qt;Ansonsten ist mir die Bedingung mit dem inner/outer so wie sie formuliert ist nicht ganz klar, aber vom Prinzip her läuft das analog.
Gültige Rollen in Multipolygonen sind nur "inner" und "outer". Ich möchte also alles andere finden, d.h. leere Rollen oder anderes wie bspw. "oputer" (Tippfehler).
Offline
#4 2017-05-07 18:28:12
- mmd
- Member
- Registered: 2010-11-06
- Posts: 2,150
Re: Overpass Abfrage: Multipolygone mit anderen Rollen als inner / router
Gültige Rollen in Multipolygonen sind nur "inner" und "outer". Ich möchte also alles andere finden, d.h. leere Rollen oder anderes wie bspw. "oputer" (Tippfehler).
Ah, ok, das war wichtig. Lösung kommt gleich.
rel({{bbox}})[type=multipolygon]->.relations;
foreach .relations -> .relation (
(
node(r.relation);
way(r.relation);
rel(r.relation);
)->.elem_all;
(
node(r.relation:"inner");
way(r.relation:"inner");
rel(r.relation:"inner");
)->.elem_inner;
(
node(r.relation:"outer");
way(r.relation:"outer");
rel(r.relation:"outer");
)->.elem_outer;
rel.relation( if:elem_all.count(nodes) > elem_inner.count(nodes) +
elem_outer.count(nodes) ||
elem_all.count(ways) > elem_inner.count(ways) +
elem_outer.count(ways) ||
elem_all.count(relations) > elem_inner.count(relations) +
elem_outer.count(relations));
out;
);Last edited by mmd (2017-05-07 18:35:07)
Offline
#5 2017-05-07 19:00:45
- Klumbumbus
- Member

- From: Erzgebirgskreis
- Registered: 2014-01-12
- Posts: 630
- Website
Re: Overpass Abfrage: Multipolygone mit anderen Rollen als inner / router
Die query findet bei mir leider nichts. ![]()
Bsp. zum testen:
- http://www.openstreetmap.org/relation/5405247 (version 2) - alle Mitglieder ohne Rolle
- http://www.openstreetmap.org/relation/4661637 (version 2) - ein Mitglied ohne Rolle
- konkretes Bsp. für andere Rollen habe ich noch keins gefunden, aber es gibt einige: https://taginfo.openstreetmap.org/relat … ygon#roles
Offline
#6 2017-05-07 19:05:41
- mmd
- Member
- Registered: 2010-11-06
- Posts: 2,150
Re: Overpass Abfrage: Multipolygone mit anderen Rollen als inner / router
Speziell für Relation 5405247 sieht das hier so aus:

Wichtig: in overpass turbo auf den "Daten" Tabreiter wechseln!!
.. oder aus dem "out;" ein " out center;" machen...
Last edited by mmd (2017-05-07 19:07:26)
Offline
#7 2017-05-07 19:10:36
- Klumbumbus
- Member

- From: Erzgebirgskreis
- Registered: 2014-01-12
- Posts: 630
- Website
Re: Overpass Abfrage: Multipolygone mit anderen Rollen als inner / router
Ah, jetzt funktionierts. Ich hatte übersehen, dass da ein Scollbalken in post #4 ist und nur die halbe query kopiert... ![]()
Danke.
Last edited by Klumbumbus (2017-05-07 19:10:49)
Offline