经纬度的距离计算公式怎么理解,经纬度和距离之间的计算关系

首页 > 机动车 > 作者:YD1662023-10-27 00:56:21


经纬度是某个地点的坐标信息,通过经纬度数据就可以计算出这两点之间的直线距离,PowerBI能不能实现这种计算呢?

其实这是一个数学问题,也就是计算球面上两个点之间的距离,关于这个计算,有专门的公式,如果想在PowerBI中计算,只需要将它用DAX函数表达出来就可以了。

比如下面这个数据,是几个主要的城市经纬度坐标信息:

经纬度的距离计算公式怎么理解,经纬度和距离之间的计算关系(1)

注: 每个城市都是个面积很大的区域,上述经纬度只是用其中的某个位置点来代替而已。

假如要计算上面的每个城市距离北京的直线距离,应该怎么写呢?这里直接列出这个度量值:

与北京直线距离/km = VAR longitude=[经度] VAR latitude=[纬度] VAR longitude_bj=CALCULATE(MAX('数据表'[经度]),FILTER('数据表','数据表'[城市]="北京")) VAR latitude_bj=CALCULATE(MAX('数据表'[纬度]),FILTER('数据表','数据表'[城市]="北京")) RETURN 2*6371*ASIN(SQRT( POWER ( SIN ( (latitude - latitude_bj) * PI () / 360 ), 2 ) COS ( latitude * PI () / 180 )* COS ( latitude_bj * PI () / 180 )* POWER ( SIN ( (longitude - longitude_bj) * PI () / 360 ), 2 ) ))

其中RETURN后面的就是计算公式(6371是地球的半径),主要是利用了DAX中的数学和三角函数的组合运算,对数学感兴趣的同学可以研究这个公式的原理,不感兴趣的直接套用上面的公式就行了。

结果如下:

经纬度的距离计算公式怎么理解,经纬度和距离之间的计算关系(2)

最后,需要说明的是,上述公式只是近似的计算,一方面受经纬度本身的精度所限,另一方面地球并不是个完美球体,从赤道到两极地球的半径是有差异的,因此计算结果与实际会有些许误差。

更多干货→

采悟

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.