【问题标题】:Is it possible to use SUMO TraCI get the density of the edge?是否可以使用 SUMO TraCI 获得边缘的密度?
【发布时间】:2018-04-13 06:06:05
【问题描述】:

为了监控边缘的 LOS(Level of Service),我需要知道边缘/道路的密度。我知道 SUMO Edge-based Traffic Measure Output 包含属性 density。但我需要在模拟过程中得到它。那么,是否可以使用SUMO TraCI 来获取边缘的密度?不然怎么计算输出中的密度?

【问题讨论】:

  • 根据http://sumo.dlr.de/wiki/TraCI/Edge_Value_Retrieval,您可以请求在最后一个时间戳的边缘行驶的车辆数量。如果需要边的长度,大概可以从边的车道长度得到这些信息。

标签: omnet++ veins sumo


【解决方案1】:

Ventu 的评论基本上是这样说的:密度是每公里的车辆数量。所以在 Python 中你可以使用

num = traci.edge.getLastStepVehicleNumber(edgeID)
density = num / traci.lane.getLength(edgeID + "_0") / 1000.

最后一行有点小技巧,因为它只是从边缘 id 派生出第一条车道的 id,并假设一条边缘的所有车道都具有相同的长度,但目前对于相扑中的所有网络都是如此。

【讨论】:

  • 只是确认密度是否需要考虑车辆长度。例如,如果道路只有卡车,则车辆的数量可能会更少,从而导致密度更小。但如果道路只有紧凑型车辆,车辆数量可能会更多,从而导致更大的密度。
  • 对密度有不同的定义,但是是的,相扑使用的正是您所说的。满载卡车的道路比满载小型汽车的道路密度小。
  • 另外,根据上面给出的公式,密度是针对边缘的。在这种情况下,如果我需要车道的密度,我可以通过以下方式进行进一步计算:laneDensity = edgeDensity / numOfLane。这是正确的吗?
  • 这将是所有车道的平均密度。如果您希望它特定于一条车道,只需调用 traci.lane.getLastStepVehicleNumber(laneID) 而不是边缘对应物
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-03-14
  • 1970-01-01
  • 2016-05-15
  • 1970-01-01
  • 1970-01-01
  • 2022-01-26
  • 1970-01-01
相关资源
最近更新 更多