如何计算汽车与下一个路口之间的距离
how to calculate distance between car and next junction in veins
使用getCurrentPosition()方法给出汽车的当前坐标,getJunctionPosition()给出一个节点的坐标。
但是基于计算汽车到下一个路口的距离和评估结果,我相信这些坐标具有不同的格式(一次是相扑坐标,另一个是 omnet 坐标)所以什么是计算汽车到下一个路口距离的最佳方法。
第二个问题是关于汽车的离开时间,我们如何在汽车离开模拟时通知并记录发生的时间
Veins 区分 Coord
类型的坐标(表示 OMNeT++ 坐标)和 TraCICoord
类型的坐标(表示 TraCI/SUMO 坐标)。因为它们的转换依赖于 运行 模拟,所以它提供 API 调用来在它们之间进行转换。在 TraCICoord
和 Coord
之间转换的 API 调用称为 omnet2traci
和 traci2omnet
。
你是对的:在 Veins 3.0 中,getJunctionPosition
API call returns a TraCICoord
, hence you will need to call traci2omnet
to convert this to a Coord
, on which you can then call .distance(Coord)
。
请注意(因为这是一个很常见的操作)在 Veins 4a2 中,Junction::getPosition
API call 直接 returns a Coord
。
使用getCurrentPosition()方法给出汽车的当前坐标,getJunctionPosition()给出一个节点的坐标。 但是基于计算汽车到下一个路口的距离和评估结果,我相信这些坐标具有不同的格式(一次是相扑坐标,另一个是 omnet 坐标)所以什么是计算汽车到下一个路口距离的最佳方法。 第二个问题是关于汽车的离开时间,我们如何在汽车离开模拟时通知并记录发生的时间
Veins 区分 Coord
类型的坐标(表示 OMNeT++ 坐标)和 TraCICoord
类型的坐标(表示 TraCI/SUMO 坐标)。因为它们的转换依赖于 运行 模拟,所以它提供 API 调用来在它们之间进行转换。在 TraCICoord
和 Coord
之间转换的 API 调用称为 omnet2traci
和 traci2omnet
。
你是对的:在 Veins 3.0 中,getJunctionPosition
API call returns a TraCICoord
, hence you will need to call traci2omnet
to convert this to a Coord
, on which you can then call .distance(Coord)
。
请注意(因为这是一个很常见的操作)在 Veins 4a2 中,Junction::getPosition
API call 直接 returns a Coord
。