计算python中两个列表的每个GPS点之间的距离

Calculate the distance between each GPS points of two lists in python

假设我们有一个 pandas 数据框包含两列(“经度”和“纬度”),例如用(逗号)分隔:

longitude latitude
[116.415642, 116.41832, 116.418976, 116.419029, 116.421791, 116.426666, 116.429077, 116.43174, 116.434334, 116.436806] [39.897133, 39.897213, 39.898766, 39.900906, 39.900486, 39.90062, 39.900681, 39.900738, 39.900749, 39.900818]

我被困在如何计算每个 long/lat 点之间的距离以获得新列作为它们之间的距离差距 (KM) 作为 (''gap_dist'')。输出应该是这样的:

我找到了很多教程,只是为了找出一对坐标(源和目标)之间的距离。那么在 python 中实现此目标的最佳方法是什么?

提前致谢

如果你想要每个点和第一个点之间的差距,它是这样的:

from math import dist
lats   = [float(lat)  for lat  in df['latitude'][0]]
longs  = [float(long) for long in df['longtitude'][0]]
p0 = [lats[0], longs[0]]
dists = [dist(p0, [x,y]) for x, y in zip(lats, longs)]