经纬度计算,别让数学拖你后腿

2019-12-04  本文已影响0人  Excel大咖

已知一个的经度/纬度(long1, lat1),距离d(以KM为单位)和方位角α(以度为单位),求新的经度/纬度(long2, lat2)。

图1

这个问题在大地测量学中非常受欢迎。

已知一个的经度/纬度点A(123.2329 , 32.5946 ),求北偏东45度方向,200千米处的点B(long2, lat2)经纬度。

在计算之前,首先要了解这几点

1)地球不是一个标准的球体,它是一个两极稍扁赤道略鼓的不规则球体。简单来说,它更接近是一个椭圆。

2)由于(1),地球是没有恒定的半径,为了方便计算,我们这里取平均距离,平均半径 为6371.393千米,记为ARC

3)上面的平均半径ARC是指球体半径,你可以简单理解为赤道圆半径,纬度0度的那个切面的半径。在一个球体里面,离球心越远,切面的半径就越少。纬度就是一个以赤道平面为起点的线面角。知道球体半径ARC,和线面角lat1(当前纬度),就可以求出切面的半径了。则当前的纬度的切面半径 arc = ARC*cos(lat1)

图2

4)经纬度平移的角度计算。

在一个圆里面,角度β: 弦比周长再乘360

图3

事实上,经度方向上,与纬度方向上的半径r,与弦长是不一样的。

结合图1,图2可以知道:

纬度:L=d*sinα r=2π*ARC*cos(lat1)       半径是当前纬度切面的半径

经度:L=d*cosαr=2π*ARC                        半径是纵向切面的半径,这里取平均半径

纬度β:d*sinα/[ARC*cos(lat1)*2π/360]

经度β:d*cosα/ (ARC *2π/360)

平移的角度加上原来的经纬度就得到新的经纬度了,最好就得到最终公式了

long2 =d*sinα/[ARC*cos(lat1)*2π/360]+ long1

lat2 = d*cosα/ (ARC *2π/360)+lat1


说了这么多数学知识,你懂了多少?

不懂也没有关系,回到Excel,其实就是设置函数公式的问题。

整理已知的条件如下。

起点经度(以度为单位)Long1 123.2329 

起点的纬度(以度为单位)lat1 32.5946 

方位角(以度为单位)α 45 

 距率(以KM为单位)d 200  

平均半径(以KM为单位)ARC 6371.393    (隐藏的条件)

把条件代入公式就可以得到结果。

图4

需要注意的是:

1)sinα中的α要转换为弧度,这里用了RADIANS(角度) 来转换

2)π 直接用 Pi() 来表示 

上一篇下一篇

猜你喜欢

热点阅读