Routing - schnellste Fahrzeit

Hi, ich nutze osm Daten für Routingberechnungen. In den meisten Fällen möchte ich die Route mit der schnellsten Fahrzeit ermitteln. Dafür habe ich den verschiedenen Fahrbahnarten (primary etc.) eine Durschnittsgeschwindigkeit zugeordnet. Funktioniert soweit ganz gut. Das Problem sind nun aber die “primary”-Wege bzw. die Bundesstraßen bei denen man außerhalb von Ortschaften mit 70 km/h rechnen kann. Wenn eine Bundestraße durch einen Ort führt, dürfte man aber nur mit 30 km/h rechnen. Müßte ich jetzt alle primary/secondary Straßen die durch einen Ort führen mit “maxspeed” versorgen oder geht es irgendwie eleganter? Kann ich an irgendwelchen Tags erkennen ob eine Straße bzw. das Teilsegment in einem Ort ist? Gruß Monty

Soweit ich weiß, nicht einheitlich. Auf der Österreichischen Mailingliste wurde gerade diskutiert, wie ein “Ortsgebiet” (d.h. implizites maxspeed=50) getagged werden kann; Lösung gab es keine wirkliche. Du kannst beispielsweise den Key “abutters” auswerten. Zitat aus dem Wiki: for example a road marked abutters=residential is likely to be slower than one through open country. Ich hab aber bisher nur sehr wenige Straßen so getagged gesehen.

Hallo Monty, genau das brauche ich ebenfalls. Ich denke mal für den gleichen Zweck :smiley: Du wirst uns doch an deinen Erkenntnissen teihaben lassen wenn es soweit ist oder? Kann dir leider aktiv nicht helfen in der Sache. Soo tief stecke ich da nicht drin. Georg (ZLST-LDK) Edit: häufig sind die “bewohnten” Bereiche mit landuse=residential und/oder mit postal_code=… hinterlegt, eventuell hilft das weiter.

Die Ortsgrenzen sind häufig auch gemappt, glaube ich (boundary). Über die würdest Du u.U. rausbekommen, wo eine Straße den Ort verlässt. Bisschen geometrische Rechnung und fertig :wink: Einfach wäre natürlich, wenn die Ortsein- und ausgangsschilder gemappt wären. Das ließe sich ja durch einen Punkt auf der Straße ganz einfach machen. Mal nachgucken … hm … nein, MapFeatures listet sowas komischerweise nicht. Wäre doch mal was, oder?

Ja über die Ortsschilder sollte man mal nachdenken. Da gab es aber schon mal eine Abhandlung drüber, finde sie nur grad nicht wieder :frowning: Die “landuse-Fläche” passt glaub ich in diesem Zusammenhang besser denn sie schließt alle Straßentypen gleich mit ein. Georg

Der große Vorteil bei den Schilder-Knoten wäre aber, dass deren Information direkt für die Routing-SW bereit stünde und dass sie sehr einfach zu taggen und zu überprüfen sind. Außerdem bin ich nicht sicher, dass Ortsschilder immer ein robustes Zeichen für die Gemeindegrenze sind. Kann ja sein, dass sie aus verkehrstechnischen Gründen auch mal ein paar Meter versetzt aufgestellt werden. Schließlich sind das keine Grenzsteine. Aber wenn Du Die Abhandlung noch finden würdest … würde mich mal interessieren, warum das offenbar keinen Anklang gefunden hat. Immerhin sagt Dir fast jede Routing-SW: “Sie passieren nun das Ortseingangsschild zu XYZ-Stadt”.

Hallo, Ortsschilder werden mit traffic_sign=city_limit getaggt. Und zu mindest in meiner Region finden sich bereits einige davon. Doku findet sich unter http://wiki.openstreetmap.org/wiki/DE:Road_Signs. Grüßle, detlef

Viele “administrative boundaries” sind leider noch nicht hinterlegt. Uns würden auch nur die echten Grenzen der “Ortslagen” helfen und nicht die Gemeindegrenzen. Die Erfinder von OpenRouteService.org haben das Problem offensichtlich gelöst, da die Fahrzeiten dort ziemlich genau sind (im Vgl. mit GoogleMaps Fahrzeiten). Aber wie? Intern konnte ich das Problem nur lösen indem ich die berechnete Strecke mit offiziellen Ortslagengrenzen vom Katasteramt verrechne. Dies ist natürlich keine richtige Lösung im Sinne von OSM. Ortsein- und ausgangsschilder wären schon ein guter Ansatz, die sind aber auch kaum versorgt.

Hm. Also der Link von Zottel führt ins Nichts. Aber immerhin scheint es das tag zu geben … allerdings … mir von Namen her müsste es passen, doch von der Verwendung her scheint es mehr auf Zugangsbeschränkungen ausgelegt zu sein. Aber warum? “Traffic Sign” ist doch ein allgemeingültiger Begriff. Ich habe den entsprechenden MapFeatures-Eintrag mal geändert - der Grund,warum ich es dort nicht gefunden hatte, war, dass keine Deutsche Übersetzung vorlag und daher der Englische Text verwendet wurde, der meiner Stichwortsuche kein Futter gab.

Kommt davon, weil der Punkt am Ende des Satzes mit in den Link integriert wurde :roll_eyes: http://wiki.openstreetmap.org/wiki/DE:Road_Signs

Achso. Immer das gleiche mit dem Punkt, und ich hab´s noch nicht einmal gesehen … :wink: Hm. Naja. Dann bekommt der Punkt also einen Namen und das traffic_sign=50. Richtig sauber ist das nicht, oder? traffic_sign:ID und traffic_sign:name wäre eindeutiger, weil damit beides zusammengebunden wird.

Für saubere Berechnungen braucht es auch sauberes taggen. Alles andere kann nur als Schätzeisen dienen. Verwaltungsgrenzen scheiden zwecks nahtlosen Übergang aus. Landuse ist auch nicht zu gebrauchen. Entweder ist dieser garnicht erst vorhanden oder die Straße führt ebenfalls durch eingebettete Industrie oder Gewerbe. Man könnte auch eine Umkreisregel für den Place Node nutzen, nur muss dieser mittig in Ortslage liegen. Am straßentechnischen Ortseingang muss ohnehin meist aufgetrennt werden, ab da fangen auch die Straßennamen an. Auf diese aufgetrennte Node gehört auch das Ortseingangsschild, alles dahinter ist ersmal grundsätzlich max 50. Ab da ist die Ortskenntnis gefragt. Viele Wohngebiete sind heute 30 Zone. Aber auch durchgängige Hauptstraßen haben oft streckenweise Einschränkungen und sind nicht immer durchgängig mit 50 befahrbar. Das muss vor Ort alles berücksichtigt werden. Eine Strippe von A nach B ziehen kann jeder und ist schnell gemacht, die Eigenschaften machen die Arbeit und werden oft vernachlässigt. Gleiches gilt auch für “draußen”. Wir haben hier Landstraßen die aus der Ferne theoretisch max 100 sagen, einen Schnitt von 80 vorgaukeln aber teilweise gerade mal 60 hergeben. Ich weiß auch das hier auf einigen baufälligen Brücken eine verengte Fahrbahn mit Vorfahrtsregelung vorliegt. Nur OSM kann es keinem sagen, den Fall kann er nicht. Alles Sachen die jede Berechnung alt aussehen lassen. Da muss man so oder so noch über einiges reden. Einiges liegt noch im dunkeln und Standards fehlen. Straßenbegleitende Fuß- und Radwege. Beleuchtet und unbeleuchtet. Parkbuchten direkt auf der Fahrbahn. Betonierte Plattenwege und Rechteckpfalster contra Kopfsteinpflaster. Offizielle Umleitungen die auch mal über sonst gesperrte Feldwege gehen. Ein Tag für die durchschnittliche Frequentierung, Ampelphasen usw. Ich habe da noch eine ganze Liste an fehlenden und unklaren Sachen. Wenn das alles mal steht dann sind auch genaue Berechnungen drin. Nur bis dahin ist es noch ein langer Weg. Ortseingangsschilder stehen da noch ganz am Anfang. Ich sehe aber gute Chancen. Wenn viele mitmachen dann ist so ein umfangreiches Detailwissen durchaus drin und vor allem immer aktuell.

Laut Wiki kann man den Place-Key auch auf eine Area anwenden… Leider machen das nur wenige… Landuse=residental wär wohl auch nützlich… Boundaries und Postal-Codes machen keinen Sinn, da auch ländliche Gebiete innerhalb von Gemeindegrenzen liegen, und auch PLZ-Bereiche haben…

@krza: was helfen da Gemeindegrenzen? Dort wo eine Gemeinde aufhört, fängt die nächste an (administrative boundary) - genau wie bei Ländern. Das hat doch IMHO überhaupt nichts mit dem “Ortsgebiet” im Sinne der Straßenverkehrsordnung zu tun. Die ist bis

Christian: Ich hatte explizit von Ortsgrenzen gesprochen, nicht von Gemeindegrenzen. Aber vielleicht täusche ich mich auch und habe zufällig gerade die Orte vor Augen, bei denen Orts- und Gemeindegrenzen zusammenfallen (kreisfreie Städte). Was die Ortsschilder betrifft: Eigentlich kann Dir egal sein, ob eine Ortsgrenze vor oder hinter dem Ortssschild liegt, denke ich. Denn verkehrstechnisch ist die Grenze dort, wo das Schild steht, und Du willst ja verkehrsbezogene Berechnungen anstellen und keine politischen, oder? PS: Achso, Du meinst die Richtung, sprich ob Du aus dem Ort raus kommst oder rein fährst … tja … da muss man sich wohl auf ein sauberes Tagging verlassen und die Eigenschaften der beteiligten Straßen auswerten, wie auch immer die in diesem Falle genau aussehen müssten. Man könnte auch mit dem Gradienten rechnen, also der Richtung, die die Straße relativ zum Ortskern hat. Aber erstens müsste man den relevanten Ortskern dazu kennen, und zweitens könnte es Hinterschneidungen geben, die das Ergebnis negieren. Am subersten wäre das informative Taggen des Ortsschildes nach dem von mir oben erwähnten Motto, glaube ich. Da könnte man alles rein packen, auch die Richtung.

Es reicht doch einfach, wenn sich Router die Ortstafeln zu einer Fläche verbinden. Alles Straßen innerhalb dieser Fläche liegen im Ortsgebiet, wenn ich mich nicht irre brauchen ja auch nur primary, secondary, tertiary und unclassified Straßen überprüft werden. Die Genauigkeit der Fläche wird im Grunde durch die Tagger bestimmt. Eventuell lässt sich diese Fläche in eine city_limit- oder site-Relation aufnehmen, damit der Router sich bei den Ortstafeln nicht dumm und dämlich sucht. Vielleicht effektiver als jeder Straße ohne Standardeinstellung mit maxspeed zu taggen, oder auf landuse zurückzugreifen, wo Wohngebiete/Ortsteile schon mal Außerorts liegen.

Stimmt, auch eine Idee. Die Fläche als solche bräuchte man da gar nicht unbedingt, weil sie ja von den Schildern an den entscheidenden Punkten aufgespannt wird. Aber sie gibt die fehlende “innen/außen”-Informationen her. Und wenn sich mal ein Schild ändert, eins hinzu kommt oder wegfällt, lässt sie sich relativ leicht anpassen.

Einer Berechnung ist doch die Besiedlung im grunde vollkommen Wurst. Welche Richtung ist doch so eigentlich ganz einfach. Innerhalb der Ortsschilder haben Straßen Namen, eine niedrigere maxspeed, kreuzen usw. Lässt sich doch auswerten. Setzt aber noch immer sauberes taggen vorraus, alles andere sind nur ungenaue Schätzeisen. Eine Berechnung muss eigentlich nur wissen was auf dem Absschnitt Sache ist. Wenn man beispielsweise eine kreuzungsfrei gebaute Bundestraße innerhalb eines Ortes hat, nützt dir die Ortsgrenze wenig. Denn in dem Fall muss man von einer höheren Durchschnittsgeswindigkeit ausgehen und die allgemein gehaltene 30 Regel wäre hinfällig. Anders herum gibt es Landstraßen durch enge Orte, wo selbst 30 noch hoch gegriffen sind. Das produziert dann einen Berechnungsfehler nach dem anderem. Man kommt nicht um die genauen Ortsbedingungen herum. Daran kranken ja auch die herkömmlichen Anbieter. Da werden dir vermeindlich schnelle Routen angeboten, die aber aufgrund der tatsächlichen Straßenbedingungen garnicht die schnellsten sind. Die wissen ja nichts von den ausgeschilderten 5 km Straßenschäden, mit Löchern wo ganze Mopeds drinnen verschwinden.

@krza/masch Die Fläche wird zwar von den Ortsschilder-Punkten aufgespannt, aber das Routingprogramm müßte ständig überprüfen ob die Teilstrecke innerhalb des Polygons ist. Bei Dörfern wo nur eine Straße durchgeht bzw. wo insgesamt nur zwei Ortsschilder s

Ein vernünftiges Routing-Programm würde alles vorher auswerten. Wenn ein maxspeed-Wert gesetzt ist wird der als Anhaltswert genommen. Wenn nicht, werden Stadtgrenzen ausgewerte. Dann würde auch wohl noch der Straßentyp als Anhaltswert genommen. Oder die Häufigkeit von Abzweigungen, oder die Bebauung, oder, oder oder. Aus all den Anhaltspunkten sollte dann eine schlauer Algo eine wahrscheinliche maximale Reisegeschwindigkeit für jenden Abschnitt ermitteln.