Ist diese Abfrage richtig?

Hallo, ich habe eine Frage in Bezug auf eine Radroute und deren angrenzende Wege und Straßen. Das bedeutet, ich möchte die Koordinatenpunkte, an denen eine Straße oder irgendein Weg in die Radroute mündet, und deren Namen, wenn vorhanden.
Ist meine Abfrage so korrekt? Danke für eure Antwort.
Gruß Lutz

[out:json][timeout:180];

// 1. Die Relation des Unstrut-Radwegs (8868) laden und als "route" speichern
relation(8868)->.route;
way(r.route)->.route_ways;

// 2. Alle anderen Wege finden, die die Wege des Radwegs kreuzen/berühren
way["highway"](around.route_ways:0)->.intersecting_ways;

// 3. Die echten Kreuzungspunkte (Schnitt-Knoten) zwischen Radweg und anderen Wegen ermitteln
node(w.route_ways)(w.intersecting_ways)->.intersections;

// 4. Ausgabe der Kreuzungspunkte sowie der kreuzenden Wege für die Straßennamen
(
  node.intersections;
  way(bn.intersections)["name"];
);
out body;

Nein.

enthält auch die Original-Wege auf der Route.

Das hilft:
way["highway"](around.route_ways:0)->.all_ways;
( way.all_ways; - .route_ways;)->.intersecting_ways;
// hier Testausgabe
way.intersecting_ways;
out geom;`

Noch 2 Tipps:

  1. mit einer derartig langen Route ist das Testen schwierig bis unmöglich.
  2. nach jedem Schritt das Ergebnis anzeigen lassen und mit der Erwartung abgleichen.
1 Like

@fx99 Danke für deine Antwort.

1. Leichte Abfrage: abgehende Wege nur mit IDs und Tags

Diese Variante ist schneller und liefert die Kandidatenliste: Welche Wege berühren die Route, gehören aber nicht zur Route?

[out:json][timeout:60];

relation(8868)->.route;
way(r.route)->.route_ways;
node(w.route_ways)->.route_nodes;

way(bn.route_nodes)["highway"]->.touching_ways;

(
  .touching_ways;
  - .route_ways;
)->.offroute_ways;

// Gibt IDs und Attribute aus, aber keine vollständige Geometrie
.offroute_ways out tags qt;

2. Vollständige Abfrage: abgehende Wege mit Koordinaten

Diese Variante liefert zusätzlich die Geometrie der abgehenden Wege. Damit kann man später die ersten 100 Meter rot einzeichnen.

[out:json][timeout:60];

relation(8868)->.route;
way(r.route)->.route_ways;
node(w.route_ways)->.route_nodes;

way(bn.route_nodes)["highway"]->.touching_ways;

(
  .touching_ways;
  - .route_ways;
)->.offroute_ways;

// Gibt die abzweigenden Wege inklusive Koordinaten ihrer Punkte aus
.offroute_ways out geom;

Damit habe ich das Problem gelöst :sweat_smile: