首页 > 解决方案 > 为什么我在纬度和经度之间的距离计算上很差?

问题描述

谁能告诉我为什么我要离开?我正在研究 Power BI /Excel 上两点之间的距离。我在网上进行了研究,发现了一个每个人都使用的非常常用的公式。所以测试了一下,我的距离很远。请看下文,  在此处输入图像描述

Logan 和 Draper 之间的距离是 111 英里,但我的距离是 3750 英里。我对公式进行了硬编码以进行测试。我知道这不是 100% 准确的,但我完全不正确。 

 Orginal formula =ACOS(SIN(Lat1)*SIN(Lat2) +COS(Lat1)*COS(Lat2)*COS(Lon2-Lon1)) *3958.756

My hard coded one = COS(SIN(40.51)*SIN(41.73) +COS(40.51)*COS(41.73)*COS(-111.78-(-111.87))) *3958.756

太感谢了

标签: excelexcel-formulapowerbidaxdistance

解决方案


继上一个答案之后,您需要将纬度和经度转换为弧度。

按照这个网站的公式,我在 134.9 公里的 DAX 中得到了相同的结果。该网站有一个计算器,我在 DAX 中得到了相同的结果。

Distance = 

var _lat1 = RADIANS(40.524670)
var _lon1 = RADIANS(-111.863823)
var _lat2 = RADIANS(41.7379)
var _lon2 = RADIANS(-111.8308)

var R = 6371

var _dif1 = (_lat2 - _lat1)
var _dif2 = (_lon2 - _lon1)

var _a = (sin(_dif1/2)^2) + cos(_lat1) * cos(_lat2) * (sin(_dif2/2) ^ 2)

var _c  =  2*ASIN(SQRT(_a))

return _c * R


推荐阅读