已知两点经纬度,求两点间距离(弧形,地球视为规则球体)

已知两点经纬度,求两点间距离(弧形,地球视为规则球体)

正好最近整论文遇到这个问题,发现很多博客没有写明原理,或者有错误的地方,整理于此处,作笔记保存。

注:计算中所有角均为弧度

如图:

已知两点经纬度,求两点间距离(弧形,地球视为规则球体)

其中:E为点B所在纬线圈的圆心C为与A点纬度相同,与B点经度相同的点;H为A、C所处纬线圈的圆心;连接BC并延长与OH相交与F;

A(Wa,Ja),B(Wb,Jb),其中,W为纬度,J为经度。

欲求A,B间距离(弧形),故要求出在扇形OAB中的∠AOB的弧度,可用 L = 2πR*(∠AOB/2π)=R*∠AOB

即求出∠AOB的度数即可求出距离。

欲求∠AOB的度数,可以在三角形AOB中使用余弦定理或正弦定理计算得:
已知两点经纬度,求两点间距离(弧形,地球视为规则球体)
三角形OAB为等腰三角形,sin(∠AOB/2) = (AB/2)/R ==> ∠AOB = 2*arcsin(AB / 2R),此处分母为 2R,使用正弦定理

问题转化为求 AB的直线长度:

在三角形ABC中,

AC与BC可以通过经纬度求得:

以经度为例,在以H为圆心的纬度圈上,∠CHA = | Ja - Jb | ,三角形ACH为等腰三角形,可用余弦定理求得AC,求BC同理。

在三角形ABF中有:

已知两点经纬度,求两点间距离(弧形,地球视为规则球体)
BE与CH可用已知条件求得

已知两点经纬度,求两点间距离(弧形,地球视为规则球体)

参考博客:

https://blog.csdn.net/weixin_44731100/article/details/89386978

https://blog.csdn.net/xiejm2333/article/details/73297004