Beispiel für eine Overpass-Abfrage

Wo sich zwei Strassen kreuzen

Den Kreuzungs-Node zweier Strassen mit Namen über eine Schnittmenge finden. Beispiel: Langstrasse und Badenerstrasse, Zürich.

Strassen, die sich kreuzen, teilen sich einen Node. Sammeln Sie die Nodes jeder Strasse, und behalten Sie die Nodes, die in beiden Mengen liegen.

Die Abfrage

[out:json][timeout:25];
area["name"="Zürich"]["admin_level"="8"]->.a;
way["highway"]["name"="Langstrasse"](area.a);
node(w)->.n1;
way["highway"]["name"="Badenerstrasse"](area.a);
node(w)->.n2;
node.n1.n2;
out;

Ausführen

Die Abfrage läuft…

Live-Ergebnis von overpass.ch, bis zu 12 Stunden zwischengespeichert. Kartendaten © OpenStreetMap-Mitwirkende (ODbL).

So funktioniert es

  1. node(w) holt die Nodes der Ways, die die Zeile davor gefunden hat.
  2. node.n1.n2 behält nur Nodes, die sowohl in n1 als auch in n2 liegen: die Schnittmenge.
  3. Die Antwort ist der Kreuzungspunkt, meist ein einzelner Node ohne Tags. Die Karte zeichnet auch die beiden Strassen.

Varianten

  • Strassen, die sich in einem Kreisel treffen, teilen sich keinen Node; suchen Sie dann stattdessen um einen Punkt.

Aus Ihrem Code ausführen

curl https://api.overpass.ch/v1/IHR_API_SCHLÜSSEL/interpreter \
  --data-urlencode 'data@query.overpassql'

Speichern Sie die Abfrage als query.overpassql. Sie funktioniert genauso in Overpass Turbo, QGIS und JOSM.

Weitere Beispiele

Alle Beispiele →