2016-04-05 13 views
0

Ich verwende SUMO für ein großes Netzwerk für bis zu 4 Tage. Ich verstehe, dass die meisten Verkehr folgenden Modelle in der Sekunde entwickelt wurden, aber ich muss den Zeitschritt auf Minuten oder 5/10 Minuten erhöhen.SUMO: Simulationszeitschritt und Ausgabeoption ändern

Ich bin auf diese Funktion gestoßen. https://sourceforge.net/p/sumo/mailman/message/32876223/

<time> 
    <step-length value="3600" /> 
</time> 

Allerdings, wenn ich es benutzt, ist es nicht richtig sein. Ja, pro Schritt fährt jedes Fahrzeug viel weiter als mit einem kleineren Zeitschritt. Das Problem scheint, dass nur ein oder zwei Autos jedes Mal abfahren können, was die step-length Funktion überschreibt.

Kann mir jemand sagen, wie man einen anderen Zeitschritt einstellt und gibt es eine andere Einstellung, die ich ändern muss, um es richtig zu machen?

Eine andere Frage ist, bekomme ich eine sehr große xml Ausgabedatei, aber ich interessiere mich nur für den letzten Zeitschritt oder bestimmte Zeitschritte. Also frage ich mich, gibt es irgendeinen möglichen Weg, den ich nur wählen kann, um den letzten Zeitschritt oder ausgewählte Zeitschritte auszugeben?

Antwort

0

Die Schrittlänge ist ein Wert in Sekunden, der die Länge eines Simulationsschritts beschreibt. Sie möchten wahrscheinlich nicht, dass dies größer als eine Sekunde oder vielleicht zwei ist. Andernfalls können die Fahrzeuge einfach nicht reagieren, weil die Positionen aller anderen nur einmal pro Stunde aktualisiert werden (wenn Sie den Wert wie in Ihrem Beispiel auf 3600 setzen). Wenn Sie aggregierte Daten benötigen, werfen Sie einen Blick auf Sumo's meandata outputs. Dies wird mit dem Schreiben eine zusätzliche Datei mit dem Inhalt getan

<additional> 
    <laneData id="dump" freq="3600" file="aggregated.xml"/> 
</additional> 

Wenn Sie die Daten im Fluge filtern mögen Sie es an eine Steckdose schreiben können, den speziellen Dateinamen mit localhost:12345 wo Sie irgendeine Art von Server muss abhört Port 12345 auf Ihrem lokalen Rechner und filtert die Datei. Wenn Sie sich in einer Unix-ähnlichen Umgebung befinden, können Sie natürlich verwenden. Sie können auch mit den speziellen Dateinamen stdout oder stderr nach stdout oder stderr schreiben und diese filtern.