Hallo zusammen,
obwohl ich kein
Garmin besitze habe ich mir die Openmtbmap trotzdem mal runtergeladen, weil ich mal die Autorouting Funktion testen wollte. Ich muss sagen großes Lob an den (die?) Macher, was besseres habe ich bis jetzt noch nicht gesehen!
Trotzdem muss ich sagen, dass es noch lange nicht das ist was ich mir von einem MTB Autorouting erträume.
Die Openmtbmap ermittelt mir im Prinzip die Lösung für die Aufgabe "Zeige mir den schnellsten Weg von A nach B. Nimm Umweg in Kauf wenn für MTB lohnend."
In 80 % der Fälle suche ich (und wahrscheinlich auch die meisten anderen MTBler und RRler) aber die Antwort auf die Frage "Welches ist die beste Tour vom Startpunkt A die X km lang ist?"
Ich habe lange darüber gedacht wie man das am besten verwirklichen könnte und wollte mal von den anwesenden Programmierern wisssen ob so was theoretisch möglich wäre.
Im Prinzip handelt es sich ja um eine Nutzenmaximierung. Ich habe 50km zur Verfügung und möchte dafür den maximalen Bikespass erhalten.
Man müsste also für jeden Way in der OSM einen Nutzwert pro Streckeneinheit errechnen.
Wie errechnet sich der Nutzwert einer Streckeneinheit fragt ihr jetzt natürlich. Als Grundlage sehe ich erstmal die highway, tracktype und mtb:scale tags. In der Routingsoftware meiner Träume stellt man erstmal den Radfahrertyp ein.
Ich finde die in der Diskussion zum tag cycleworth vorgeschlagenen Typen MTBler, Radroutenfahrer/Tourist, Pendler und RRler ziemlich perfekt.
Durch diese Einstellung wird dann ein Preset geladen das die tags in eine Ordnung bringt und mit Punkten pro gefahrenen km versieht. Einmal für aufwärts und einmal für abwärts fahren. Für MTB aufwärts wäre im Preset dann z.B. für tracktype=2 dann +10 Punkte pro km hinterlegt, für Autobahn oder mtb:scale=5 dann -100 oder was auch immer. Das wäre dann natürlich alles nach persönlichen Vorlieben nachjustierbar.
Als weitere objektiv messbar Komponente würde ich das incline tag als Faktor einrechnen. Man nennt der Software also den Steigungsgrad den man am liebsten hochfährt z.B. 8%.
Dann würden z.b. alle Nutzwerte die bei 8% Steigung gefahren werden nochmal um z.B. 20% erhöht werden, Steigungen von 7% oder 9% würden eine Erhöhung des Nutzwerts von 18% bringen usw.
Dann würde ich als Restkomponente noch das cycleworth tag heranziehen.
Ist z.b. cycleworth:mtb=+3 gesetzt wird der Nutzwert nochmal mit z.B. 1.5 mutipliziert bei -3 dann vielleicht mit 0.5.
Ein 10km langer mit 8% ansteigender und mit cycleworth:mtb= +3 getaggter Schotterweg hätte dann den Nutzwert 10km * 10Punkte/km *1,2 *1,5 = 180 Punkte.
Ein Algorithmus müsste dann solange alle Strecken die zusammen nicht länger als 50km sind miteinander kombinieren bis kein höherer Nutzwert mehr gefunden werden kann.
Hört sich doch gut an oder?
So und jetzt nochmal die Frage: Ist das umsetzbar? Bitte sagt ja...
Wo liegen die größten Hürden? In welchen Fällen würde dieser Algorithmus falsche/schlechte Lösungen liefern? (eigentlich ja nie wenn man die perfekten Einstellungen gefunden hat

)
Grüße
Cornholio