我没有使用scipy
的pdist
函数的结果,我感兴趣的是真实的的地理距离(首选单位:km)。取以下坐标:
from scipy.spatial.distance import pdist
coordinates = [ (42.057, -71.08), (39.132, -84.5155) ]
distance = pdist(coordinates)
print distance
# [ 13.75021037]
但是单位是什么呢,谷歌说这两点之间的距离是1179公里,从13.75021037怎么去呢?
2条答案
按热度按时间ffx8fchx1#
scipy
中的pdist
方法不支持lon
、lat
坐标的距离,如注解中所述。然而,如果你想得到
pdist
返回的距离矩阵,你可以使用pdist
方法和geopy
包中提供的distance方法,pdist
允许用一个带有两个参数的自定义函数(lambda函数)来计算距离。下面是一个例子:
o4hqfura2#
使用最新的Python 3,现在给出了一个弃用警告,实际上我发现this answer by @cffk更容易理解:
(为方便粘贴此处)