When I do traci.edge.getWaitingTime(str(-108542273))
at the last step of the simulation, I get a value of 0
from it.
But when I went to verify on the edge-based state dump generated and found out that the value was 15
. Why does the traci value not reflect that? Do they not mean the same thing?
<meandata xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://sumo.dlr.de/xsd/meandata_file.xsd">
<interval begin="0.00" end="602.00" id="edgebased">
<edge id="-108542273" sampledSeconds="288.08" traveltime="6.77" density="8.67" occupancy="4.33" waitingTime="15.00" speed="8.15" departed="0" arrived="0" entered="39" left="39" laneChangedFrom="0" laneChangedTo="0"/>
... more edge entries
</interval>
</meandata>
I extracted the value on the very last step of the simulation, so I believe the 2 should reflect the same thing?
Here's my whole python code
import os, sys
import subprocess
if 'SUMO_HOME' in os.environ:
tools = os.path.join(os.environ['SUMO_HOME'], 'tools')
sys.path.append(tools)
else:
sys.exit("please declare environment variable 'SUMO_HOME'")
def runTraCI():
trip_outputFile = "trip.output.xml"
vehroute_outputFile = "vehroute.output.xml"
PORT = 8817
sumoBinary = "sumo"
sumoProcess = subprocess.Popen([sumoBinary, "-c", "data/tracitest.sumocfg", "--no-warnings", "true", "--remote-port", str(PORT),
"--tripinfo-output", trip_outputFile, "--vehroute-output", vehroute_outputFile], stdout=sys.stdout, stderr=sys.stderr)
import traci
import traci.constants as tc
traci.init(PORT)
step = 0
edgeList = traci.edge.getIDList() #a list of edges of the network
waitingTimeDict = {key: None for key in edgeList} # create an empty waitingTime dict
while step <= 600:
if (step % 300) == 0: # read reading every 300s
for key, value in waitingTimeDict.iteritems():
waitingTimeDict[key] = traci.edge.getWaitingTime(str(-108542273))
traci.simulationStep()
step += 1
print waitingTimeDict #when I print this, every value is 0. In another word, edgeID("-108542273") waitingTime was return as 0 to me.
traci.close()
sys.exit()
runTraCI()