順解法
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/04/26 07:32 UTC 版)
順解法は始点 ( ϕ 1 , L 1 ) {\displaystyle (\phi _{1},L_{1})} と始点における方位角 α 1 {\displaystyle \alpha _{1}} 、距離 s {\displaystyle s} が与えられた時の終点の座標 ( ϕ 2 , L 2 ) {\displaystyle (\phi _{2},L_{2})} と方位角 α 2 {\displaystyle \alpha _{2}} を導く。 まず、以下の計算を行う。 U 1 = arctan ( ( 1 − f ) tan ϕ 1 ) {\displaystyle U_{1}=\arctan \left((1-f)\tan \phi _{1}\right)\,} σ 1 = arctan ( tan U 1 cos α 1 ) {\displaystyle \sigma _{1}=\arctan \left({\frac {\tan U_{1}}{\cos \alpha _{1}}}\right)\,} sin α = cos U 1 sin α 1 {\displaystyle \sin \alpha =\cos U_{1}\sin \alpha _{1}\,} cos 2 α = 1 − sin 2 α {\displaystyle \cos ^{2}\alpha =1-\sin ^{2}\alpha \,} u 2 = cos 2 α a 2 − b 2 b 2 {\displaystyle u^{2}=\cos ^{2}\alpha {\frac {a^{2}-b^{2}}{b^{2}}}\,} A = 1 + u 2 16384 { 4096 + u 2 [ − 768 + u 2 ( 320 − 175 u 2 ) ] } {\displaystyle A=1+{\frac {u^{2}}{16384}}\left\{4096+u^{2}\left[-768+u^{2}(320-175u^{2})\right]\right\}} B = u 2 1024 { 256 + u 2 [ − 128 + u 2 ( 74 − 47 u 2 ) ] } {\displaystyle B={\frac {u^{2}}{1024}}\left\{256+u^{2}\left[-128+u^{2}(74-47u^{2})\right]\right\}} σ {\displaystyle \sigma } を σ = s b A {\displaystyle \sigma ={\tfrac {s}{bA}}} で初期化し、以下の収束するまで反復計算を行う。 2 σ m = 2 σ 1 + σ {\displaystyle 2\sigma _{m}=2\sigma _{1}+\sigma \,} Δ σ = B sin σ { cos ( 2 σ m ) + 1 4 B [ cos σ ( − 1 + 2 cos 2 ( 2 σ m ) ) − 1 6 B cos ( 2 σ m ) ( − 3 + 4 sin 2 σ ) ( − 3 + 4 cos 2 ( 2 σ m ) ) ] } {\displaystyle \Delta \sigma =B\sin \sigma {\Big \{}\cos(2\sigma _{m})+{\tfrac {1}{4}}B{\big [}\cos \sigma {\big (}-1+2\cos ^{2}(2\sigma _{m}){\big )}-{\tfrac {1}{6}}B\cos(2\sigma _{m})(-3+4\sin ^{2}\sigma ){\big (}-3+4\cos ^{2}(2\sigma _{m}){\big )}{\big ]}{\Big \}}} σ = s b A + Δ σ {\displaystyle \sigma ={\frac {s}{bA}}+\Delta \sigma \,} σ {\displaystyle \sigma } が所望の精度まで収束したら以下の計算を行う。 ϕ 2 = arctan ( sin U 1 cos σ + cos U 1 sin σ cos α 1 ( 1 − f ) sin 2 α + ( sin U 1 sin σ − cos U 1 cos σ cos α 1 ) 2 ) {\displaystyle \phi _{2}=\arctan \left({\frac {\sin U_{1}\cos \sigma +\cos U_{1}\sin \sigma \cos \alpha _{1}}{(1-f){\sqrt {\sin ^{2}\alpha +(\sin U_{1}\sin \sigma -\cos U_{1}\cos \sigma \cos \alpha _{1})^{2}}}}}\right)\,} λ = arctan ( sin σ sin α 1 cos U 1 cos σ − sin U 1 sin σ cos α 1 ) {\displaystyle \lambda =\arctan \left({\frac {\sin \sigma \sin \alpha _{1}}{\cos U_{1}\cos \sigma -\sin U_{1}\sin \sigma \cos \alpha _{1}}}\right)\,} C = f 16 cos 2 α [ 4 + f ( 4 − 3 cos 2 α ) ] {\displaystyle C={\frac {f}{16}}\cos ^{2}\alpha {\big [}4+f(4-3\cos ^{2}\alpha ){\big ]}\,} L = λ − ( 1 − C ) f sin α { σ + C sin σ [ cos ( 2 σ m ) + C cos σ ( − 1 + 2 cos 2 ( 2 σ m ) ) ] } {\displaystyle L=\lambda -(1-C)f\sin \alpha \left\{\sigma +C\sin \sigma \left[\cos(2\sigma _{m})+C\cos \sigma (-1+2\cos ^{2}(2\sigma _{m}))\right]\right\}\,} L 2 = L + L 1 {\displaystyle L_{2}=L+L_{1}\,} α 2 = arctan ( sin α − sin U 1 sin σ + cos U 1 cos σ cos α 1 ) {\displaystyle \alpha _{2}=\arctan \left({\frac {\sin \alpha }{-\sin U_{1}\sin \sigma +\cos U_{1}\cos \sigma \cos \alpha _{1}}}\right)\,} 始点が極点である時、最初の等式は不定となる。始点の方位角が真西か真東の場合2番目の等式は不定となる。しかし、2変数関数のatan2等を用いることでこれらの値は正しく計算できる。
※この「順解法」の解説は、「Vincenty法」の解説の一部です。
「順解法」を含む「Vincenty法」の記事については、「Vincenty法」の概要を参照ください。
- 順解法のページへのリンク