在python中添加TraCI
官网https://sumo.dlr.de/docs/TraCI.html
首先找到traci的安装目录:
sumo\tools
打开python的安装目录(或者anaconda安装目录)–> Lib --> site-packages,在该目录下新建traci.pth文件,在该文件中输入traci的安装目录。
ps:可通过cmd打开python输入
import traci
检验是否安装成功。
代码实现
from __future__ import absolute_import
from __future__ import print_function
import os
import sys
import optparse
import random
import traci
import time
from sumolib import checkBinary
#检测是否已经添加环境变量
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'")
#sumo自带的,不知道有啥用
def get_options():
optParser = optparse.OptionParser()
optParser.add_option("--nogui", action="store_true",
default=False, help="run the commandline version of sumo")
options, args = optParser.parse_args()
return options
#主函数
if __name__ == "__main__":
options = get_options()
if options.nogui:
sumoBinary = checkBinary('sumo')
else:
sumoBinary = checkBinary('sumo-gui')
sumocfgfile = "E:\\sumo\\template\\template.sumocfg" #sumocfg文件的位置
traci.start([sumoBinary, "-c", sumocfgfile]) #打开sumocfg文件
for step in range(0,3600):
traci.simulationStep()
#time.sleep(0.1)
simulation_time = traci.simulation.getTime() #获得仿真时间
print("仿真时间是",simulation_time)
all_vehicle_id = traci.vehicle.getIDList() #获得所有车的id
#获取所有车的position
all_vehicle_position = [(i, traci.vehicle.getPosition(i)) for i in all_vehicle_id]
traci.close()