RWK jetzt mit Reiter- und Wanderer-Navigation

Hallo Nop

Nach einiger Zeit habe ich heute noch einen Versuch mit dem Reit- und Wander-Routing gestartet.
Es funktioniert endlich auch bei mir!

Ob die Routenvorschläge in allen Teilen sinnvoll sind, vermag ich nicht zu beurteilen. Im Groben sehen sie vernünftig aus. Eine Einstellung “Einfach” (möglichst wenige Abzweige) wäre eine gute Ergänzung. Ständig links/rechts abzubiegen entspricht nicht unserem Empfinden. (Das gilt aber für die meisten Routing-Algorythmen)

Der einzige offensichtliche Fehler liegt an fehelrhaften OSM-Daten.
Die Einstellung Wandern liefert (wie zu erwarten) kürzere Routen als die Einstellung Reiten.

Edbert (EvanE)

Damit hast Du sicher recht, das Thema habe ich selbst auch schon mit Navi-Autoren diskutiert. Leider ist es ein Grundsatzproblem aller mir bekannten Router, inklusive professioneller Engines, daß Geradaus oder Abbiegen nur schwer zu fassen ist. Manchmal erkannt man das an merkwürdigen Abbiegehinweisen, wo Anweisung der Navi und gefühlte Kreuzungstopoligie auseinaderlaufen was jetzt geradeaus oder links/rechts ist. Ich kenne auch keine Navi mit der Routenoption “häufiges Abbiegen vermeiden”. Die meisten Auto-Navis versuchen das Problem zu lösen, indem sie stark an den höchsten Straßentypen kleben und “größter Hauptstraße folgen” mit “geradeaus” gleichsetzen. Im Offroadbereich könnte man das durch stärkere Betonung von markierten Wanderwegen bzw. Folgen einer bestimmten Wegmarkierung tun. Beides führt aber zu Umwegen. In den OSM-Daten selbst findet man keine Hinweise auf “geradeaus”. Ein OSM way kann an einer Kreuzung scharf abbiegen, insbesondere wenn geradeaus ein leicht anderes Tagging hat. Geradeaus-Wege sind häufig für leicht anderes Tagging oder Relationszugehörigkeit aufgeteilt oder für MP-Wiederverwendung völlig sinnlos fragmentiert. Von daher muß eine Navi die Toplogie ohne manuelle Hinweise analysieren.

Wäre aber cool wenn das mal ein Router könnte.

bye, Nop

Ist das nicht nur eine Frage wie so ein Routinggraph aufgebaut wird?
Wenn natürlich ein Knoten als Knoten behandelt wird, dann hat man wenig Chancen darauf einfluss zunehmen, bzw. ist es sehr schwer. Aber man kann und wahrscheinlich muss man für Abbieger sogar den Knoten zerlegen und erhält dadurch mehr oder weniger neue Kanten, welche man jetzt nur noch geschickt bewerten muss. Dabie kann eben ein “rechts” Abbiegen mit 1,1 ein Linksabbiegen mit 1,5 und geradeaus mit 1,0 eingehen. Damit würde man bei gleichen Bedingungen schonmal Abbiegevorgänge vermeiden. Sehr einfach erscheint mir die Umsetzung bei Straßen zu sein die nicht unterbrochen sind. Also über den Knoten hinausführen. Hier ist klar was abbiegen ist und was nicht. Ebenfalls recht einfach sollte das bei Kreuzungen sein wo nur einen hochrangige Straße vorhanden ist. Damit könnte man denke ich schon viele Probleme erschlagen oder?

Nicht ganz. Natürlich muß es im Graphen veranktert werden, aber Du mußt ja auch noch aus den Rohdaten herausfinden, was “links abbiegen”, “links halten” und “leicht links als gradeaus empfunden” und “geradeaus” ist. Denk dran, die Originalfrage bezieht sich auf Wanderer-Navigation. Bei Feldwegen kann man noch nicht mal sagen: “Anhand der ref der Hauptstraße folgen betrachte ich als geradeaus”. Insgesamt alles sehr knifflig, ich würde es noch als Forschungsgebiet betrachten.

bye, Nop

Hallo Nop

Offensichtlich ist das für Fußgänger, Reiter und Fahrradfahrer bei weitem nicht so einfach, wie ich mir das in meiner Naivität gedacht habe, leider.

Dennoch gibt es bei Menschen einen Vorzug für geradeaus, meist einschließlich leicht links/rechts.
Bei Reitern würde ich markierte Reitwege einen Bonus geben. Nicht jeder Weg, an dem nichts zu Pferden vermerkt ist, darf tatsächlich von Reitern benutzt werden. Entsprechend natürlich auch für Radfahrer (aber das ist ja nicht dein spezielles Thema).

Eine Bevorzugung von markierten Routen hast du ja bereits eingebaut.

Für PKW-Navigation stellt sich das insgesamt einfacher dar (z.B. Hauptstraße folgen). road_class und road_speed geben da bereits gute Hinweise fürs Routing.

Edbert (EvanE)

Ich habe keine Ahnung wie einfach die Geschichte ist. Eine PTV Visum schließt aus der Winkelgeometrie auf den Typ des Abbiegers. Also ab einem bestimmten winkel verändert sich der Typ von 1 zu 2 oder 3. 4 ist der U-turn.
Auf OSM Daten übertragen müsste man also in einem bestimmten Umkreis um den Kreuzungspunkt (10 m vielleicht) Die Strecken schneiden und dann mal die Winkel zu der Richtung ermitteln aus der man gerade kommt. Wobei die Unterscheidung ja auch nicht aufs Grad genau sein muss, da man ja nur die Alternativen bewerten muss.
Die Frage ist ohnehin wie genau brauche ich diese Daten eigentlich, da ich ja nur Alternativen berwerten möchte. Also eine Handvoll Möglichkeiten die fast gleich bewertete werden.
Das kann man dann wahrscheinlich eher nicht mehr mit dem djikstra machen sondern mit einem Branch and Bound Verfahren.

Die Routenvorschläge wurden nochmal überarbeitet und bieten jetzt eine ganze Reihe von Einstellungsmöglichkeiten. Damit haben sie von der Funktion her erst mal ihre geplante Ausbaustufe erreicht.
An Routenoptionen gibt es jetzt für Reiter:

  • markierte Wanderwege: nutzen/ignorieren/meiden
  • Reitverbote: meiden/absteigen und führen
  • Bodenverhältnisse: trocken/naß
  • Verkehrssicherheit: durchschnittlich/gelassen - regelt die Nutzung von Straßen
  • Trittsicherheit: durchschnittlich/erfahren - regelt die Nutzung von steilen und/oder gefährlichen Stellen

Daneben hat der Router gelernt, potentielle Trab- und Galoppstrecken zu identifzieren und zu bevorzugen. Sieht ganz vielversprechend aus, zumindest hat er in meiner Umgebung die bekannten Strecken zielsicher erkannt.

Für Wanderer wird es die Option geben:

  • Anspruch: gemütlich/mit Steigungen

Von der Ausdehnung her sind sie noch begrenzt auf Deutschland. Rückmeldungen dazu wie gut oder schlecht die Vorschläge sind würde ich mich freuen.

bye, Nop

Hallo Nop

Mit den neuen Optionen sieht das Routing für Wanderer und Reiter recht gut aus.

Einige wenige Probleme habe ich jedoch gefunden:

  • An einer Stelle wo ein Umweg wegen highway=cattle_grid notwendig war (ob es dort einen für Pferde geeigneten Bypass gibt vermag ich aus der Erinnerung nicht zu sagen), wurde der Reiter über einen Radweg geroutet.
    Der Radweg ist mit highway=path + foot=designated + bicycle=designated getaggt. Path würde im Prinzip Pferde/Reiter erlauben, das *=designated schließt aber andere nicht explizit erwähnten Verkehrsarten (hier also auch Reiter) eigentlich aus.
  • An einigen Stellen (z.B. Flerzheimer Allee) wurde highway=track gegenüber dem parallel verlaufendem highway=bridleway bevorzugt. Dabei war der Feldweg geringfügig kürzer als der Bridleway. Beide Wege hatten keine Angabe zu Pferden/Reitern.

Bei uns im Kottenforst sind die meisten Feldwege per Naturpark-Verordnung für Reiter gesperrt. Das kann dein Reiter-Routing jedoch nicht berücksichtigen, wenn es wegen Unwissen/Unsicherheit nicht eingetragen wurde. Dort wo z.B. Zugänge explizit ausgeschildert und entsprechend mit horse=no getaggt sind, wird das natürlich berücksichtigt. Vielen Mappern sind die Access-Regeln für Pferde/Reiter eher fremd, so dass sie diese wegen ihrer Unkenntnis nicht eintragen.

Edbert (EvanE)

Hi Nop,

super Features. Vielen Dank für Deine tolle Arbeit!

Planst Du noch was (Optionen) für Radfahrer einzubauen? Das wär dann optimal für die OffroadRoutenplanung.

Vielen Dank
Achim

Hi Nop,

ich hab’ mal die Wanderrouten bisschen probiert, manche Vorschläge sind für mich aber nicht nachvollziehbar, wie z.B. dieser hier:

http://www.gpswandern.de/gpxviewer/tvanzeige.shtml?url=http%3A%2F%2Fh2096617.stratoserver.net%2Ftmp%2Frwt_wandertest.gpx

Der Bogen zur Bundesstrasse macht keinen Sinn, der Weg durch die Wohngebiete nah’ an der Bahn ist sowohl
kürzer und eben auch keine Bundesstrasse.

Würdest Du die Kostenfunktion der Wanderprofile öffentlich machen, dann liesse sich leichter beurteilen,
ob solche Ergebnisse der Kostenfunktion entsprechen oder ob hier Programmfehler reinspielen.

Gruss, Arndt

Danke für’s Ausprobieren.

Erst mal gut daß er auf das cattle_grid reagiert hat, sowas hatte ich in meiner Gegend nicht zum Testen. Wenn es mit horse=yes markiert wäre, sollte es auch nicht zu einem Umweg führen.

Das mit dem Radweg ist mehr oder weniger so notwendig. Leider habe ich schon in der Anfangsphase der Kartenerstellung festgestellt, daß “designated” viel zu oft falsch verwendet wird, an Feldwegen ohne blaues Schild die nur irgnendwie wie ein Radweg aussehen oder z.B. als Radstrecke oder -rundweg ausgeschildert sind. Plötzlich waren die Wälder auf Karte voll von blauen Schildchen.
Durch diese lasche Verwendung ist es nicht möglich, es als hartes Ausschlußkriterium wie in der StVO vorgesehen zu verwenden, es würden viel zu viele Weg völlig sinnlos gesperrt und im schlimmsten Fall gefährliche Routen über die Hauptstraßen gewählt. Nur bei “official” wird der Weg nicht verwendet weil da die Bedeutung klar ist. Derzeit wird designated komplett ignoriert, ich denke ich sollte es noch mit einem leichten Malus versehen, so daß die Wege nicht verwendet werden wenn der Router was eindeutiges, besseres findet.

Derzeit werden footways und cycleways noch hart umgangen, ich bin allerdings eher am überlegen, da auch eine weiche Regelung einzubauen, da auch hier viel zu oft Mapper einfach ihre aktuelle Fortbewegungsart Fuß oder Rad taggen anstatt des tatsächlichen Wegetyps. Hier z.B. http://www.wanderreitkarte.de/index.php?lon=11.1331&lat=49.657&zoom=15 weiß ich daß in dem ganzen Wald kein einziges blaues Schild irgendwelcher Art anzutreffen ist, alle diese Footways sind frei erfunden und würden Radler und Reiter völlig sinnlos aussperren.

Ich denke hier hilft nur mit einem Malus durchrouten und auf die Karte schauen, wo dann z.B. “designated” Radwege mit grauen Schildchen markiert sind.

Danke für das Beispiel - das könnte ein Bug sein. Theoretisch müßte er den Reitweg mit 30% Bonus bevorzugen, was bei der Länge auf jeden Fall funktionieren sollte. Werde ich mal unter die Lupe nehmen.

bye, Nop

Nein. Mit den Reiter- und Wandereroptionen ist der Datenbereich im Routingraphen fast komplett ausgeschöpft (3 Bit habe ich noch frei). Eine weitere Verkehrsart paßt da beim besten Willen nicht mehr rein.

bye, Nop

Danke für’s rumspielen, da hast Du eine interessante Stelle gefunden. Die Route wirkt auf den ersten Blick sehr befremdlich, aber wenn man ganz nah reinzoomt macht sie doch Sinn. Entlang der Bundesstraße ist eine abgetrennter Rad/Fußweg gemappt und er routet über diesen Rad/Fußweg, nicht über die Bundesstraße selbst. Daß daneben noch eine große Straße liegt kann der Router natürlich nicht wissen. Der Weg durch die Wohngebiete ist zwar kürzer, aber der Router erachtet den separaten Fußweg als sicherer als unbekannte Seitenstraßen wo man evtl. auf der Fahrbahn wandern muß.

Man muß auch berücksichtigen, daß es ein Wanderer-Router für’s Gelände ist, der Ortschaften nach Möglichkeit ganz vermeiden soll und wenn dann die sicherste Strecke durch wählen. Rein innerorts würde ich erwarten daß er schlechtere Ergebnisse liefert als ein Fußgängerrouting.

bye, Nop

Das war das Thema, was ich hier diskutieren wollte: http://forum.openstreetmap.org/viewtopic.php?pid=350449#p350449

Ich hatte ja gehofft, dass Peter drauf anspringt, weil er ja den Anspruch hat, eine vielseitige Plattform für Anwendungen zu bauen, und das hier ist genau der Punkt, an dem schonmal mindestens 2 Anwender (also Du und ich) verzweifeln: die feste Wortbreite im Routinggraphen.

Ich (also BRouter) habe zwar 64 bit und Du nur 32, und ich belege die auch anders, nämlich mit einer kompakt kodierten Form der primären OSM Tags und nicht mit teil-interpretierten Weg-Informationen, aber mein Problem ist genau das gleiche: ich schmeisse zu viel Daten weg und kann anschliessend nicht mehr alle Aspekte bedienen (Reiter oder Wheelchair Navigation zum Beispiel oder ein Wander-Profil was Wander-Relationen kennt).

Aber dieses Problem ist rein technisch, von der Datenmenge ist es an sich kein Problem, einfach alles mitzumehmen, es ist halt nur nicht ganz einfach…

Also wenn wir da gemeinsam der Lösung näher kommen können…

Naja, als Verzweifeln würde ich es jetzt nicht bezeichnen. Ich habe alles nötige reincodiert bekommen und andere Betriebsarten hatte ich eh nicht geplant - das überlasse ich dann lieber dedizierten Radroutentüftlern. Bei mir ist der begrenzende Faktor eher der verfügbare Speicher meines Servers. Um über Deutschland hinaus zu routen oder einen dickeren Graphen zu laden brauche ich erst mal einen größeren Server. Für den Moment bin ich mit den 32bit sehr zufrieden und ich denke GH wird in Zukunft da noch flexibler werden. Aber da sind andere Dinge erst mal wichtiger, ich denke ich bin momentan noch der einzige der die vorhandene Wortbreite überhaupt ausnutzt.

bye, Nop

Die Reiteroptionen mit Nass/trocken usw. gefallen mir sehr gut!
Beim Routen fällt mir generell auf, dass Bridleway ungern genommen wird. Auf der anderen Seite werden gerne Pfade genommen, die aber eigentlich von Reitern nicht genommen werden sollen, um entgegenkommende Fußgänger nicht unnötig zu gefährden. Also Pfade vermeiden, aber nicht zu 100%, weil manchmal nicht vermeidbar. Man kann das Problem aber auch jetzt schon durch Setzen von Zwischenpunkten ganz gut umgehen.

Ist mir auch aufgefallen.
Ein Grund könnte sein, dass viele Bridleway ohne horse=* eingetragen sind. Weiter sind eine nicht unerhebliche Anzahl mit horse=official gekennzeichnet. Ob das beim Reiter-Routing berücksichtigt wird oder nicht, vermag ich nicht einzuschätzen.

Edbert (EvanE)

Danke für die Rückmeldung. Das mit dem Bridleway scheint noch ein Bug zu sein, den Grund kann ich bisher nicht erkennen, das muß ich mir noch näher ansehen. Die sollte er natürlich bevorzugen (außer sie sind von der getaggten surface her schlechter als normale Wege. Man sollte es nicht glauben aber manche Leute kommen auf die Idee grober Schotter sei ein toller Belag für einen beschilderten Reitweg. :frowning: )

Pfade lassen sich dagegen sehr gut und angenehm reiten, Begegnungen mit Fußgängern sind bei gegenseitiger Rücksichtnahme überhaupt kein Problem. Deshalb sind sie grundsätzlich im Routing enthalten, bei der Routingoption “naß” werden sie allerdings wegen der drohenden Flurschäden vermieden. Dazu kommt noch eine Unsicherheit, da viele “Pfade” nach meiner Erfahrung nur von Wanderern falsch getaggte Tracks sind. Häufig wurde da einfach der gesamte markierte Wanderweg als “path” eingetragen, komplett ohne Rücksicht auf die tatsächlichen Wegverhätlnisse.

Die gesetzlichen Regeln dafür sind je nach Bundesland völlig unterschiedlich. Teilweise darf man eh nur auf Reitwegen und der Straße reiten, teilweise ist eine Mindest-Wegbreite vorgeschrieben und teilweise ist es überhaupt kein Thema. Der Fußgänger hat normalerweise grundsätzlich Vorrang - übrigens auch gegenüber allen Radlern. Aber eine genaue Abbildung des Routingprofils nach Bundesland bzw. sogar international gibt es noch nicht, das wäre nochmal ein ziemlich aufwändiges Zusatzprojekt.

bye, Nop

Kann es sein, dass jetzt Reitwege mehr bevorzugt werden?

Ja das sieht so aus.

Es werden nicht alle Reitwege genutzt. Das kann aber auch an unvollständigen Daten (fehlende Verbindungen) oder an unvollständigen Tagging (fehlendes horse=yes/designated) liegen. Aber der Anteil an Reitwegen, die für das Reiter-Routing genutzt werden, ist größer geworden.

Edbert (EvanE)