我正在使用 Sumo 0.27.1 和 Traci 界面。
我正在尝试获取占用车道的车辆数量,为此我使用以下 java 代码:
Repository<Lane> lanes = conn.getLaneRepository();
Map<String, Lane> laneMap = lanes.getAll();
Iterator<Entry<String, Lane>> laneMapIterator = laneMap.entrySet().iterator();
while(laneMapIterator.hasNext())
{
Entry<String, Lane> laneElem = laneMapIterator.next();
Lane l = laneElem.getValue();
if (!l.getID().startsWith(":"))
{
System.out.println("Lane ID: "+ l.getID() + " CO2: " + l.getCo2Emission());
System.out.println("Lane ID: "+ l.getID()
+ " Occupancy: " + l.getLastStepOccupancy() + " Vehicle Number: "
+ l.getLastStepVehicleNumber());
}
}
虽然在模拟中引入了很多汽车,但我只能得到其中 3 个车道的 CO2、占用率和车数;我在模拟过程中得到相同的数字。
类似的代码可以很好地获取单个车辆仪表,但不适用于车道。
我应该明确处理任何更新或重置命令吗?
提前致谢,
弗拉德