Was ist der beste Weg, um Routing durch Bereiche wie Parkplätze zu implementieren?

9

Ich verwende OSM2PO, um Wegbeschreibungen zu routen, und ich habe festgestellt, dass viele der OSM-Gehwege nicht ideal eingerichtet sind.

Zum Beispiel gibt es viele Wege, die durch Parkplätze unterteilt sind, die offensichtlich begehbar sind, aber ignoriert und nicht in Straßen umgewandelt werden, sodass der Router glaubt, dass Sie nicht durch sie gehen können. Dies führt zu viel längeren Gehstrecken als nötig.

Gibt es eine praktische Möglichkeit, damit umzugehen? Ich denke, das gleiche Problem tritt auf, wenn es um "Bereiche" geht, die begehbar sind (dh Parks ohne Wege durch sie).

Ein weiteres Problem besteht darin, dass Bürgersteige keine Verbindung zu Straßen herstellen. In vielen Situationen führt dies wiederum zu unterdurchschnittlichen Routing-Ergebnissen.

OSM hat diese Probleme überall. Es klingt nach einem schwierigen Problem, aber nach einem häufigen, und ich frage mich, ob jemand dies auf praktische Weise angegangen ist.

Danke für deine Gedanken!

DFx
quelle

Antworten:

5

In Anbetracht der Antwort von Sean (dass Sie selbst 'fehlende' Streicheleinheiten hinzufügen müssen) sowie der Tatsache, dass diese fehlenden Teile technisch gesehen Teile des Roadgraphen sind, die wiederum nur Linien sind, finden Sie hier die schnelle und mühelose Problemumgehung, die Sie möglicherweise durchführen verwenden. Wenn der Gehweg einen gemeinsamen Punkt mit einem "begehbaren" Polygon hat, exportieren Sie den Rand dieses Polygons als Linie in Ihr Straßendiagramm (ändern Sie gegebenenfalls die Attribute). Der Pfad wird also nicht am Rand eines solchen Polygons unterbrochen, sondern entlang seines Umfangs abgebildet.

Der zweite (optionale) Schritt besteht darin, einen direkten Pfad durch die Polygone zu erstellen. Wenn Sie exportierten Rahmen ein spezielles Tag hinzufügen (dh sie identifizierbar machen), können Sie Knoten der realen Pfade auswählen, die auf demselben exportierten Rand liegen, eine einfache gerade Linie von einem Punkt zum anderen erstellen und diese Linie Ihrem Diagramm hinzufügen. Sie erhalten Ihre fiktiven ungebrochenen Pfade. Jetzt können Sie die Ränder aus dem Diagramm löschen. Abhängig von der von Ihnen bevorzugten Software und Ihren Fähigkeiten können Sie mit diesem Algorithmus fiktive Pfade erstellen, ohne Ihrem Diagramm tatsächlich Rahmen hinzuzufügen.

SS_Rebelious
quelle
Danke für deine Antworten. Gute Argumente. Hat jemand für osm2po Vorschläge, auf welcher Ebene dies versucht werden soll, dh auf den osm-Daten, bevor sie auf osm2po treffen, oder während der Erstellung des osm2po-Graphen ...
DFx
6

Der einzig praktikable Weg besteht darin, die 'fehlenden' Routen der Daten selbst hinzuzufügen. OSM sollte wahrscheinlich keine Parkplätze in seine Wanderrouten einbauen. Es gibt Haftungsprobleme beim Hinzufügen von Routen, die keine echten, ordnungsgemäß gepflegten Fußgängerwege sind. Ein Parkplatz ist zwar begehbar, kann jedoch gefährlich und privat sein. Sie haben ähnliche Probleme mit Parks oder anderen Bereichen, die nicht für Fußgänger geeignet sind. Berücksichtigen Sie diese Probleme sorgfältig, bevor Sie Personen durch diese Bereiche führen.

Sean
quelle
+1 - Sie könnten auch eingezäunt sein oder Entwässerungsgräben entlang des Umfangs haben usw.
Drew
1

Ja, das Problem sind die OSM-Daten selbst. Für das Routing benötigen Sie ein Netzwerk aus Linien (Kanten) und Links (Eckpunkten). Das Polygon ist ein weiteres Problem. Ich denke, der einfachste Weg, damit umzugehen, besteht darin, zusätzliche Pfade direkt in JOSM zu zeichnen. In osm2po gibt es zwei Alternativen für Fuß / Fahrrad / Auto. Erstellen Sie entweder ein Diagramm für genau einen Anwendungsfall oder erstellen Sie ein Mehrzweckdiagramm (mit allen Straßen, Pfaden usw.) und treffen Sie Entscheidungen dynamisch beim Durchlaufen (Routing). Für letztere können Java-Kenntnisse erforderlich sein. Um einen ersten Eindruck davon zu bekommen, wie dies funktionieren könnte, werfen Sie einen Blick in die aktuelle Plugin-JAR (Quellcode ist beigefügt). Dort finden Sie einen Router, der eine Minute an Verkehrssignalen wartet.

Carsten
quelle
Danke Carsten - ich kann sehen, dass JOSM ideal wäre, aber ich versuche dies für ganz Kanada / USA zu tun. Ich denke, nur ein Polygon in mehrere Pfade umzuwandeln, würde in meiner Situation funktionieren, da ich nur versuche, eine grobe Gehzeit / Entfernung zu erhalten (ohne die tatsächlichen Routenrichtungen anzuzeigen). Ich frage mich also, ob es eine Möglichkeit gibt, die Polygone von osm2po in Pfade konvertieren zu lassen, bevor das Diagramm erstellt wird, oder
ob
osm2po konvertiert keine Polygone. Dies muss in einem weiteren Vorverarbeitungsschritt erfolgen. Wenn Sie die Möglichkeit sehen, Polygone auf einfache Weise umzuwandeln und mit dem Straßennetz zu verbinden, sehe ich die Möglichkeit, beide Daten zusammenzuführen. Aber wie wirst du es überhaupt schaffen? Polygone können viele innere Löcher haben, wie z. B. Seen. Wie können Sie sicherstellen, dass Ihre Benutzer nicht die ganze Zeit über eine Tauchausrüstung tragen müssen?
Carsten
Ja, ich
verstehe