geopy.distance.vincenty 给出弧度和度数的不同结果
geopy.distance.vincenty gives different result for radians and degrees
我 运行 Python 的 geopy.distance.vincenty()
函数在相同的坐标中,一次是度数,然后是弧度,我得到完全不同的结果。
print(geopy.distance.vincenty((0.88802*180.0 / math.pi, 0.0780654*180.0 / math.pi),
(0.888019*180.0 / math.pi, 0.0780669*180.0 /math.pi )).m)
我得到 8.787072619249342
当我以弧度表示时
print(geopy.distance.vincenty((0.88802, 0.0780654), (0.888019, 0.0780669)).m)
我得到 0.2002536292651726。
该函数需要以度为单位的值,因此第一个结果是正确的。如果将第二组坐标转换为度数,您将得到相同的答案,例如math.degrees()
或 np.degrees()
:
import numpy as np
geopy.distance.vincenty((np.degrees((0.88802, 0.0780654)),
np.degrees((0.888019, 0.0780669)).m
)
我正在查看 the example in the documentation, and also at the code。 (顺便说一句,请注意它说 vincenty()
已弃用。)
我 运行 Python 的 geopy.distance.vincenty()
函数在相同的坐标中,一次是度数,然后是弧度,我得到完全不同的结果。
print(geopy.distance.vincenty((0.88802*180.0 / math.pi, 0.0780654*180.0 / math.pi),
(0.888019*180.0 / math.pi, 0.0780669*180.0 /math.pi )).m)
我得到 8.787072619249342
当我以弧度表示时
print(geopy.distance.vincenty((0.88802, 0.0780654), (0.888019, 0.0780669)).m)
我得到 0.2002536292651726。
该函数需要以度为单位的值,因此第一个结果是正确的。如果将第二组坐标转换为度数,您将得到相同的答案,例如math.degrees()
或 np.degrees()
:
import numpy as np
geopy.distance.vincenty((np.degrees((0.88802, 0.0780654)),
np.degrees((0.888019, 0.0780669)).m
)
我正在查看 the example in the documentation, and also at the code。 (顺便说一句,请注意它说 vincenty()
已弃用。)