Ich hab mal ein bisschen mit pgrouting rumgespielt. Dass man Routing in einer Datenbank mit SQL erledigt, kommt mir zwar irgendwie schräg vor, aber es funktioniert...
Die Streckenführung ist für Fussgänger ausgelegt, die sehr ungern auf grösseren Strassen rumlaufen. Dafür sollten sie geländegängig sein und keine Höhenmeter scheuen. Der Router empfiehlt nämlich auch einen Weg mit Kletterstellen, falls der auf kürzestem Weg zum Ziel führt.
In der Stadt führt das zu merkwürdigen Strecken, weil der Router lieber einen Trampelpfad durch einen Spielplatz auswählt, statt einfach der Strasse nachzulaufen. Im freien Gelände kommen aber Wege raus, die man auch als Wanderempfehlung kennt. Bei der Entscheidung, ob man der Strecke folgen möchte, hilft auch das mitgelieferte Höhenprofil.