0

我正在尝试使用 Python 中的 TRACI 使用 Sumo 运行模拟,作为在模拟中执行某些操作的一种方式。我所做的基本上是使用 netconvert 来提取地图的一部分。

netconvert --keep-edges.in-boundary minX,minY,maxX,maxY -s large.net.xml -o small.net.xml

所以基本上我正在尝试在原始网络(large.net.xml)中执行评估,并在模拟的某个时间点将车辆从原始模拟转移到我的小型网络(small.net.xml),并带有以下选项:

conn2.vehicle.add(vehID='0',routeID='R0',depart=time,departPos=conn1.vehicle.getLanePosition('0'),departSpeed=conn1.vehicle.getSpeed('0'))

其中时间是我原始模拟(conn1)中的模拟时间。这应该将车辆置于模拟 conn1 中并在 conn2 中启动该车辆(使用 small.net.xml 进行模拟)在与 conn1 中完全相同的位置,但似乎我的裁剪网络对该车道作为车辆具有不同的大小从一个有点不同的位置开始。有没有办法避免这些车道大小的变化?我已经尝试过将车辆转移到 conn2 中的同一原始网络,它出现在所需的位置。

4

1 回答 1

0

最简单的解决方案可能是使裁剪网络稍大一些(包含与当前裁剪网络直接相邻的所有边),以确保感兴趣的边在开始和结束节点上仍然具有相同的连接几何形状。

于 2020-06-09T16:05:24.707 回答