已知一个的经度/纬度(long1, lat1),距离d(以KM为单位)和方位角α(以度为单位),求新的经度/纬度(long2, lat2)。
![753eeb9539ebccb8751bdce71fc3c513.png](https://i-blog.csdnimg.cn/blog_migrate/fde08952cd1b55729ec6405336f2e89b.jpeg)
图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)
![5a88f3debf9a2b80c970231f6661e43b.png](https://i-blog.csdnimg.cn/blog_migrate/68277e56b3915f98788afac0b16a4461.jpeg)
图2
4)经纬度平移的角度计算。
在一个圆里面,角度β: 弦比周长再乘360
![02758fa4f0f4bc1af996ab0bbb49c91c.png](https://i-blog.csdnimg.cn/blog_migrate/408004602d5070de590434d3dfd92aae.jpeg)
图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 (隐藏的条件)
把条件代入公式就可以得到结果。
![511a4795a3424e29246f8349f1ab89cc.png](https://i-blog.csdnimg.cn/blog_migrate/a92847f2eeb0c93c954265de3111b7c0.jpeg)
图4
需要注意的是:
1)sinα中的α要转换为弧度,这里用了RADIANS(角度) 来转换
2)π 直接用 Pi() 来表示