Overpass-Abfrage zum Finden von Sackgassen?

Hallo zusammen,

vielleicht kennt sich jemand von euch genug mit Overpass aus, um mir bei folgendem Problem zu helfen.
Ich möchte Wald- und Feldwege finden, die Sackgassen darstellen. Vereinfacht gesagt bedeutet dies, dass sie nur an einem einzigen Knoten eine Verbindung zu anderen Wald-/Feldwegen besitzen. (Zwar gibt es Ausnahmen, aber diese sind vernachlässigbar)

Legende für die folgenden Bilder:

  • grüne Linien: zu findende Wege

  • rote/orange Linien: Wege des restlichen Netzwerks, sollen nicht gefunden werden

  • gelbe Kreise: Knoten/Verbindungspunkte zwischen zwei Wegen

Beispiele für Situationen, die gefunden werden sollen:



Beispiel für Situationen, die explizit nicht gefunden werden sollen:

Beispiele für Situationen, die nicht gefunden werden sollen, aber vernachlässigbar sind, falls sie doch gefunden werden:

Hat da jemand eine Idee?

Viele Grüße
Shaun das Schaf

Du suchst also Wege, an denen ein End-Node mit keinem weiteren Weg verbunden ist?

Das würde auf alle Beispiele bis das letzte passen:

Aber dort gibt es doch auch zwei Sackgassen?!

So kann man es auch formulieren, stimmt!

Das letzte Beispiel hatte ich nur ausgeklammert, weil es in meinen Ansatz “nur ein gemeinsamer Knoten” nicht gepasst hat. An sich hast du recht, es sind zwei Sackgassen, deswegen darf solch ein Weg auch gefunden werden.

Aber weißt du denn wie es geht, wenn du deine Betrachtung nimmst?

Das kann Overpass tatsächlich: https://overpass-turbo.eu/s/12kX

Quellen:
https://dev.overpass-api.de/blog/total_0_7_56.html#memberpos
https://wiki.openstreetmap.org/wiki/Overpass_API/Overpass_API_by_Example#Search_for_nodes_which_belong_to_an_exact_number_of_ways_.28since_0.7.54.29

Perfekt, das scheint genau das zu sein, was ich gesucht habe!
Ich glaube ich verstehe auch einigermaßen, was in der Abfrage vor sich geht.
Selbst wäre ich da aber niemals draufgekommen, dafür finde ich die Syntax zu komplex.

Auf jeden Fall Danke für die schnelle Hilfe!

Meiner Meinung tut die Abfrage nicht perfekt. Hier ist eine Version aus meinem Archiv:
https://overpass-turbo.eu/s/12l8

Richtig, meiner Abfrage fehlt der Umgang mit geschlossenen Wegen, die nicht an ihrem Endpunkt mit einer anderen Straße verknüpft sind. Das machst du mit !is_closed(). Dafür fehlen dann geschlossene Wege, die nirgends mit anderen verknüpft sind.

Allerdings suchst du mit foreach durch alle Knoten von allen Wegen - das kostet naürlich Zeit, obwohl nur Endpunkte des Weges in Frage kommen.

Auch wenn die Abfrage nicht von mir stammt (es gab da hier schon einmal eine Diskussion), ist das zu ändern ist kein Problem:
https://overpass-turbo.eu/s/12mc

Bei Dir fehlen ein paar Wege, z.B. der kurze path nach SW an der Petrus-Waldus-Straße.

Ja natürlich, weil im ersten Post nach Feldwegen gefragt wurde.