Overpass Turbo - Objekt ist gleichzeitig (nicht) Mitglied in einer Re

Moin,

eine Frage noch zur OT:

Wie kann man die Objektfilterung noch eingrenzen dahin, ob die bisher gefundenen Objekte noch Mitglied einer Relation vom Type=x sind?

Gruß Jan

Moin,

Schau Dir mal bitte http://overpass-turbo.eu/s/pxQ an:


[bbox:{{bbox}}];
node[amenity=restaurant];
rel(bn)[type=street]->.r;node._(r.r)->.node_results;
way[amenity=restaurant];
rel(bw)[type=street]->.r;way._(r.r)->.way_results;
( .node_results; .way_results; );
out center;

In Zeile 2 und 4 steht als Beispiel die Abfrage nach amenity=restaurant. Das ist ein Beispiel, das sowohl für nodes als auch ways einen Treffer liefert. In Zeile 3 und 5 wird jeweils auf solche Objekte reduziert, die von einer Relation mit Tag type=street referenziert werden. Zeile 6 dient noch dazu, die Ergebnisse wieder zu sammeln. Zeile 7 dient zum Ausgeben.

Passe die Abfrage also in den Zeilen 2 und 4 für die Objekte selbst und Zeile 3 und 5 für die Relationen auf die gewünschten Kriterien an.

Grüße, Roland

Ich hoffe, es ist ok, wenn ich mich hier reinhänge, da ich die selbe Abfrage auch suche.
Habe mir die Abfrage angepasst, bekomme aber keine Ergebnisse, meine Abfrage:

[bbox:{{bbox}}];
node[highway=milestone];
rel(bn)["ref"="A 4"]->.r;node._(r.r)->.node_results;

( .node_results; );
out center;

Ist die Abfrage falsch, hab ich was übersehen oder geht das so nicht?

Edit: Mein Fehler, ich suche Objekte die AUF einer Relation liegen, nicht IN ihr enthalten sind.
Nochmal Edit: Meine Abfrage, falls es mal wer sucht wäre:

[bbox:{{bbox}}];
way["ref"="A 4"]({{bbox}});
node(w)[highway=milestone];
out center;

Ich weiß zwar nicht so genau, was du mit AUF und IN meinst, aber ich glaube du suchst sowas hier:


rel[type=route][route=road][ref="A 4"][network="BAB"];
way(r)[highway=motorway];
node(w)[highway=milestone];
out;

Die Milestones sind also nicht direkt als Knoten in der Relation enthalten, sondern nur indirekt über die Wege. Wir suchen uns also erstmal die Relation raus, dann die entsprechenden Wege (nur Autobahn) und in diesen Wegen wiederum die Milestone-Knoten.

Ja, das meinte ich mit IN. Mit AUF meinte ich, dass sie auf dem Relationsweg liegen, also:

Ja, das war genau das was ich ursprünglich gesucht hab (dadurch, dass zumindest an Autobahnen ref i.d.R. am way und in der Relation sind, hat mir am Ende dann doch “nur” der way+node gereicht), findet sich sicherlich noch nen Anwendungsfall zu Deiner präziseren Abfrage.