部分略写操作在(一)中已经介绍过,这里不再赘述。
主要学习是参考官方文档中需要的可视化过程进行操作。
注:我这里的代码都是建立在自己电脑的环境下,如需copy,一定要修改成自己的安装环境和路网文件位置!
①随时间推移的排队时间
输入是队列输出queue.xml,在SUMO配置文件(.sumocfg
扩展名结尾的文件)中加入输出代码输出queue.xml的文件。
<output>
<queue-output file="queue.xml" />
</output>
官网输出的是具体车辆的排队时间,我这里代码输出的是对于单个车道的排队时间的可视化,代码如下,需要的话改一下路径就行。
python D:\sumo-win64extra-1.19.0\sumo-1.19.0\tools/visualization/plotXMLAttributes.py -x timestep -y queueing_time -s 800,600 -o D:\iseal\Desktop\qing\queue.png D:\iseal\Desktop\qing\queue.xml -i id --filter-ids=-gneE10_0
成功输出,图片会自动跳出结果如下第一个输出0是因为我路段id少打了一个-,大家注意一下别漏打了。
如果需要输出图2这种全车道的排队时间,就只需要把代码最后的指定的车道号删除就行
python D:\sumo-win64extra-1.19.0\sumo-1.19.0\tools/visualization/plotXMLAttributes.py -x timestep -y queueing_time -s 800,600 -o D:\iseal\Desktop\qing\queue.png D:\iseal\Desktop\qing\queue.xml -i id
②随时间推移的基于 FCD 的速度
根据官方代码,输入fcd.xml(学习(一)中有介绍怎么从路网输出fcd文件),最终输出速度曲线,并不过滤的全部车辆速度变化代码。
python D:\sumo-win64extra-1.19.0\sumo-1.19.0\tools/plot_trajectories.py -t ts -o D:\iseal\Desktop\qing\timeSpeed_output.png D:\iseal\Desktop\qing\fcd.xml
过滤筛选的车辆id (id在仿真后可在fcd文件中找到id),代码中加入--filter-ids 4.10,4.20,4.30。
python D:\sumo-win64extra-1.19.0\sumo-1.19.0\tools\plot_trajectories.py -t ts -o D:\iseal\Desktop\qing\timeSpeed_output.png D:\iseal\Desktop\qing\fcd.xml --filter-ids 4.10,4.20,4.30
输出结果,如下两图
其他可视化后续继续写……