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

R语言distHaversine计算WGS84点距离结果偏高求助

问题原因与解决方法

你的计算结果错误的核心原因是坐标顺序传反了:distHaversine函数要求输入的坐标格式为**[经度, 纬度]**,但你传入的是[纬度, 经度],这直接导致距离计算偏差极大。

修正后的代码

# 调整坐标顺序:经度在前,纬度在后
point1 <- c(29.55805, 34.94821)
point2 <- c(31.25181, 34.79130)

point_mat <- matrix(c(point1, point2), ncol = 2)  
distHaversine(point_mat, r=6378137)  

运行这段代码后,得到的结果约为188940米(即188.94公里),与实际距离完全匹配。

注意事项

  • WGS84坐标系的常规表述是纬度在前、经度在后,但geosphere包中的多数距离计算函数(包括distHaversine)要求输入顺序为经度、纬度,使用前可通过?distHaversine查看官方文档确认参数要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 06:45:50