2016-04-07 6 views
0

Ich habe die OSRM-Einrichtung in meinem CentOS 7 eingerichtet und ich habe das car.lua-Profil mit wenig Modifikation benutzt, um die OMS-Daten zu extrahieren.Kann ich "Laufzeitmodelle" in OSRM verwenden?

Auch mit den GPS-Spuren, die ich habe (die weiter in GPX-Format konvertiert) habe ich echte "Reisezeit Modelle" mit den folgenden Programmen generiert.

http://wiki.openstreetmap.org/wiki/Routing/Travel_Time_Analysis

und das Ergebnis Wold wie unten sein:

<models-db> 
    <model node-from="338720677" node-to="832908078" way="214413814" freeflow="5.4" avg-delay="0.9" /> 
     <model node-from="832908078" node-to="315264821" way="214413814" freeflow="1.0" avg-delay="0.2" /> 
     <model node-from="315264821" node-to="315264861" way="28682394" freeflow="7.3" avg-delay="2.1" /> 
     <model node-from="256019073" node-to="256019073" way="30625842" freeflow="18.0" avg-delay="5.9"> 
     <traffic-delay from="03:15:00" to="07:15:00" day="Any" delay="0.2" /> 
     <traffic-delay from="15:00:00" to="19:15:00" day="Any" delay="0.9" /> 
     <traffic-delay from="19:15:00" to="23:30:00" day="Any" delay="5.4" /> 
     </model> 
     .......... 
     .......... 

Gibt es eine Möglichkeit, diese „-Modell Reisezeit“ verwenden Ergebnisse in OSRM Daten als Knoten aus und Knoten - sind direkt mit der Osm Node ID verbunden.

Ich weiß, wir können die Geschwindigkeit ändern (vorwärts und rückwärts) mit dem Lua-Profil und füllen Sie die Daten erneut. Wie die obigen Ergebnisse gibt "Freeflow" & "AVG-Verzögerung", ich bin in der Verwendung der Live-Reisezeit Modelle in OSRM Daten kämpfen.

Auch fand ich die Funktion "Traffic" in OSRM Wiki von untenstehenden Link

https://github.com/Project-OSRM/osrm-backend/wiki/Traffic

aber wieder müssen wir den Eingang als Knoten geben, zusammen mit Geschwindigkeit (edge_speed_in_km_h) .

Vielen Dank im Voraus.

Antwort

2

Leider müssen Sie hier ein wenig Aufwand investieren, um das obige Format in etwas umzuwandeln, das OSRM verstehen wird. Wir verwenden ein einfaches CVS-basiertes Schema, und wie Sie bereits gesehen haben, benötigen wir Geschwindigkeit und nicht Dauer.

Ihre Dauerwerte konvertieren Werte zu beschleunigen müssen Sie ein Konvertierungstool schreiben, die folgenden Dinge tut:

  • eine OSM-Datei lesen und für jeden Knoten die Koordinaten speichern (von OSM-Knoten-ID indexiert)
  • Ihre XML-Datei lesen und für jeden model:
    • die Koordinaten für node-from und node-to
    • die Entfernung berechnen erhalten zwischen diesen Koordinaten
    • teilen Sie die berechnete Entfernung durch das gewünschte Feld, das Sie extrahieren möchten, z. free_flow/distance = speed [m/s]
    • teilen die Geschwindigkeit in m/s so durch 3.6 teilen zu konvertieren hier km/h
    • Speichern Sie das Ergebnis als CVS {node_from};{node_to};{speed}

Ich gehe davon aus, dass ǹode-from und node-to immer benachbart sind.Ich bin mir nicht sicher, wie das von Ihnen gepostete Format definiert wurde. Unter dem von Ihnen angegebenen Link konnte ich keine echte Spezifikation finden.

OSRM befasst sich nicht mit der Zeitabhängigkeit selbst. Sie müssen dies selbst orchestrieren und eine aktuelle csv Datei für Ihr aktuelles Modell des Straßennetzes bereitstellen.

+0

Danke für Sie ausgearbeitete Schritte, um davon Gebrauch zu machen. Selbst ich dachte ähnlich wie oben. Ich erinnere mich, ich habe in OSRM eine Feature-Anforderung gesehen, die besagt: "Reisezeit und Kantengewichte unabhängig machen". Also, ich würde gerne wissen, gibt es einen direkten Weg, um "Reisezeit" zu nutzen, während Osm-Daten anstelle von oben extrahieren, da es mehr Zeit kostet. Jedenfalls werde ich weiter nachforschen. Vielen Dank. – sudesh

+0

Kein Problem ist, dass man willkürliche Gewichte (zum Beispiel Entfernung oder Sicherheit) als Basis für das Routing verwenden kann. So können Sie die kürzeste oder sicherste Route finden. Dies steht in keinem Zusammenhang mit diesem Problem, da das aktuelle Gewicht _ist_ Reisezeit ist. – themarex

+0

Oh ok. Danke nochmal für die Aufklärung. Weißt du, gibt es eine Roadmap oder Feature-Anfrage, um "Dauer" als "Geschwindigkeit" zu verwenden? – sudesh