在R中,我们在Geosphere包中有一个函数distCosine,here
我是最新的;我希望在Python中找到类似的功能,但我能找到的只是SciPy的实现here。这不包括半径。
这个R函数是否有基于Python的工作?另外我找到一些工作写出一个myself
答案 0 :(得分:2)
你可以看到R distCosine
函数的源代码......只需在python中编写一个:
from math import acos, sin, cos, pi
def distCosine(p1, p2, r=6378137):
p1 = [p * pi / 180 for p in p1]
p2 = [p * pi / 180 for p in p2]
out = acos(sin(p1[1]) * sin(p2[1]) +\
cos(p1[1]) * cos(p2[1]) *\
cos(p1[0] - p2[0])) * r
return out
distCosine([0, 0], [90, 90])
# 10018754.171394622
您可能想要添加一些错误检查排序,但这适用于R包提供的示例...