大円距離のソースを表示
←
大円距離
ナビゲーションに移動
検索に移動
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[ファイル:Illustration_of_great-circle_distance.svg|サムネイル|2点(P,Q)間の大円距離(赤線部)。u,vは赤道との交点]] '''大円距離'''(だいえんきょり、{{lang-en-short|great-circular distance}})は、[[球面]]上の[[大円]]に沿う[[距離]]をさす。大円の性質により、球面上の経路として2点間の最短[[距離]]である。 特に地球上においては'''大圏距離'''(たいけんきょり)とも言う。なおこの記事では[[回転楕円体]]面上の最短距離(測地距離)は扱わない。 ==概要== [[ユークリッド空間]]では、球内部を通り2点間を直線で結ぶ[[ユークリッド距離]]が最小となるが(したがって大円[[弦 (数学)|弦長]])、球面上には直線が存在しないためこれとは異なる。 [[非ユークリッド幾何学|非ユークリッド空間]]では、直線を一般化した[[測地線]]を使用する。球面においては測地線は球の中心を中心とする円である[[球面#用語法|大円]]となるため、大円距離は大円上の2点間の[[弧 (幾何学)|弧]]の長さとなる。 球面上の[[対蹠点]]以外の2点を通る大円は一意に定まる。 2点は大円を2つの弧に分割する。 そのうち短い方の弧の長さが大円距離となる。 <!--A great circle endowed with such a distance is the Riemannian circle.--> 対蹠点に関しては、その2点を通る任意の円が大円となるが、すべての円において2点間の弧の長さは一定である。すなわち半円の[[円周]]であり、半径<math>r</math>の球においては<math>\pi r</math>である。 地球はほぼ球状であるため、2点間の距離を球として計算しても誤差は0.5%以内となる(後述)。<ref>{{Citation|title=Admiralty Manual of Navigation, Volume 1|year=1987|url=https://books.google.co.jp/books?id=xcy4K5BPyg4C&pg=PA10&redir_esc=y&hl=ja|page=10|publisher=The Stationery Office|isbn=9780117728806|quotation=The errors introduced by assuming a spherical Earth based on the international nautical mile are not more than 0.5% for latitude, 0.2% for longitude.}}</ref> 大円の弧([[大圏コース]])は等角航路や[[:en:isoazimuthal|isoazimuthal]]線と同様に地球上の任意の2点間を結ぶことができる3つの手法の一つである。 == 数式 == [[ファイル:Central_angle.svg|サムネイル|2点P,Q間の中心角<math>\Delta\sigma</math>。λとφはPの緯度と経度。]] 2点間の大円距離<math>d</math>(球面上の経路として距離)は、両者間の[[中心角]]である[[弧度]] <math>\Delta\sigma</math>および球の半径 <math>r</math>から求められる。 : <math>d = r \, \Delta\sigma</math> 大円距離の計算は、航空機や船舶の経路計算の一部であり、大円距離以外に、出発点および中間の各点における方位角の計算も行う。 [[海里]]の距離の計算の際は[[度数法]]における分がそのまま海里として用いられる(度で表したものの60倍)。 ===球面余弦定理=== [[弧度]] <math>\Delta\sigma</math>は[[球面三角法|球面余弦定理]]を用いて計算されることが多い。<math>\phi_1,\lambda_1</math> と<math>\phi_2,\lambda_2</math> をそれぞれ点1と点2の[[緯度]]と[[経度]]とし、<math>\Delta\phi,\Delta\lambda</math> はそれらの差を表す。 : <math>\Delta\sigma=\arccos\bigl(\sin\phi_1\cdot\sin\phi_2+\cos\phi_1\cdot\cos\phi_2\cdot\cos\Delta\lambda\bigr)</math> ただし、この<math>\arccos</math>関数は精度(ビット数)が低い[[浮動小数点数]] を扱う計算機においては、短い距離において大きな[[丸め誤差]]が発生し精度条件が悪化する<ref>たとえば地球上においては1 kmの距離に対して0.99999999となる。</ref>。ただし現在用いられる[[倍精度浮動小数点数|64ビットの浮動小数点数]]においては数メートル以上の距離においては問題を起こさないとの意見もある<ref>{{Cite web|url=http://www.movable-type.co.uk/scripts/latlong.html|title=Calculate distance, bearing and more between Latitude/Longitude points|accessdate=10 Aug 2013}}</ref>。 ===単位球面における大円の弦長と弧度=== 単位球面における大円の[[弦 (数学)|弦長]]<math>\Delta\sigma_\text{c}</math>と[[弧度]]<math>\Delta\sigma</math>との関係は<ref><math>\Delta\sigma_\text{c} = 0</math> における級数展開形は、<math>\Delta\sigma = \Delta\sigma_\text{c} \left( 1 + \frac{\Delta\sigma_\text{c}^2}{24} + \frac{3 \Delta\sigma_\text{c}^4}{640} + \cdots \right)</math>。</ref>、 :<math>\Delta\sigma_\text{c}=2\sin \frac{\Delta\sigma}{2}</math> :<math>\Delta\sigma=2\arcsin \frac{\Delta\sigma_\text{c}}{2}</math> <math>\arcsin</math>関数<ref>もしくは逆haversine関数。</ref>は短い距離において計算精度条件が良い(球面余弦定理の利用よりも)<ref>{{Cite journal|date=August 1984|title=Virtues of the Haversine|journal=Sky and Telescope|volume=68|issue=2|page=159|last1=Sinnott|first1=Roger W.}}</ref>。これは[[球面三角法#haversine 半正矢関数|haversine関数]]<ref><math>\operatorname{hav}(\theta)\triangleq\sin^2(\theta/2)</math></ref>を用いても表現でき、歴史的に[[弧度]]を求める計算で、下記の弦長計算式とhaversineの関数表を用いた。 === 弦長の計算 === [[弦 (数学)|弦長]]<math>\Delta\sigma_\text{c}</math>の計算式は(<math>\phi_\textrm{m} \triangleq \frac{\phi_1+\phi_2}{2}</math>): :<math>\begin{align}\Delta\sigma_\text{c}&=2\sqrt{\sin^2\left(\frac{\Delta\phi}{2}\right)+\cos{\phi_1}\cdot\cos{\phi_2}\cdot\sin^2\left(\frac{\Delta\lambda}{2}\right)} \ , \\ &=2\sqrt{\left(\sin \frac{\Delta \lambda}{2} \cos\phi_\textrm{m} \right)^2 + \left(\cos \frac{\Delta \lambda}{2} \sin \frac{\Delta \phi}{2} \right)^2} \ . \end{align}</math> ====逆正接関数を用いる計算式==== 上記の計算式は球面上のほとんどの点の間において正確だが、対蹠点間に対しては<math>\arcsin</math>関数の計算精度が低下する。 対策として、すべての距離に用いることができる式として逆正接関数<math>\arctan</math><ref>プログラミングの際は通常の逆正接関数(<code>atan()</code>)よりも <code>atan2()</code> 関数を用いたほうが、<math>\Delta\sigma</math> が全象限で出力されるため良い。</ref>を用いる下記の式がある(Vincenty formula内で全ての軸の経が等しい楕円体からも導かれる)<ref>{{Cite journal|last=Vincenty|first=Thaddeus|date=1975-04-01|title=Direct and Inverse Solutions of Geodesics on the Ellipsoid with Application of Nested Equations|url=http://www.ngs.noaa.gov/PUBS_LIB/inverse.pdf|journal=Survey Review|volume=23|issue=176|pages=88–93|publisher=[[Directorate of Overseas Surveys]]|accessdate=2008-07-21|format=[[PDF]]|authorlink=Thaddeus Vincenty|location=Kingston Road, Tolworth, Surrey|doi=10.1179/sre.1975.23.176.88}}</ref>。 :<math>\Delta\sigma=\arctan \frac{\sin \Delta\sigma}{\cos \Delta\sigma},</math> :<math>\cos \Delta\sigma = \sin\phi_1\cdot\sin\phi_2+\cos\phi_1\cdot\cos\phi_2\cdot\cos\Delta\lambda,</math> :<math>\sin \Delta\sigma = \sqrt{\left(\cos\phi_2\cdot\sin\Delta\lambda \right)^2+\left(\cos\phi_1\cdot\sin\phi_2-\sin\phi_1\cdot\cos\phi_2\cdot\cos\Delta\lambda \right)^2}.</math> ==== 直交座標系による弦長の計算 ==== 単位球面における大円弦長<math>\Delta\sigma_\text{c}</math>は[[直交座標系]]を経由しても計算できる。 :<math>\begin{align} \Delta\sigma_\text{c}&=\sqrt{(\Delta{X})^2+(\Delta{Y})^2+(\Delta{Z})^2}\\ \Delta{X}&\triangleq\cos\phi_2\cdot\cos\lambda_2 - \cos\phi_1\cdot\cos\lambda_1\\ \Delta{Y}&\triangleq\cos\phi_2\cdot\sin\lambda_2 - \cos\phi_1\cdot\sin\lambda_1\\ \Delta{Z}&\triangleq\sin\phi_2 - \sin\phi_1\end{align}</math> === ベクトル表現 === [[弧度]]<math>\Delta\sigma</math>は、ユークリッド空間上の単位長3次元ベクトルの[[内積]]と[[クロス積|外積]]により以下のように表すことができる<ref>{{Cite journal|year=2010|title=A non-singular horizontal position representation|url=http://www.navlab.net/Publications/A_Nonsingular_Horizontal_Position_Representation.pdf|journal=The Journal of Navigation|volume=63|issue=3|pages=395–417|publisher=Cambridge University Press|format=PDF|last1=Gade|first1=Kenneth|doi=10.1017/S0373463309990415}}</ref>。<math>\mathbf n_1</math>と<math>\mathbf n_2</math> は球面上の2点の単位法線ベクトルを表す。計算精度条件の比較は上記と同様となる。 :<math>\begin{align} \Delta\sigma &=\arccos (\mathbf n_1\cdot \mathbf n_2) \\ \Delta\sigma &=\arcsin \left| \mathbf n_1\times \mathbf n_2 \right| \\ \Delta\sigma &=\arctan \frac{\left| \mathbf n_1\times \mathbf n_2 \right|}{\mathbf n_1\cdot \mathbf n_2} \\ \end{align}\,\!</math> === 回転楕円体面上の距離 === {{main|経緯度#回転楕円体面に沿う最短距離の式}} == 地球半径 == 地球の形状は回転軸方向に潰れた球([[扁球]])とみなすことができる。この時[[赤道半径]] <math>a</math> は6378.137 km、極半径 <math>b</math> は6356.752 kmとなる。 赤道付近の短い南北方向の線においては半径 <math>b^2/a</math> (6335.439 km)とした際が最も良い近似となり、極においては半径 <math>a^2/b</math> (6399.594 km) が最も良い。この差は1%である。 つまり、地球を球体と仮定した計算においては、地球上の任意の2点間の距離に対する1つの計算による誤差は 0.5% 以内とすることができる(ただし、限られた地域に関してはより誤差の少ない値を使用することもできる。)。 この値として平均地球半径を用いるとよく<ref>{{Cite journal|last=McCaw|first=G. T.|year=1932|title=Long lines on the Earth|journal=Empire Survey Review|volume=1|pages=259–263|number=6|doi=10.1179/sre.1932.1.6.259}}</ref>、その値は<math>R_1 = \frac13(2a+b) \approx 6371\,\mathrm{km}</math>(値は[[GRS 80]]における[[回転楕円体]]近似に対して)である。 [[扁平率]]が小さい場合はこの値が[[平均二乗誤差|平均自乗誤差]]を最小化する。 == 脚注 == {{Reflist}} == 関連項目 == * [[大圏コース]] * [[測地学]] * [[測地系]] * [[測地線]] * [[子午線弧]] * [[等角航路]] * [[地球球体説]] * [[球面幾何学]] * [[球面三角法]] * [[非ユークリッド幾何学]] * [[球面座標系]] * [[角距離]] {{DEFAULTSORT:たいえんきより}} [[Category:計量幾何学]] [[Category:球面三角法]]
このページで使用されているテンプレート:
テンプレート:Citation
(
ソースを閲覧
)
テンプレート:Cite journal
(
ソースを閲覧
)
テンプレート:Cite web
(
ソースを閲覧
)
テンプレート:Lang-en-short
(
ソースを閲覧
)
テンプレート:Main
(
ソースを閲覧
)
テンプレート:Reflist
(
ソースを閲覧
)
大円距離
に戻る。
ナビゲーション メニュー
個人用ツール
ログイン
名前空間
ページ
議論
日本語
表示
閲覧
ソースを閲覧
履歴表示
その他
検索
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
特別ページ
ツール
リンク元
関連ページの更新状況
ページ情報