大圓距離 (英語: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 (英語) .
外部連結