BRouter / estimated_traffic_class

Hab’s jetzt doch mal geschafft, einen ersten Wurf für Verkehrs-Fluss-Schätzungen in BRouter zu implementieren. Das ist das Thema, was ich in dem Lightning Talk auf der FOSSGIS in Münster kurz diskutiert hatte ( 2. Talk ab ca. Minute 6 in https://youtu.be/_dtnHn71Ejk?list=PLTli5-lbeoiYopkK5ixkgt1Uzh_0v6Z6T )

Geht also darum, ein Pseudo-Tag für die geschätzte Verkehrsbelastung einer Strasse aus dem Strassennetz selbst zu generieren. Dazu nehme ich das einfache Modell, dass alle Leute von zuhause auf dem kürzesten Weg zur Autobahn und zuürck fahren wollen, summiere den Verkehr entsprechend auf und schreibe ab einer gewissen Schwelle die Summe als Pseudo-Tag an den Weg.

Die Fläche wird also, ausgehend von den Autobahnanschlusspunkten, baumförmig erschlossen. Optisch dargestellt für den Süd-West-Quadranten Deutschland hier: http://brouter.de/brouter_bin/traffic_E5_N45.png Zu jedem 5x5 Grad Quadranten wird 1 Grad Rand mitberechnet für das Strassennetzt und 5 Grad Rand für das Autobahnnetz, um keine Artefakte an den Kachelrändern zu bekommen.

Die Verkehrssumme drückt grob gesagt aus, wieviel Meter Wohnstrasse (oder <= Tempo50 Strasse) eine Strasse versorgt, wobei diese Versorgungsbeziehung noch entfernungsabhängig untersrückt wird mit 20km Längenskala. Für das Pseudotag wird dieser Wert logarithmiert bzw. folgendermassen gemappt:

summe > 5000 estimated_traffic_class=1
summe > 10000 estimated_traffic_class=2
summe > 20000 estimated_traffic_class=3
summe > 40000 estimated_traffic_class=4
summe > 80000 estimated_traffic_class=5
summe > 160000 estimated_traffic_class=6
summe > 320000 estimated_traffic_class=7

Ich habe diese Tags in die aktuellen RD5-Files reingerechnet, erstmal nur für die 4 5x5-Quadrate für Deutschland und bisschen drumrum. Plan ist aber, sie weltweit zu rechnen.

Man kann die sich anschauen in BRouter-Web, mit dem wundervollen Feature, unten rechts in dem “Data” Reiter die Tags zu sehen und über farbliche Kennzeichnung dem jeweiligen Abschnitt der Route zuzuordnen. Hier mal 2 Beispiele, wo ich persönlich schon in die Falle getappt bin. Beide werden als “class 4” gekennzeichnet, was für highway=secondary das obere Extrem ist:

http://brouter.de/brouter-web/#zoom=13&lat=50.466&lon=7.8567&layer=OpenStreetMap&lonlats=7.889814,50.486129|7.847843,50.475806&nogos=&profile=fastbike&alternativeidx=0&format=geojson

http://brouter.de/brouter-web/#zoom=13&lat=49.4581&lon=8.6508&layer=OpenStreetMap&lonlats=8.662119,49.475905|8.681645,49.476128&nogos=&profile=trekking&alternativeidx=0&format=geojson

Ich habe noch nicht versucht, diese Tags in den Profilen auszuwerten, obwohl das natürlich das Ziel ist. Ich will erstmal bisschen Erfahrung sammeln und Feedback von Euch einholen, ob diese Klassifizierung plausibel ist oder wo sie es nicht ist. Also er auf die Idee kommt, sein Profil gegen dieses neue PSeudo-Tag nach-zu-justieren, sollte noch etwas damit warten, weil ich vielleicht nochmal an der Skala drehen will oder auch am Berechnungsverfahren. Z.B. durch eine zusätzliche Iteration, damit die Auto-Simulation sich schon selbst ausweicht und der Verkehr sich bisschen breiter verteilt, weg von dieser strikten Baumstruktur.

Jedenfalls würde ich mich über Feedback freuen.

Einerseits hege ich die Befürchtung, dass das System etwas doppelgemoppelt ist. Siehe dein Videobeispiel. Bei der befahrenen Kreisstraße wird das Routing auf die genügend vorhandenen untergeordneten Straßen ausweichen. Da wo es keine Ausweichmöglichkeit gibt, ist wenig Verkehr und das routing führt dann auch auf die entsprechende Kreisstraße.

Weitere Befürchtung, wie spiegelt man die “vielen” Unterklassen in Kostenfaktoren wieder, sodass sie Wirkung haben, aber nicht das Routing unsinnig machen. Wieder dein Videobispiel, für wie viele Möglichkeiten von den möglichen Möglichkeiten hat diese Information einen wirklichen Effekt? Ich vermute ziemlich wenige.

Ich vermute viel Aufwand für wenig praktischen Nutzen.

Eine graphische Darstellung in einem Kartenrendering wäre nützlicher, weil besser bei Planungen nutzbar. Bei deinem Video Beispiel, ist es doch so, dass ich mich für einen zusätzlichen Umweg entscheide, wenn ich weiß, die andere Straße ist ruhiger. Rechnet der Router mich auf die verkehrsreiche Straße und ich vermute nur, die andere ist verkehrsärmer, bin ich weniger zu einem Umweg bereit. So wie es momentan gedacht ist, habe ich als Nutzer keinen Hinweis, dass Routing zu hinterfragen und gezielt einzugreifen, weil die Information der Verkehrsdichte mir als Nutzer nicht mitgeteilt wird.

Interessant wäre ein Vergleich zwischen Taunus und Spessart. Das Bild auf der Karte ist ähnlich, aber der Verkehr im Taunus ist meiner Erfahrung dichter. Vermutung, weil die Dörfer im Taunus größer sind. Ob das Taggingsystem von OSM reicht, um damit zu rechnen, weiß ich nicht.

Weiter Überlegung, die Anzahl der Spuren (an Kreuzungen) ist auch ein Hinweis auf Befahrenheit. Vielleicht das auch einbauen.

Naja, wenn’s einfach wäre, dann könnt’s ja jeder :slight_smile:

Also das Ziel ist ganz klar, ein Road-Bike Profil zu erstellen, dass starken Verkehr besser umfährt als “fastbike” das tut. Hier mal ein anderes Beispiel, wo ich mit einem Sperrkreis die “richtige” Strecke gewählt habe:

http://brouter.de/brouter-web/#zoom=12&lat=50.45&lon=7.9963&layer=OpenStreetMap&lonlats=8.103404,50.39402|8.000793,50.502728&nogos=8.026543,50.472365,1364&profile=fastbike&alternativeidx=0&format=geojson

Nimm den Sperrkreis weg, und Du landest für nur 1km Kostenersparnis in der Verkehrs-Hölle. Die Idee mit den Verkehrs-Dichte-Tags ist, dass sich solche Strassen quasi selber sperren, nicht radikal, sondern nur mit einem leichten Kostenauflschlag, der die Lösung dann auf die (meist mit mehr Steigung verbundene) Alternative schiebt.

Würde man eine solche Justierung nur aufgrund der vorhandenen Tags versuchen, dann ginge das in den ablegegenen Gegenden aber schief. Also braucht man mehr Information. Die Frage ist, ob man die aus einer statischen Simulation bekommt, und bisher ist das Ergebnis zugegeben nicht wirklich überzeugend. Aber da geht noch was. Meine Idee ist, die Simulation zu erweitern um verschiende Durchläufe mit Richtungspräferenzen (man will ja nicht wirklich zum nächsten Autobahnanschluss, sondern in eine bestimmte Richtung reisen) und um eine weitere Iteration, damit die Simulation auch schon das eigene Ergebnis beachtet. Dann heben sich die wirklichen Hotspots, wo’s halt wirklich nur eine Zufahrt zu einem grösseren Gebiet gibt, noch schärfer ab, und die kann man dann meiden.

Fastbike ist für dich Rennrad? Rennradler sind ja von der Alternative tracktype=grade1 und paved nicht unbedingt begeistert.

Anyway, irgendetwas stimmt nicht.

Schau dir mal das hier an http://brouter.de/brouter-web/#zoom=15&lat=50.1214&lon=8.68276&layer=OpenStreetMap&lonlats=8.691945,50.127539|8.688898,50.118019&nogos=&profile=fastbike&alternativeidx=0&format=geojson

Die Friedberger Landstraße als class1 und class2 kann nicht sein. An der Straße wird wegen der Verkehrsbelastung im Mietspiegel ein Abschlag einberechnet.

http://brouter.de/brouter-web/#zoom=15&lat=50.1214&lon=8.68276&layer=OpenStreetMap&lonlats=8.682761,50.127677|8.680916,50.122257&nogos=&profile=trekking&alternativeidx=0&format=geojson

In der Bleichstraße gilt diese Mietspiegeregelung nicht, die hat aber gar keinen class-Wert bekommen. Wobei die meisten Hauptstraßen bei meiner Stichprobe in Frankfurt keinen class Wert hatten.

Und dass die Landstraße in deinem letzten Beispiel betriebiger ist (http://brouter.de/brouter-web/#zoom=14&lat=50.47968&lon=8.02928&layer=OpenStreetMap&lonlats=8.035984,50.471218|8.028259,50.483726&nogos=&profile=fastbike&alternativeidx=0&format=geojson) als eine Frankfurter Innenstadtverkehrsader wie die Friedberger Landstraße, bezweifle ich extrem.

Edit: http://brouter.de/brouter-web/#zoom=15&lat=50.02116&lon=9.35644&layer=OpenStreetMap&lonlats=9.355888,50.027869|9.357691,50.027318&nogos=&profile=fastbike&alternativeidx=0&format=geojson Die Straße kenne ich. Class2 wie die Friedberger. Ernsthaft?

http://brouter.de/brouter-web/#zoom=16&lat=50.28301&lon=8.56753&layer=OpenStreetMap&lonlats=8.569475,50.281881|8.57028,50.278343&nogos=&profile=trekking&alternativeidx=0&format=geojson Die B456 hat dieselbe class wie die L725. Die B456 ist dort eine Umgehung der L725 in Wehrheim.

Von meinen Stichproben her, so wie es sich mir darstellt, taugt das System momentan nicht.

Hallo Arndt,

ich habe auch mal etwas damit gespielt, aber wohl nicht ganz verstanden. So werden Kxx Strassen nicht klassifiziert zB.: hier die K1642 die fernab von eine Autobahn liegt http://brouter.de/brouter-web/#zoom=13&lat=49.0199&lon=8.9537&layer=OpenStreetMap&lonlats=9.001579,49.017608|8.917294,49.027964&nogos=&profile=trekking&alternativeidx=0&format=geojson

…oder hier mit den Alternativen Lxx oder Kxx http://brouter.de/brouter-web/#zoom=13&lat=49.0236&lon=8.9499&layer=OpenStreetMap&lonlats=9.001579,49.017608|8.928623,49.058345&nogos=&profile=trekking&alternativeidx=0&format=geojson

In diesem Zusammenhang komme ich auf meinen alten Vorschlag zurück, dass man BRouter lernfähig macht und diesem bevorzugte Strecken vorgeben kann. So könnte man zB. vom BRouter Webinterface die heruntergeladenen Strecken auswerten und zB. in einer DB speichern. Einflußfaktoren sollten sein Profile, vom User vorgegebene Vias, NOGO Gebiete, Oberflache, Häufigkeit der Teilstrecken Länge der Strecke etc.
Ich gehe mal davon aus, dass wenn ein User eine Route erstellt im Bereich bis zu 100-200 KM, dass er das Streckennetz kennt und mit der Zeit modifiziert. Es könnte so eine Benutzer sein eigenes,bevorzugtes Streckennetz aufbauen.

Wie ist da Deine Meinung dazu?

Das scheint zumindest mir erfolgsversprechender zu sein.

Viele Grüsse
Achim

.

Diese Links dürften für dich ein gefundenes Fressen sein: https://mobil.hessen.de/irj/HSVV_Internet?rid=HMWVL_15/HSVV_Internet/sub/9c3/9c37501f-e07c-431f-012f-31e2389e4818,22222222-2222-2222-2222-222222222222.htm

http://www.mbwsv.nrw.de/presse/pressemitteilungen/Archiv_2012/2012_01_04_Verkehrszaehlung/Verkehrsstaerkenkarte_2010.pdf

Hallo,

ich hab mir das jetzt auch mal stichprobenmäßig angeschaut. Scheint hier im eher ländlichen Gebiet bei den wenigen von mir betrachteten Straßen ganz gut zu passen. Leider waren aber anscheinend nicht alle größeren Straßen (pseudo-) getaggt. Oder ist das vielleicht nur ein Bug im Data-Tab von brouter-web?

Ich finde die Idee aber schonmal sehr interessant, auch wenn es für mich persönlich vielleicht nicht ganz so relevant ist (Mountainbiker). Ich bin auf jeden Fall gespannt, wie sich das noch weiter entwickelt.

Gruß

vielen Dank erstmal für die Rückmeldungen.

Dass es in Ballungszentren (noch) nicht funktioniert ist mir auch aufgefallen. Ich werde da nochmal eine Runde drehen und sehen wie weit ich komme und melde mich dann wieder. Die amtlichen Daten zu den Verkehrszählungen in Hessen sind tatsächlich sehr interessant und kannte ich bisher nicht.

@womisa: keine Klassifizierung heisst unter dem Schwellwert und dass das auf dem platten Land so rauskommt, dass ist gerade das Ziel.

Du denkst dir, wenn ich es richtig verstanden habe, die Autobahn als Kristallationspunkt. Aber eigentlich sind es die Ballungszentren, in die die Menschen wollen. Die Autobahn ergießt sich in den Ballungsraum und die Stadtinsassen nehmen die Hauptstrassen zusätzlich in Anspruch.

Vielleicht wäre ein andere Komponente oder sogar System, wie viele und welche Zuführungen hat eine Straße.

Die sind wirklich interessant. Ich habe mal in der Fuldaer Gegend rumprobiert und ich fand deine Klassifizierungen sind nicht sehr verlässlich. Wenn 8000 auf der selben Bundesstraße keine Klasse bekommen und und 10 Kilometer weiter 5000 eine class3, dann ist das komisch. Die B3 bei Butzbach bekommt bei 17000 Zählern keinen classtag oder class1. Aber die B38 bei Reinheim bei 15000 class4. Die B426 nebenan mit 5000 class3.

Aber als ich mir die Zählstellenergebnisse angesehen habe, würde ich dazu tendieren, class1 noch mal in drei oder vier Stufen zu Unterteilen. Landstraßen mit Zahlen von um die 1000 Autos pro Tag sind keine Seltenheit. 1000 bedeutet ungefähr alle zwei Minuten ein Auto. 5000 pro Minute 2 Autos. Ist psychologisch ein gewaltiger Unterschied. Diese Landstraßen werden bei dir nicht mehr ausdifferenziert.

Edit: http://strassenbauverwaltung.mvnet.de/cms2/LSBV_prod/LSBV/de/_Service/Strassenverkehrszaehlungen/_Links/download/_downloads/vmk2010_druck8395800208470722849.pdf MVP ist kein Ballungsgebiet. Vergleich mal die B110 von Rostock ab mit deinen Klassen.

Von Berlin gibt es so eine Karte auch. http://www.stadtentwicklung.berlin.de/verkehr/lenkung/vlb/download/verkehrsmengen_2009.pdf Damit kannst Du dein Konzept in einem Ballungsraum überprüfen.

Suchanfrage ist: Verkehrsmengenkarte $Bundesland

Der Großteil des Verkehrs wird nicht von den Autobahnen kommen, sondern eher Verkehr in der näheren Umgebung zur Arbeit, Besorgungen, etc sein. Wenn man sich die Statstik bei den Pendlern ansieht sind ungefähr 50% der Fahrten unter 10km, 80% unter 25km und 90% unter 50km.

Um das grob Nachzubilden könnte man die Karte in Raster unterteilen. In der Mitte jedes Raster started man einen Suchlauf ähnlich wie bei der ursprünglichen Schätzung den man aber bei ca. 50km abbricht. In diesem Raster ermittelt man die gesamte Wohnstrassenlänge. Das Ergebnis wird als Faktor für die berechneten Wege und ihrer Nutzungshäufigkeit verwendet. Anschließend addiert man alle Berechnungen. Die Nutzungshäufigkeit in dem jeweiligen Raster wird man verwerfen müssen da sie zu stark von dem Startpunkt geprägt ist, was aber wahrscheinlich nicht so dramatisch ist da sie von den benachbarten Suchläufen ausreichend ermittelt werden.

Der Rechanaufwand wird erheblich größer als bei dem ersten Ansatz sein, wenn er überhaupt zu leisten ist, denn selbst bei einem Raster von 10 km wird er mehr als 70 mal so hoch sein.

Weil ich diesen Sommer drei Wochen Radreise in D machen will und mich diese Frage fasziniert, habe ich weitere Verkehrsmengenkarten mit deinen Ergebnissen verglichen.

Solche Klassenwechsel ohne erkennbaren Zufluss fand ich häufiger.

http://brouter.de/brouter-web/#zoom=14&lat=54.207&lon=12.201&layer=OpenStreetMap&lonlats=12.225037,54.241256|12.211819,54.199655&nogos=&profile=fastbike&alternativeidx=0&format=geojson
http://brouter.de/brouter-web/#zoom=13&lat=49.5959&lon=10.1541&layer=OpenStreetMap&lonlats=10.23325,49.571874|10.197544,49.573989&nogos=&profile=fastbike&alternativeidx=0&format=geojson

Also stillschweigend gehe ich davon aus, dass deine Verkehrssummenzahl sich direkt proportional zu den Zählzahlen verhält.

Betrachte ich jetzt die von mir deutschlandweit gesehenen Zählzahlen (200-30.000 ohne Ballungsräume), dann kann man bei deinen Zahlen eine 0 Streichen und man hat fast die gleiche Zahlenspanne.

Weiter oben schreibst Du

Es fällt auf, dass ich nirgendwo etwas höheres als class5 gesehen habe. Letztendlich würde nach meinen Vergleichen sagen, ich würde eher alles über einem bestimmten Wert nicht klassifizieren. Ob 15000 oder 20000 reale Zähler ist egal. Aber ob 200, 2000, 5000 ist interessanter. Aber dieser Bereich ist extrem oft ohne Classzuweisung.

In Betracht auf meine Radreise finde ich die Ergebnisse verglichen mit den Mengenkarten eher schädlich bis leicht irreführend.

Der Ansatz ist auf alle Fälle nicht der Schlechteste :wink:
Den Verkehr in Ballungsräumen könnte man mit einbeziehen, wenn man zu den Autobahnanschlüssen auch die Knotenpunkte dazunimmt, an denen trunc/primary auf trunc/primary treffen.

Hab’ die Verkehrs-Simulation jetzt nochmal erheblich erweitert und will das Ergebnis einfach mal grafisch zeigen, dazu habe ich das Pseudo-Tag visualisiert in 100 einzelnen PNG-Datein für je ein 1x1 Grad Quadrat:

http://brouter.de/brouter_bin/traffic_pics/

Das Rhein-Main Gebiet wäre also beispielsweise: http://brouter.de/brouter_bin/traffic_pics/E8_N50.png

Die Falschfarben für die 7 Stufen estimated_traffic_load=1…7 sind dabei: dunkelgrau-grau-gün-gelb-orange-rot-violett, und die Autobahnen sind blau.

Die Simulation hat jetzt einfach viele Parameter und ich hab’ bisschen damit rumprobiert, so dass es halbwegs Sinn macht. Die wesentliche Änderung ist, dass die Verkehrs-Quelldichte mit der Entfernung mit der Entfernung vom nächsten Autobahnanschluss reziprok (genauer: mit dem Exponenten -0,8) abnimmt. So bekomme ich den Vekehr in die Ballungszenmtren und raus aus der Fläche. Natürlich sind da grobe Fehler drin, aber so die grobe Linie, dass man Verkehrs-Hotspots von abgelegenen Gegenden unterscheiden kann, ist auch drin.

Die neuen Tags sind derzeit nur im “alternativ-Datensatz” auf meinem Server, den man über “assign forceSecondaryData = true” auswählen kann. Nach dem nächsten Präprozessor-Lauf werden sie dann in den downloadbaren rd5’s drin sein.

Und ich habe ein Profil “fastbike-lowtraffic” in brouter-web hinzugefügt, dass einen Strafterm für verkehrsreiche Strassen enthält, von dem Pseudo-Tag also so gebrauch macht, wie ich mir das gedacht habe: nur wenn die Strasse keinen Radweg hat und die Verkehrsschätzung gemessen an der Strassen-Kategorie ungewöhnlich hoch ist, dass gibt es einen Kostenaufschlag.

In meinen Tests mit den mir bekannten Problemstellen hat das halbwegs Sinn gemacht. Z.B. habe ich diese Auffahrt in den Odenwald gefunden, die man mit “fastbike” nicht findet:

http://brouter.de/brouter-web/#zoom=12&lat=49.5974&lon=8.6973&layer=OpenStreetMap&lonlats=8.65242,49.609598|8.814125,49.564192&nogos=&profile=fastbike-lowtraffic&alternativeidx=0&format=geojson

Ich habe eine einfache Leaflet-Karte (GitHub Gist) gebastelt , um die Bilder anzuzeigen. Per Mausklick wird die entsprechende Kachel geladen.

Zu einer normalen OSM-Karte in EPSG:3857 (Spherical Mercator) Projektion passen die PNG-Dateien nicht ganz, deshalb wird als Hintergrund ein WMS-Dienst in von terrestris in EPSG:4326 (Equirectangular) verwendet.

@abrensch: kannst Du gerne auf Deine Website übernehmen, wenn Du magst.

Gruß,
Norbert

Also ich habe die Karte im Firefox 38.0.5 unter Windows 8.1 64-Bit ausprobiert.

Die Hintergundkarte ist in Grautönen, die Kacheln dunkelgrau und so wenig transperent, sodass ich Probleme habe den Hintergrund brauchbar zu erkennen. Was ich aber erkenne, dass der Hintergrund nur bis zu - ich sage mal - Zoomstufe 11 oder 12 mitzoomt, dann nicht mehr.

Langer Rede kurzer Sinn, ich kann auf der Karte zu wenig erkennen.

Eine Legende, was für eine Farbe für eine Verkehrsklasse ist, habe ich nicht gefunden.

Ja, da könnte ich evtl. noch einen Slider und den farbigen Layer einbauen, wollte das halt schlank halten und nicht so viel Aufwand reinstecken.

Sollte schon gehen, dauert nur etwas lange.

Würde eigentlich dazu gehören, aber da muss die Beschreibung aus #13 reichen:

ja cool. ich kann das gut lesen, hatte aber natuerlich auch schon eine Weile solche Grafiken angestarrt. Die kleinste Klasse ( 1 = dunkelgrau ) hat zwar tatsaechlich wenig Konstrast, aber die ist nicht so wichtig.

Ich verstehe davon nicht viel. Hatte einfach jedes 1x1 Grad Quadrat in ein 2000*1285 Pixel PNG gerendert. 1285/2000 = cos(50 Grad), also die durchschnittliche Latitude.

Das ist wirklich nur die index.html mit dem eingebetteten Javascript? Und da kann ich auch den Bereich anpassen, wenn ich mehr von Europa rechne?

Hatte vor 2 Wochen einen Zufalls-Chat im Zug mit einem Verkehrsplaner, und dem von meinen Versuchen erzaehlt. Der kannte den Markt offenbar ganz genau und hat mir gleich gesagt, dass eine Firma aus Karlsruhe bei solchen Verkehrsmodellen führend ist, und die auch einige Navi-Hersteller damit versorgt. Die haben also genau das, was wir eigentlich bräuchten: ein an Verkehrszählungen kalibriertes Simulationmodell:

http://vision-traffic.ptvgroup.com/en-uk/products/traffic-data/transportation-models/

Ich glaube, da müssen wir auch hin. Die reine Simulation ohne Daten-Input ist zwar besser als nichts, aber sie ist eben auch nicht gut.

Gibt es ein Verbot, dass Du dein Modell mit den Verkehrsmengenkarten von D abgleichst. Oder hat diese Firma wesentlich bessere Daten als die Verkehrsmengenkarten?

Hab gerade aktualisiert, jetzt mit Transparenz-Regler und Farb-Layer.

Ja, nur die index.html, hab das bewußt einfach gehalten.

Das Klicken und Laden müsste weltweit funktionieren. Der Rahmen ist nur zur Orientierung und den initialen Zoom und kann in dieser Zeile geändert werden:


    var picBounds = L.latLngBounds([[45, 5], [55, 15]]);

Könnte mir vorstellen, dass man grobe Verkehrszählungen als Open Data bekommen kann, GUFSZ hatte da ja schon was verlinkt.

Ich persönlich bevorzuge allerdings eh Straßen/Wege, auf denen Autos gar nicht fahren dürfen.

Beim Spiegel sind solche Rechnungen jetzt Kunst:

http://www.spiegel.de/auto/aktuell/datenprojekt-roads-to-rome-von-wegen-a-1067153.html

Ist wirklich genau der gleiche Algrorithmus, nur dass ich noch für das Autobahnnetz die Kosten auf 0 gesetzt habe, um nicht von einem Punkt auszugehen, sondern vom gesamten Netz.