mcliquid
(mcliquid)
41
Je nach Routingsoftware kann die Auswahl oder Ausschließung von bestimmten Wegeeigenschaften selbst konfiguriert werden.
Im bikerouter.de kann beispielsweise eine Auswahl von bestimmten Wegoberflächen erstellt werden und diese dann für das Routing ausgeschlossen werden.
Hier wäre beispielhaft eine Selektion von “festen” und “unfesten” Wegen. Die Liste kann ganz nach Belieben verändert werden. Eine Person auf einem TT-Rennrad würde hier wohl Werte wie “sett” oder “paving_stones” in unpaved zuordnen. Eine Person auf einem Downhill würde die Auswahl vielleicht komplett umdrehen, da diese mud lieber mag als asphalt.
assign ispaved = or surface=paved|asphalt|concrete|wood|paving_stones|metal|sett or cycleway:surface=paved|asphalt|concrete|paving_stones|sett ( and surface=concrete concrete=plates|lanes )
assign isunpaved = or surface=unpaved|compacted|gravel|pebblestone|ground|dirt|grass|mud|sand|cobblestone|fine_gravel|earth|grass_paver cycleway:surface=unpaved|compacted|gravel|cobblestone|fine_gravel
Im weiteren Schritt kann dann beispielsweise der tracktype eines highway=track in Kombination mit den oben definierten surface-Werten zu einer Berechnung des Cost Factor verwendet werden. (Je höher der Cost Factor, desto weniger wird dieser Weg für das Routing verwendet)
if ( highway=track|road|path|footway ) then
(
if ( tracktype=grade1 ) then ( 1.0 )
else if ( tracktype=grade2 ) then ( if ispaved then 1.1 else 2.5 )
else if ( tracktype=grade3 ) then ( if ispaved then 10.0 else 9999 )
else if ( tracktype=grade4 ) then ( if ispaved then 15.0 else 9999 )
else if ( tracktype=grade5 ) then ( if ispaved then 20.0 else 9999 )
else ( if ispaved then 1.1 else 3.0 )
)
Ein highway=track mit tracktype=grade3 und einer nicht befestigten Oberfläche (isunpaved) bekommt einen Cost Factor von 9999. Mit diesem Wert wird der Weg ganz niedrig für das Routing eingestuft und nur gewählt, wenn im Extremfall alle anderen Wege die in Frage kommen würden beispielsweise ein access=no haben. Man könnte hier auch ein Wert von 10000 definieren, dann würden die Wege nie verwendet werden.
Hier ein Beispiel von unterschiedlichen “Cost Factor”-Werten in der Spalte $/km:

In diesem Fall hat ein Fußweg mit bicycle=yes eine “schlechtere” Wertung / Cost Factor als eine Wohnstraße mit maxspeed=30. Zumindest in diesem (sehr guten) Fahrradprofil von FFMbyBicycle.
Wie man an dem Beispiel sehr gut sehen kann, reichen bereits drei Attribute in OSM um einen Weg für das Routing auszuschließen. Ein vorhandenes smoothness oder das Vorhandensein einer Fahrradroute auf dem Weg erlauben natürlich noch eine exaktere und detailliertere Berechnung des Cost Factor.
Beantwortet das deine Frage nach dem “Restrouting”?
4 Likes