使用 TraCI 从相扑模拟中获取 GEO 坐标

Obtain GEO Coordinates from sumo simulation using TraCI

我在 python 中使用 TraCI 库从代码中逐步启动和控制相扑模拟。 我的问题是我需要在模拟的每个步骤中使用纬度、经度 UTM 的车辆坐标。我使用 TraCI 侦听器从模拟的每一步中获取 x、y 坐标,然后我尝试将这些值转换为纬度和经度:

for vehicleId in traci.vehicle.getIDList():
        speed = traci.vehicle.getSpeed(vehicleId)
        x, y = traci.vehicle.getPosition(vehicleId)
        lon, lat = traci.simulation.convertGeo(x, y)
        lon, lat = self.net.convertXY2LonLat(x, y)

None 这两个转换有效,第一个 returns 相同的值,第二个通常会引发错误:

"RuntimeError: b'projection not named'"

我猜这是因为网络文件中没有正确描述投影。这里的问题是 NONE 场景在这里工作,即使其中一些可以执行 fcd 输出(投影坐标)。

有没有人遇到过类似的问题?

问候并感谢您!

问题是网络没有正确地进行地理参考。需要投影参数是'+proj=utm ...'而不是'!'。

这意味着您获得的任何 fcd 输出也是根据 x,y(笛卡尔)网络坐标提供的。同样,sumo-gui 中的左下角和右下角不会为此类网络提供正确的经纬度值。

参考这个issue