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

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

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

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

如图:

在这里插入图片描述

其中: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可用已知条件求得

在这里插入图片描述

参考博客:

http://www.noobyard.com/article/p-rbxjncax-no.html

http://www.noobyard.com/article/p-bzkffesy-mv.html