首页  >  文章  >  后端开发  >  为什么我的 Geopy 距离计算不准确?

为什么我的 Geopy 距离计算不准确?

Susan Sarandon
Susan Sarandon原创
2024-11-05 09:23:021030浏览

Why Is My Geopy Distance Calculation Inaccurate?

使用纬度和经度计算点之间的距离

在尝试实现基于纬度和经度计算距离的公式时,用户有遇到与他们的代码不一致的情况。给定的公式在小程序中显示了有希望的结果,但在 Python 代码中应用相同的公式会产生不正确的距离。

这种差异背后的原因在于 Vincenty 距离计算方法的弃用性质。在 GeoPy 1.13 之前的版本中,Vincenty 距离是计算距离的默认方法,而 1.13 及更高版本引入了 geopy.distance.distance() 作为首选方法。

Vincenty 距离方法利用椭圆体模型,例如 WGS-84,与假设地球为球形的半正矢公式相比,它提供了更准确的结果。此假设可能导致高达 0.5% 的误差。

要准确计算距离,用户应使用以下代码替换 Vincenty 距离公式的实现:

import geopy.distance

coords_1 = (52.2296756, 21.0122287)
coords_2 = (52.406374, 16.9251681)

print(geopy.distance.geodesic(coords_1, coords_2).km)

此代码将使用更精确的椭球模型计算两点之间的距离,并以公里为单位返回结果。

以上是为什么我的 Geopy 距离计算不准确?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn