2点(P,Q)間の大円距離(赤線部)。u,vは赤道との交点
大円距離(だいえんきょり、英: great-circular distance)は、球面上の大円に沿う距離を指す。大円の弧の性質により、球面上の経路として2点間の最短距離である。
特に地球上においては大圏距離(たいけんきょり)ともいう。大円の弧(大圏コース)は等角航路やisoazimuthal線と同様に地球上の任意の2点間を結ぶことができる3つの手法の一つであり、航空機や船舶の経路計算で使われる。
なおこの記事では回転楕円体面上の最短距離(測地距離)は扱わない。
ユークリッド空間では、球内部を通り2点間を直線で結ぶユークリッド距離が最小となるが(したがって大円弦長)、球面上には直線が存在しないためこれとは異なる。 非ユークリッド空間では、直線を一般化した測地線を使用する。球面においては測地線は球の中心を中心とする円である大円となるため、大円距離は大円上の2点間の弧の長さとなる。
球面上の対蹠点以外の2点を通る大円は一意に定まる。 2点は大円を2つの弧に分割する。 そのうち短い方の弧の長さが大円距離となる。
対蹠点に関しては、その2点を通る任意の円が大円となるが、全ての円において2点間の弧の長さは一定である。すなわち半円の円周であり、半径
の球においては
である。
地球はほぼ球状であるため、2点間の距離を球として計算しても誤差は0.5%以内となる(後述)。[1]
2点P,Q間の中心角
。λとφはPの緯度と経度。
2点間の大円距離
(球面上の経路として距離)は、両者間の中心角である弧度
および球の半径
から求められる。

また距離以外に、出発点および中間の各点における方位角の計算も行う。 海里の距離の計算の際は度数法における分がそのまま海里として用いられる(度で表したものの60倍)。
弧度
は球面余弦定理を用いて次のように計算できる。ここで
と
をそれぞれ点1と点2の緯度と経度とし、
はそれらの差を表す。

ただし歴史上、この
関数の引数が1近傍(すなわち近距離条件)もしくは-1近傍(すなわち対蹠点近傍条件)の条件では計算が扱いにくいとされた[注釈 1]。
ただし現在用いられる64ビットの浮動小数点数であれば、これらの条件でも、最大丸め誤差は約1mmであり実用上問題を起こさないと考えられている[2]。
- ただし精度(ビット数)が低い浮動小数点数を扱う計算機においては、大きな丸め誤差が発生し精度条件が悪化する。
歴史的に上記の球面余弦定理の利用の欠点を避けるために、Haversine 関数[注釈 2]を用いる計算式(半正矢公式(英語版))が、haversineの関数表を使って多用された[3]。

これは下記の
を用いる弦長計算を経由する式と等価である。
ただし浮動小数点数計算では
の引数が1を超えないよう注意が必要である[注釈 3](対蹠点間で発生するおそれがある)。
単位球面における大円の弦長
と弧度
との関係は[注釈 4]、


ただし上記と同様に浮動小数点数計算では
の引数が1を超えないよう注意が必要である[注釈 5]。
弦長
の計算式は(
):

上記のHaversine型計算式は球面上のほとんどの点の間において正確だが、対蹠点間に対しては
関数の計算精度が低下する(ただし最大丸め誤差は約1mmであり実用上問題を起こさないと考えられている)。対策として代わりに逆正接関数
[注釈 6]を用いて下記のように書き換えることができる。

また同様の目的だが、弦長
を経由しない形の下記の式がある[注釈 7]。



単位球面における大円弦長
は直交座標系を経由しても計算できる。

弧度
は、ユークリッド空間上の単位長3次元ベクトルの内積と外積により以下のように表すことができる[5]。
と
は球面上の2点の単位法線ベクトルを表す。計算精度条件の比較は上記と同様となる。

地球の形状は回転軸方向に潰れた球(扁球)とみなすことができる。このとき赤道半径
は6378.137 km、極半径
は6356.752 kmとなる。 赤道付近の短い南北方向の線においては半径
(6335.439 km)とした際が最も良い近似となり、極においては半径
(6399.594 km) が最も良い。この差は1%である。 つまり、地球を球体と仮定した計算においては、地球上の任意の2点間の距離に対する1つの計算による誤差は 0.5% 以内とすることができる(ただし、限られた地域に関してはより誤差の少ない値を使用することもできる。)。
この値として平均地球半径を用いるとよく[6]、その値は
(値はGRS 80における回転楕円体近似に対して)である。 扁平率が小さい場合はこの値が平均自乗誤差を最小化する。
- ^ 例えば地球上においては1 kmの距離に対して
関数の引数は0.99999999となる。
- ^
- ^
- ^
における級数展開形は、
。
- ^
- ^ プログラミングの際は通常の逆正接関数
atan(y/x)よりも atan2(y,x) 関数を用いたほうが全象限で出力されるため優れている。
- ^ 導出法の一つとしてVincenty formula[4]内で全ての軸の経が等しい楕円体からも導かれる。
- ^ Admiralty Manual of Navigation, Volume 1, The Stationery Office, (1987), p. 10, ISBN 9780117728806, https://books.google.co.jp/books?id=xcy4K5BPyg4C&pg=PA10&redir_esc=y&hl=ja
- ^ “Calculate distance, bearing and more between Latitude/Longitude points”. 2013年8月10日閲覧。
- ^ Sinnott, Roger W. (August 1984). “Virtues of the Haversine”. Sky and Telescope 68 (2): 159.
- ^ Vincenty, Thaddeus (1975-04-01). “Direct and Inverse Solutions of Geodesics on the Ellipsoid with Application of Nested Equations” (PDF). Survey Review (Kingston Road, Tolworth, Surrey: Directorate of Overseas Surveys) 23 (176): 88–93. doi:10.1179/sre.1975.23.176.88. http://www.ngs.noaa.gov/PUBS_LIB/inverse.pdf 2008年7月21日閲覧。.
- ^ Gade, Kenneth (2010). “A non-singular horizontal position representation” (PDF). The Journal of Navigation (Cambridge University Press) 63 (3): 395–417. doi:10.1017/S0373463309990415. http://www.navlab.net/Publications/A_Nonsingular_Horizontal_Position_Representation.pdf.
- ^ McCaw, G. T. (1932). “Long lines on the Earth”. Empire Survey Review 1 (6): 259–263. doi:10.1179/sre.1932.1.6.259.