You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python计算短距离两点坐标中点结果不准确原因排查

问题原因

  • 核心笔误:经度计算逻辑写错。你代码中返回的经度部分写的是(lon2 + lon2)/2,全程没有用到第一个点的经度参数lon1,相当于直接返回第二个点的经度值,这是结果偏差的主要原因。
  • 纬度的微小尾差属于Python浮点数运算的正常精度表现,如果你需要和手动计算的小数位数对齐,增加四舍五入处理即可。

修正后的代码

def compute_midPoint(lat1,lon1,lat2,lon2):  
  return ((lat1 + lat2)/2, (lon1 + lon2)/2)

结果验证

调用示例compute_midPoint(53.2604111, -2.1279681, 53.2600830, -2.1271415)得到的计算结果为:

  • 纬度:(53.2604111 + 53.2600830) / 2 = 53.26024705,保留7位小数后和手动计算结果一致
  • 经度:(-2.1279681 + -2.1271415) / 2 = -2.1275548,和手动计算结果完全匹配

如果需要统一控制输出小数位数,可以修改代码做精度截断:

def compute_midPoint(lat1,lon1,lat2,lon2, decimals=7):  
  mid_lat = round((lat1 + lat2)/2, decimals)
  mid_lon = round((lon1 + lon2)/2, decimals)
  return (mid_lat, mid_lon)

内容的提问来源于stack exchange,提问作者Ana

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 15:39:03