python - 连接到一个相扑模拟的多个 python 客户端对象
问题描述
我是 SUMO 的新手。我有一个 .net、一个 .rou(包含 300 辆具有车辆出发、ID、路线边缘属性的车辆)、一个 .trip 和一个代表交通场景的 .sumoconfig 文件。我想将这 300 辆车创建为从 Vehicle 类生成的 python Vehicle 对象,该类包含其他功能以相互通信。他们如何动态连接到相扑并链接到场景中的那 300 辆汽车?我可以编写一个服务器来监听这些对象并接受连接,但是将它们转发或链接到那些相扑场景车辆的方式是什么?任何提示或参考或代码链接都将受到高度赞赏。
解决方案
最接近您想要实现的示例可能是 CityMobil 教程,请参阅http://sumo.dlr.de/wiki/Tutorials/CityMobil但归结为类似的内容:
import traci
import traci.constants as tc
traci.start(["sumo", "my.sumocfg"])
traci.simulation.subscribe()
while True:
moveNodes = {}
traci.simulationStep()
# update the position of all running vehicles
for veh, subs in traci.vehicle.getAllSubscriptionResults().items():
moveNodes[veh] = (subs[tc.VAR_ROAD_ID], subs[tc.VAR_LANEPOSITION])
# add new departed vehicles
for v in traci.simulation.getSubscriptionResults()[tc.VAR_DEPARTED_VEHICLES_IDS]:
traci.vehicle.subscribe(v)
subs = traci.vehicle.getSubscriptionResults(v)
moveNodes[v] = (subs[tc.VAR_ROAD_ID], subs[tc.VAR_LANEPOSITION])
这为您提供了存储所有车辆最新位置的地图。请注意,地图的每一步都是从头开始重建的,因此您无需担心离开车辆。如果您的车辆对象持续存在更长时间,您将需要在没有更多订阅结果后立即删除它们。
推荐阅读
- ios - WKWebView 加载随机失败,NSURLErrorDomain 代码 -1200
- youtube-dl - 如何使用 youtube-dl 为下载的 youtube 视频刻录/硬编码字幕
- php - 使用 PHP、MYSql 和 Ajax 的分页无法正常工作
- c++ - 在地图中插入一对键
- mysql - 在 R 中实现 mysql rand() 函数的功能
- plugins - 当您为不同的操作系统创建应用程序快照时,snapcraft nodejs 插件如何处理 Node.js 环境?
- python - 线性回归模型预测功能不起作用
- security - 想知道可以绕过登录认证的网站的症状(目录遍历)
- python - 有没有更好的方法来创建嵌套字典的值列表?
- windows-server-2012-r2 - RDS 会话集合/农场/管理/设置当有主/从类型域时使用哪个帐户?