从地理位置和道路方向获取行车方向
Getting driving direction from geolocation and direction on the road
我想计算在路上发生事故的车辆(例如汽车)的行驶方向。
我拥有的数据(来自警方报告)是地址(街道、号码、邮政编码、城市)或地理位置(经度、纬度)。从而
我将 'driving direction' 作为包含正值或负值的变量。
积极的是,如果车辆继续行驶,街道编号会上升。负面的是街道数量下降。
如何根据这些数据确定行驶方向(N°、E°)?
我已经找到了将街道地址更改为地理定位的方法,所以这应该没问题,以及如何从两个位置获取行车方向(N°,E°)。
我想我可能需要第二个地理定位(例如下一个或上一个地址的位置),但是道路转弯的问题所以我需要另一个解决方案,比如在给定的地理定位前面找到一个点相同的道路或可以为我提供该特定位置的道路方向的工具。
目的是为了了解太阳眩光对交通事故的影响,所以如果我能研究这个课题,可能会挽救一些生命。
可以通过计算同一道路上较早一点(例如事故发生前50m)与事故本身之间的方位来计算行车方向。
公式为(在Python):
def calculateBearing(lat1,lon1,lat2,lon2):
bearing = toDeg(math.atan2(math.sin(toRad(lon2-lon1))*math.cos(toRad(lat2)), \
math.cos(toRad(lat1))*math.sin(toRad(lat2))-
math.sin(toRad(lat1))*math.cos(toRad(lat2)) \
*math.cos(toRad(lon2-lon1))))
#North = 0°, East=90°, South = (-)180°, West=-90°
if float(bearing) < 0:
bearing = 360-abs(bearing)
#e.g. if bearing was -90, it is now 270
#e.g. if bearing was -179, it is now 181
return bearing
顺时针方向的值从 0°(北)到 359°。
我想计算在路上发生事故的车辆(例如汽车)的行驶方向。
我拥有的数据(来自警方报告)是地址(街道、号码、邮政编码、城市)或地理位置(经度、纬度)。从而 我将 'driving direction' 作为包含正值或负值的变量。 积极的是,如果车辆继续行驶,街道编号会上升。负面的是街道数量下降。
如何根据这些数据确定行驶方向(N°、E°)?
我已经找到了将街道地址更改为地理定位的方法,所以这应该没问题,以及如何从两个位置获取行车方向(N°,E°)。
我想我可能需要第二个地理定位(例如下一个或上一个地址的位置),但是道路转弯的问题所以我需要另一个解决方案,比如在给定的地理定位前面找到一个点相同的道路或可以为我提供该特定位置的道路方向的工具。
目的是为了了解太阳眩光对交通事故的影响,所以如果我能研究这个课题,可能会挽救一些生命。
可以通过计算同一道路上较早一点(例如事故发生前50m)与事故本身之间的方位来计算行车方向。 公式为(在Python):
def calculateBearing(lat1,lon1,lat2,lon2):
bearing = toDeg(math.atan2(math.sin(toRad(lon2-lon1))*math.cos(toRad(lat2)), \
math.cos(toRad(lat1))*math.sin(toRad(lat2))-
math.sin(toRad(lat1))*math.cos(toRad(lat2)) \
*math.cos(toRad(lon2-lon1))))
#North = 0°, East=90°, South = (-)180°, West=-90°
if float(bearing) < 0:
bearing = 360-abs(bearing)
#e.g. if bearing was -90, it is now 270
#e.g. if bearing was -179, it is now 181
return bearing
顺时针方向的值从 0°(北)到 359°。