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:
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?
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.
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.