Nahmd,
Weil die Router nur entlang Kanten routen, sind Wege über Flächen wegen des “immer an der Wand lang” Routings im Routing-Ergebnis manchmal länger als in der Realität längere Wege über Straßen, die die Fläche umgehen. Das führt zu überraschenden Routings. Und das kann man verbessern, natürlich ohne den OSM-Datenbestand aufzublasen und ohne in den eigentlichen Router einzugreifen.
Die Grundidee bestand darin, zwischen dem Auslesen der OSM-Daten und dem Preprozessing der Router-Software (möglichst wenig) [virtuelle] Wege einzufügen, die das Routing-Ergebnis verbessern, ohne die Last signifikant zu erhöhen.
Wir finden bereits die Minimalzahl von Wegen, die zu einem optimalen Routingergebnis führt. Soweit ist das Problem gelöst.
Leider sind das oft zu viele, und man müsste ausdünnen: und das kann man auch, weil zum Erreichen des Zieles überhaupt nicht nötig ist, die optimalen Routen über den Platz anzubieten. Es reichen hinreichend gute, und hinreichend bedeutet hier, dass man günstiger wird als der Weg außenherum. Leider ist die Reduktion von den (zu vielen) “optimalen” Wegen auf eine kleine Menge “notwendiger/hinreichender” Wege nicht trivial.
Das ist nicht richtig: Ich kann leicht die Ergänzugsways zu allen 150.000 highway-Flächen weltweit bereitstellen. Z.B. als “osmdiff”, so dass man die in der Verarbeitungspipe irgendwo mit einfließen lassen kann. Aber eben nur die Optimalen, und nicht einen sinnvoll ausgedünnten Satz.
[×] Zustimmung.
Ja natürlich.
Dass aber aus der Überlegung, wie man mit überschaubarem Aufwand einen Router dazu bringt, Flächen zu nutzen statt sie zu umgehen, die Forderung wird, zentimetergenaues Routing um die Tische der Außengastronomie herum zu jedem POI am Randes des Platzes bereitzustellen, ist für Diskussionen hier völlig normal und auch nicht schlimm.
Es liegt einfach daran, dass es einfacher ist, Visionen zu haben, als eine einzige Zeile Code zu schreiben. Und dass Visionen umso größer werden, je weniger Kenntnisse der Realität sie behindern.
Da hilft nur: Popcorn!
Mampfende Grüße: Wolf