大圆距离 (英語:Great-circle distance ,縮寫:GCD )指的是从球面的一点A出发到达球面上另一点B,所经过的最短路径的长度。一般说来,球面上任意两点A和B都可以与球心确定唯一的大圆 ,这个大圆被称为黎曼圆,而在大圆上连接这两点的较短的一条弧的长度就是大圆距离。若这两点和球心正好都在球的直径上,则过这三点可以有无数大圆,但两点之间的弧长都相等,且等于该大圆周长的一半 π r {\displaystyle \pi r} , r 是球的半径。由于地球 类似球体 ,地球上任何两点沿球面的最短距离都可以通过大圆距离的公式估算的出,这在航空 和航海 上都有很大作用。
公式 编辑
令 ϕ s , λ s ; ϕ f , λ f {\displaystyle \phi _{s},\lambda _{s};\ \phi _{f},\lambda _{f}\;\!} 分别代表球面上两点的纬度和经度,(s代表出发点,f代表前往点), Δ ϕ , Δ λ {\displaystyle \Delta \phi ,\Delta \lambda \;\!} 是两者差的绝对值,那么两点之间的圆心角可由球面余弦定律所给出:
| Δ σ ^ = arccos ( sin ϕ s sin ϕ f + cos ϕ s cos ϕ f cos Δ λ ) . {\displaystyle {\color {white}{\Big |}}\Delta {\widehat {\sigma }}=\arccos {\big (}\sin \phi _{s}\sin \phi _{f}+\cos \phi _{s}\cos \phi _{f}\cos \Delta \lambda {\big )}.\;\!} 此两点间的大圆距离 d ,即可根据弧长公式得出,
d = r Δ σ ^ . {\displaystyle d=r\,\Delta {\widehat {\sigma }}.\,\!} 在两点之间的大圆距离相对球体的半径很短时,其圆心角很小,余弦函数接近于1,按照以上的反余弦函数公式会有较大的舍入误差 。此时可使用半正矢函数 的定义和两角和的余弦函数展开式求出使用半正矢函数计算大圆距离的公式。
| | Δ σ ^ = 2 arcsin ( sin 2 ( Δ ϕ 2 ) + cos ϕ s cos ϕ f sin 2 ( Δ λ 2 ) ) . {\displaystyle {\color {white}{\frac {\bigg |}{|}}}\Delta {\widehat {\sigma }}=2\arcsin \left({\sqrt {\sin ^{2}\left({\frac {\Delta \phi }{2}}\right)+\cos {\phi _{s}}\cos {\phi _{f}}\sin ^{2}\left({\frac {\Delta \lambda }{2}}\right)}}\right).\;\!} 这就是在航海上运用广泛的半正矢公式,历史上会将距离和半正矢函数值的关系直接制成表格,方便使用[1] 。
矢量形式 编辑 另一种表达方式是使用出发点和到达点的法矢量与矢量的数量积、向量积和混合积来表达大圆距离[2]
Δ σ ^ = arccos ( n e s e ⋅ n e f e ) Δ σ ^ = arcsin ( | n e s e × n e f e | ) Δ σ ^ = arctan ( | n e s e × n e f e | n e s e ⋅ n e f e ) {\displaystyle {\begin{aligned}&\Delta {\hat {\sigma }}={\text{arccos}}\left({\boldsymbol {n}}_{es}^{e}\cdot {\boldsymbol {n}}_{ef}^{e}\right)\\&\Delta {\hat {\sigma }}={\text{arcsin}}\left(\left|{\boldsymbol {n}}_{es}^{e}\times {\boldsymbol {n}}_{ef}^{e}\right|\right)\\&\Delta {\hat {\sigma }}={\text{arctan}}\left({\frac {\left|{\boldsymbol {n}}_{es}^{e}\times {\boldsymbol {n}}_{ef}^{e}\right|}{{\boldsymbol {n}}_{es}^{e}\cdot {\boldsymbol {n}}_{ef}^{e}}}\right)\\\end{aligned}}\,\!} 此处的 n e s e {\displaystyle {\boldsymbol {n}}_{es}^{e}\,\!} and n e f e {\displaystyle {\boldsymbol {n}}_{ef}^{e}\,\!} 分别是起点和终点的n矢量。此处使用的是反正切 函数,相对于反余弦函数较为精确,但如果原始数据是以经纬度形式给出,则需要先将经纬度数据转化成n矢量。
从弦长求大圆距离 编辑 链接球面上两点之间的线段就是这两点所在大圆上两点之间的弦,这条弦所对的圆心角可通过几何关系求出,然后再通过弧长公式求出这条弧的弧长,即两点间的大圆距离。[3]
Δ X = cos ( ϕ f ) cos ( λ f ) − cos ( ϕ s ) cos ( λ s ) ; Δ Y = cos ( ϕ f ) sin ( λ f ) − cos ( ϕ s ) sin ( λ s ) ; Δ Z = sin ( ϕ f ) − sin ( ϕ s ) ; {\displaystyle {\begin{aligned}&\Delta {X}=\cos(\phi _{f})\cos(\lambda _{f})-\cos(\phi _{s})\cos(\lambda _{s});\\&\Delta {Y}=\cos(\phi _{f})\sin(\lambda _{f})-\cos(\phi _{s})\sin(\lambda _{s});\\&\Delta {Z}=\sin(\phi _{f})-\sin(\phi _{s});\\\end{aligned}}\,\!} C h = ( Δ X ) 2 + ( Δ Y ) 2 + ( Δ Z ) 2 {\displaystyle \mathbb {C} _{h}={\sqrt {(\Delta {X})^{2}+(\Delta {Y})^{2}+(\Delta {Z})^{2}}}} 圆心角等于:
Δ σ ^ = 2 arcsin ( C h 2 ) . {\displaystyle \Delta {\widehat {\sigma }}=2\arcsin \left({\frac {C_{h}}{2}}\right).\,\!} 大圆距离等于:
d = r Δ σ ^ . {\displaystyle d=r\Delta {\widehat {\sigma }}.\,\!} 地球上两点间的大圆距离 编辑
对于近似于球体的立体,比如地球。其形状接近一个表面平坦、赤道稍鼓(6378.137千米)、两极稍扁(6356.752千米)的扁球体。对其半径的估计有多种方法:[4] 国际大地测量学与地球物理学联合会 定义地球的平均半径为:[5]
R 1 = 2 a + b 3 {\displaystyle R_{1}={\frac {2a+b}{3}}\,\!} 将极半径和赤道半径代入后,求出其平均半径为6,371.009公里(3,958.761英里)[6] 。知道地球的平均半径后,将所求两点的经纬度代入公式,即可求出两点间的大圆距离。
參見 编辑 参考文献 编辑
^ R.W. Sinnott, "Virtues of the Haversine", Sky and Telescope, vol. 68, no. 2, 1984, p. 159 ^ Gade, Kenneth. A Non-singular Horizontal Position Representation . Journal of Navigation. 2010-07, 63 (3): 395–417. ISSN 0373-4633 . doi:10.1017/S0373463309990415 (英语) . ^ A tunnel from Toronto to Montreal . Math Central. [2013-05-24 ] . (原始内容存档 于2020-07-17). ^ McCaw, G. T. Long lines on the Earth. Empire Survey Review. 1932, 1 (6): 259–263. ^ Moritz, H. Geodetic reference system 1980 . Bulletin Géodésique. 1980-09, 54 (3): 395–405. ISSN 0007-4632 . doi:10.1007/bf02521480 . ^ Moritz, H. Geodetic Reference System 1980 . Journal of Geodesy. 2000-03, 74 (1): 128–133. Bibcode:2000JGeod..74..128. . ISSN 0949-7714 . doi:10.1007/s001900050278 (英语) . 外部链接 编辑