地理距离对于弧度和度数给出不同的结果

2022-07-06 13:05:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我在相同的坐标中运行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。你知道吗


Tags: 函数pimathdistanceprint度数geopyvincenty弧度
1条回答
网友
1楼 ·

函数需要度值,因此第一个结果是正确的。如果你把第二组坐标转换成度,你会得到相同的答案,例如用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,还有the code。(顺便说一句,注意它说vincenty()是不赞成的。)