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

如何用Python的haversine库获取弧度制的用户当前位置

问题解决思路

直接点明两个核心错误点,以及对应的修正方案:

错误原因拆解

  1. haversine库的输入逻辑理解错了
    这个库默认接受**角度制的(纬度, 经度)**坐标,内部会自动完成角度转弧度的计算,你手动用math.radians()转弧度后传入,反而让计算逻辑完全偏离,结果自然不对。
  2. 坐标顺序搞反了
    haversine要求坐标格式是(纬度, 经度),但你代码里的第二个坐标(73.0472, 33.580)是经度在前、纬度在后,这会直接导致位置计算完全跑偏。

修正后的正确代码

from haversine import haversine

# 严格按照(纬度, 经度)格式传角度制坐标,无需手动转弧度
distance = haversine((33.3569, 72.8307), (33.5809, 73.0472), unit='km')
print(distance)

特殊需求:手动传弧度制坐标的处理

如果确实需要用弧度制坐标计算,可以直接用库提供的haversine_rad函数,示例代码:

import math
from haversine import haversine_rad

# 转成弧度后传入haversine_rad函数
coord1_rad = (math.radians(33.3569), math.radians(72.8307))
coord2_rad = (math.radians(33.5809), math.radians(73.0472))
distance = haversine_rad(coord1_rad, coord2_rad, unit='km')
print(distance)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 11:40:43