在基于地理坐标计算距离时,广泛采用半正矢公式。然而,它假设地球是球形的,这可能会引入误差。为了更准确的计算,有必要考虑行星的椭球性质。
在提供的代码中,虽然半正矢公式实现正确,但问题在于假设的不准确。已知半正弦公式的误差高达 0.5%。
作为解决方案,Python 库 GeoPy 通过 geopty.distance 模块提供了强大的距离计算。该模块利用 Vincenty 距离公式,该公式采用 WGS-84 等椭圆体模型来提高精度。
要在代码中实现它,请使用以下步骤:
例如:
<code class="python">import geopy.distance coords_1 = (52.2296756, 21.0122287) coords_2 = (52.406374, 16.9251681) distance_km = geopy.distance.geodesic(coords_1, coords_2).km print('Distance (in kilometers):', distance_km)</code>
与半正弦公式相比,这种方法将提供更准确的距离计算。
以上是如何提高地理距离计算的准确性,使其超越半正矢公式?的详细内容。更多信息请关注PHP中文网其他相关文章!