You are not logged in.

#1 2021-01-13 17:08:15

Shaun das Schaf
Member
Registered: 2019-10-10
Posts: 18

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:
deadend01.png
deadend02.png
deadend03.png
deadend04.png



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



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

Hat da jemand eine Idee?

Viele Grüße
Shaun das Schaf

Offline

#2 2021-01-13 17:19:09

Wulf4096
Member
From: Hamburg
Registered: 2018-10-23
Posts: 939

Re: Overpass-Abfrage zum Finden von Sackgassen?

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:
nodeadend03.png

Aber dort gibt es doch auch zwei Sackgassen?!

Offline

#3 2021-01-13 18:33:52

Shaun das Schaf
Member
Registered: 2019-10-10
Posts: 18

Re: Overpass-Abfrage zum Finden von Sackgassen?

Wulf4096 wrote:

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:
https://i.ibb.co/pvRv0FK/nodeadend03.png

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?

Offline

#4 2021-01-13 18:55:47

mueschel
Member
Registered: 2012-06-11
Posts: 1,084
Website

Re: Overpass-Abfrage zum Finden von Sackgassen?

Wulf4096 wrote:

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

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

Quellen:
https://dev.overpass-api.de/blog/total_ … #memberpos
https://wiki.openstreetmap.org/wiki/Ove … _0.7.54.29

Offline

#5 2021-01-13 20:00:37

Shaun das Schaf
Member
Registered: 2019-10-10
Posts: 18

Re: Overpass-Abfrage zum Finden von Sackgassen?

mueschel wrote:
Wulf4096 wrote:

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

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

Quellen:
https://dev.overpass-api.de/blog/total_ … #memberpos
https://wiki.openstreetmap.org/wiki/Ove … _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!

Offline

#6 2021-01-13 20:25:32

fx99
Member
From: Baden-Württemberg
Registered: 2009-06-02
Posts: 1,747

Re: Overpass-Abfrage zum Finden von Sackgassen?

mueschel wrote:
Wulf4096 wrote:

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

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

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

Offline

#7 2021-01-14 10:47:12

mueschel
Member
Registered: 2012-06-11
Posts: 1,084
Website

Re: Overpass-Abfrage zum Finden von Sackgassen?

fx99 wrote:

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.

Offline

#8 2021-01-14 11:02:13

fx99
Member
From: Baden-Württemberg
Registered: 2009-06-02
Posts: 1,747

Re: Overpass-Abfrage zum Finden von Sackgassen?

mueschel wrote:

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.

Offline

#9 2021-01-14 12:01:44

mueschel
Member
Registered: 2012-06-11
Posts: 1,084
Website

Re: Overpass-Abfrage zum Finden von Sackgassen?

fx99 wrote:

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.

Offline

Board footer

Powered by FluxBB