如何使用 TraCi 获取边的 ID?

How to get an edge's id using TraCi?

我正在使用带有 traci 库的 python 代码来了解是否有任何车辆在距离 chosen 车辆一定距离附近,以测试我正在尝试的解决方案要实施,我需要知道车辆的当前优势。

我在 Ubuntu 18.04.3 LTS,使用 sublime 编辑代码和 os、sys、optparse、subprocess、random、math 库。我试过使用 getLaneIdgetEdgeId,最后一个不在文档中,但我很难在某处看到它并尝试对其进行测试。 .我的另一个选择是使用 getNeighbors 但我不知道如何使用它并且它 return 编辑了与之前命令相同的错误消息。

def run():
    step = 0
    while traci.simulation.getMinExpectedNumber() > 0:
        traci.simulationStep()
        print(step)
        print(distancia("veh1","veh0"))
        step += 1  
        if step > 2:
            print(traci.vehicle.getLaneId("veh0"))
    traci.close()
    sys.stdout.flush()

他们都return编辑了以下错误消息:AttributeError: VehicleDomain instance has no attribute 'getLaneId'。但我认为车辆域确实具有 getLaneId 属性,因为它在文档中:https://sumo.dlr.de/pydoc/traci._vehicle.html#VehicleDomain-getSpeed。 我期待它 return 边缘的 ID。请我需要帮助解决这个问题。提前谢谢你。

edgeID 的 TraCI 命令可以在 _vehicle.VehicleDomain 模块中找到。语法如下:

traci._vehicle.VehicleDomain.getRoadID(self, vehicleID)

需要getLaneID大写D