0

traci.edge.getWaitingTime(str(-108542273))シミュレーションの最後のステップで行うと、0そこから の値が得られます。

しかし、生成されたエッジベースの状態ダンプを確認したところ、値が15. なぜtraci値はそれを反映していないのですか? 同じ意味ではないですか?

<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>

シミュレーションの最後のステップで値を抽出したので、2 つは同じことを反映していると思いますか?

ここに私のPythonコード全体があります

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()
4

1 に答える 1

1

meandata 出力は時間の経過とともに集計されるため、間隔内の待機時間の合計が表示されます。ただし、TraCI 呼び出しは、最後のシミュレーション ステップで指定されたエッジでの待機時間のみを返します (時間の経過に伴う集計はありません)。

于 2016-10-10T21:04:23.913 に答える