计算飞行距离

时间:2019-07-08 06:01:12

标签: python

我是python的新手,正在尝试了解基本的问题说明。我有一个起点和终点纬度和经度坐标列表。我想计算两者之间的飞行距离。我的csv看起来像:

ID.     Origin.    Destination   Origin_Lat   Origin_long.   Dest_Lat  Dest_long 

“来源和目的地”列包含IATA代码(机场指定代码)。

有人可以建议我如何进行同样的操作。

先谢谢了。

1 个答案:

答案 0 :(得分:-1)

首先使用map函数获取纬度,原点和目的地的经度。 然后使用lambda函数在两列上应用Haversine公式。

def haversine(lon1, lat1, lon2, lat2):
    lon1, lat1, lon2, lat2 = map(radians, [lon1, lat1, lon2, lat2])
    dlon = lon2 - lon1 
    dlat = lat2 - lat1 
    a = sin(dlat/2)**2 + cos(lat1) * cos(lat2) * sin(dlon/2)**2
    c = 2 * asin(sqrt(a)) 
    km = 6367 * c
    return km

Pandas: calculate haversine distance within each group of rows