経緯度を用いた2地点間の測地線長、方位角を求める計算

最終更新日:2020年3月5日

  \(\varphi_1\): 出発点の緯度,\(L_1\): 出発点の経度

  \(\varphi_2\): 到着点の緯度,\(L_2\): 到着点の経度

   ただし、
    北緯を正、南緯を負
    東経を正、西経を(\(360^{\circ}-\)経度)
   とする。

  \(a\): 長半径,\(f\): 扁平率

  \(l=L_2-L_1\)

  \(\displaystyle{\begin{eqnarray} l^{\prime}=\left\{ \begin{array}{lr} l-360^{\circ} & (l > 180^{\circ}) \\ l+360^{\circ} & (l < -180^{\circ}) \\ l & (-180^{\circ} \leq l \leq 180^{\circ}) \\ \end{array} \right. \end{eqnarray}}\)

  \(L=|l^{\prime}|\, ,\:\: L^{\prime}=180^{\circ}-L\)

  \(\displaystyle{\begin{eqnarray} \Delta=\left\{ \begin{array}{lr} \varphi_2-\varphi_1 & (l^{\prime} \geq 0^{\circ}) \\ \varphi_1-\varphi_2 & (l^{\prime} < 0^{\circ}) \\ \end{array} \right. \end{eqnarray}}\)

  \(\Sigma=\varphi_1+\varphi_2\)

  \(\displaystyle{\begin{eqnarray} u_1=\left\{ \begin{array}{lr} \tan^{-1}[(1-f)\tan\varphi_1] & (l^{\prime} \geq 0^{\circ}) \\ \tan^{-1}[(1-f)\tan\varphi_2] & (l^{\prime} < 0^{\circ}) \\ \end{array} \right. \end{eqnarray}}\)

  \(\displaystyle{\begin{eqnarray} u_2=\left\{ \begin{array}{lr} \tan^{-1}[(1-f)\tan\varphi_2] & (l^{\prime} \geq 0^{\circ}) \\ \tan^{-1}[(1-f)\tan\varphi_1] & (l^{\prime} < 0^{\circ}) \\ \end{array} \right. \end{eqnarray}}\)

  \(\Sigma^{\prime}=u_1+u_2\, ,\:\: \Delta^{\prime}=u_2-u_1\)

  \(\xi=\cos(\Sigma^{\prime}/2)\, ,\:\: \xi^{\prime}=\sin(\Sigma^{\prime}/2)\)

  \(\eta=\sin(\Delta^{\prime}/2)\, ,\:\: \eta^{\prime}=\cos(\Delta^{\prime}/2)\)

 

  \(x=\sin u_1\sin u_2\, ,\:\: y=\cos u_1\cos u_2\)

  \(\displaystyle{ c=y\cos L+x\, ,\:\: \varepsilon=\frac{f(2-f)}{(1-f)^2} }\)

 

ゾーンの判断、\(\theta_{(0)}\) の計算

  \(c\) を用い、下記表から \(\theta_{(0)}\) を算出する。

ゾーン \(c\) の範囲 \(\theta_{(0)}\)
(1) \(c\geq 0\) \(\theta_{(0)}=L(1+fy)\)
(2) \(0 > c \geq -\cos(3^{\circ}\cos u_1)\) \(\theta_{(0)}=L^{\prime}\)
(3) \(c < -\cos(3^{\circ}\cos u_1)\) 下記ゾーン(3)の計算により \(\theta_{(0)}\) を求める

  以下計算式が列記されている場合、ゾーン(2)、(3a)、(3b1)については**式により、
  ゾーン(1)については無印の式による。
  1回目の計算は \(\theta_{(0)}\equiv\theta_{(n)}\) とし、2回目以降は \(\theta_{(n+1)}\equiv\theta_{(n)}\) とする。

  \(\displaystyle{g=\sqrt{\eta^2\cos^2\frac{\theta_{(n)}}{2}+\xi^2\sin^2\frac{\theta_{(n)}}{2}}}\) 又は ** \(\displaystyle{g=\sqrt{\eta^2\sin^2\frac{\theta_{(n)}}{2}+\xi^2\cos^2\frac{\theta_{(n)}}{2}}}\)

  \(\displaystyle{h=\sqrt{\eta^{\prime\:\!2}\cos^2\frac{\theta_{(n)}}{2}+\xi^{\prime\:\!2}\sin^2\frac{\theta_{(n)}}{2}}}\) 又は ** \(\displaystyle{h=\sqrt{\eta^{\prime\:\!2}\sin^2\frac{\theta_{(n)}}{2}+\xi^{\prime\:\!2}\cos^2\frac{\theta_{(n)}}{2}}}\)

 

  \(\displaystyle{ \sigma=2\tan^{-1}\frac{g}{h}\, ,\:\:J=2gh\, ,\:\:K=h^2-g^2\, ,\:\:\gamma=\frac{y\sin\theta_{(n)}}{J} }\)

  \(\displaystyle{ \Gamma=1-\gamma^2\, ,\:\:\zeta=\Gamma K-2x\, ,\:\:\zeta^{\prime}=\zeta+x\, ,\:\: D=\frac{1}{4}f(1+f)-\frac{3}{16}f^2\Gamma }\)

  \(\displaystyle{ E=(1-D\Gamma)f\gamma[\sigma+DJ\{\zeta+DK(2\zeta^2-\Gamma^2)\}] }\)

  \(\displaystyle{F=\theta_{(n)}-L-E}\) 又は ** \(\displaystyle{F=\theta_{(n)}-L^{\prime}+E}\)

 

  \(\displaystyle{ G=f\gamma^2(1-2D\Gamma)+f\zeta^{\prime}\left(\frac{\sigma}{J}\right)\left(1-D\Gamma+\frac{1}{2}f\gamma^2\right)+\frac{1}{4}f^2\zeta\zeta^{\prime} }\)

  \(\displaystyle{ \theta_{(n+1)}=\theta_{(n)}-\frac{F}{1-G} }\)

  \(|F|<1\times10^{-15}\) となるまで反復計算して \(\theta\) を求める。

 

方位角の計算

  以下計算式が列記されている場合、ゾーン(2)、(3a)、(3b1)については**式により、
  ゾーン(1)については無印の式による。

  \(\displaystyle{\alpha=\tan^{-1}\left(\frac{\xi}{\eta}\tan\frac{\theta}{2}\right)}\) 又は ** \(\displaystyle{\alpha=\tan^{-1}\left(\frac{\eta^{\prime}}{\xi^{\prime}}\tan\frac{\theta}{2}\right)}\)

  \(\displaystyle{\frac{\Delta\alpha}{2}=\tan^{-1}\left(\frac{\xi^{\prime}}{\eta^{\prime}}\tan\frac{\theta}{2}\right)}\) 又は ** \(\displaystyle{\frac{\Delta\alpha}{2}=\tan^{-1}\left(\frac{\eta}{\xi}\tan\frac{\theta}{2}\right)}\)

  \(\displaystyle{\begin{eqnarray} \alpha^{\prime}=\left\{ \begin{array}{lr} \alpha & (\alpha \geq 0, L \geq 0^{\circ} \:\:\:{\rm or}\:\:\: \alpha < 0, L=0^{\circ}) \\ \alpha+180^{\circ} & (\alpha < 0, L>0^{\circ}) \\ \end{array} \right. \end{eqnarray}}\)

  \(\displaystyle{ \alpha_1^{\prime}=\alpha^{\prime}-\frac{\Delta\alpha}{2} }\)

  \(\displaystyle{\alpha_2=\alpha^{\prime}+\frac{\Delta\alpha}{2}}\) 又は ** \(\displaystyle{\alpha_2=180^{\circ}-\alpha^{\prime}-\frac{\Delta\alpha}{2}}\)

  \(\displaystyle{ \alpha_{21}^{\prime}=180^{\circ}+\alpha_2 }\)

  \(\displaystyle{\begin{eqnarray} \alpha_1=\left\{ \begin{array}{lr} \alpha_1^{\prime} & (l^{\prime} \geq 0^{\circ}) \\ \alpha_{21}^{\prime} & (l^{\prime} < 0^{\circ}) \\ \end{array} \right. \end{eqnarray}}\)

  \(\displaystyle{\begin{eqnarray} \alpha_{21}=\left\{ \begin{array}{lr} \alpha_{21}^{\prime} & (l^{\prime} \geq 0^{\circ}) \\ \alpha_1^{\prime} & (l^{\prime} < 0^{\circ}) \\ \end{array} \right. \end{eqnarray}}\)

  ここで \(\alpha_1\, ,\:\:\alpha_{21}\) が \(0^{\circ}\) から \(360^{\circ}\) の範囲外の場合は、その範囲に収まるよう
  \(360^{\circ}\) の整数倍を足し引きする(例えば \(\alpha_1=-120^{\circ}\) の場合、\(\alpha_1=240^{\circ}\) とする。)。
  さらに以下に該当する場合、\(\alpha_1\, ,\:\:\alpha_{21}\) を更新する。

    \(\displaystyle{\begin{eqnarray} \alpha_1=\left\{ \begin{array}{lr} 0^{\circ} & (L=0^{\circ}, \Delta \geq 0 \:\:\:{\rm or}\:\:\: |L|=180^{\circ}, \Sigma \geq 0) \\ 180^{\circ} & (L=0^{\circ}, \Delta < 0 \:\:\:{\rm or}\:\:\: |L|=180^{\circ}, \Sigma < 0) \\ \end{array} \right. \end{eqnarray}}\)

    \(\displaystyle{\begin{eqnarray} \alpha_{21}=\left\{ \begin{array}{lr} 0^{\circ} & (L=0^{\circ}, \Delta < 0 \:\:\:{\rm or}\:\:\: |L|=180^{\circ}, \Sigma \geq 0) \\ 180^{\circ} & (L=0^{\circ}, \Delta \geq 0 \:\:\:{\rm or}\:\:\: |L|=180^{\circ}, \Sigma < 0) \\ \end{array} \right. \end{eqnarray}}\)

  以上により、出発点における到着点の方位角 \(\alpha_1\) と、
  到着点における出発点の方位角 \(\alpha_{21}\) が得られる。

 

測地線長 \(s\) の計算

  \(\displaystyle{ n_0=\frac{\varepsilon\Gamma}{(\sqrt{1+\varepsilon\Gamma}+1)^2} }\)

  \(\displaystyle{ A=(1+n_0)\left(1+\frac{5}{4}{n_0}^2\right)\, ,\:\: B=\frac{\varepsilon(1-3{n_0}^2/8)}{(\sqrt{1+\varepsilon\Gamma}+1)^2} }\)

  \(\displaystyle{ s=(1-f)aA\left(\sigma-BJ\left[\zeta-\frac{1}{4}B\left\{K(\Gamma^2-2\zeta^2)-\frac{1}{6}B\zeta(1-4K^2)(3\Gamma^2-4\zeta^2)\right\}\right]\right) }\)

ゾーン(3)の計算

  \(\displaystyle{ R=f\pi\cos^2 u_1\left\{1-\frac{1}{4}f(1+f)\sin^2 u_1+\frac{3}{16}f^2\sin^4 u_1\right\} }\)

  \(\displaystyle{ d_1=L^{\prime}\cos u_1-R\, ,\:\: d_2=|\Sigma^{\prime}|+R\, ,\:\: }\)

  \(\displaystyle{ q=\frac{L^{\prime}}{f\pi}\, ,\:\: f_1=\frac{1}{4}f\left(1+\frac{1}{2}f\right)\, ,\:\: \gamma_0=q+f_1 q-f_1 q^3 }\)

  (a) \(\Sigma \neq 0\) の場合の \(\theta_{(0)}\) の計算

    \(\displaystyle{A_0=\tan^{-1}\frac{d_1}{d_2}}\) ただし、\(\displaystyle{-90^{\circ} \leq A_0 \leq +90^{\circ}}\) とする。

    \(\displaystyle{B_0=\sin^{-1}\frac{R}{\sqrt{{d_1}^2+{d_2}^2}}}\) ただし、\(\displaystyle{0^{\circ} \leq B_0 \leq +90^{\circ}}\) とする。

    \(\displaystyle{ \psi=A_0+B_0\, ,\:\: j=\frac{\gamma_0}{\cos u_1}\, ,\:\: k=(1+f_1)|\Sigma^{\prime}|\frac{1-fy}{f\pi y}\, ,\:\: j_1=\frac{j}{1+k\sec\psi} }\)

    \(\displaystyle{\psi^{\prime}=\sin^{-1}j_1}\) ただし、\(\displaystyle{0^{\circ} \leq \psi^{\prime} \leq +90^{\circ}}\) とする。

    \(\displaystyle{\psi^{\prime\prime}=\sin^{-1}\left(\frac{\cos u_1}{\cos u_2}j_1\right)}\) ただし、\(\displaystyle{0^{\circ} \leq \psi^{\prime\prime} \leq +90^{\circ}}\) とする。

    \(\displaystyle{ \theta_{(0)}=2\tan^{-1}\left(\frac{\displaystyle{\tan\frac{\psi^{\prime}+\psi^{\prime\prime}}{2}}\sin\frac{|\Sigma^{\prime}|}{2}}{\displaystyle{\cos\frac{\Delta^{\prime}}{2}}}\right) }\)

  (b) \(\Sigma=0\) の場合

    (b1) \(d_1 > 0\) ならば \(\theta_{(0)}=L^{\prime}\)

    (b2) \(d_1 = 0\) ならば

      \(\displaystyle{ \alpha_1=\alpha_2=90^{\circ}\, ,\:\:\alpha_{21}=270^{\circ}\, ,\:\:\Gamma=\sin^2 u_1 }\)

      \(\displaystyle{ s=(1-f)aA\pi }\)

    (b3) \(d_1 < 0\) ならば

      1回目の計算は \(\gamma_{(0)}\equiv\gamma_{(n)}\) とし、2回目以降は \(\gamma_{(n+1)}\equiv\gamma_{(n)}\) とする。

      \(\displaystyle{ \Gamma=1-\gamma_{(n)}^2\, ,\:\: D=\frac{1}{4}f(1+f)-\frac{3}{16}f^2\Gamma\, ,\:\: \gamma_{(n+1)}=\frac{q}{1-D\Gamma} }\)

      \(\left|\gamma_{(n)}-\gamma_{(n-1)}\right|<1\times10^{-15}\) となるまで反復計算して \(\Gamma, D\) を求める。

      \(\displaystyle{ m=1-q\sec u_1\, ,\:\: n=\frac{D\Gamma}{1-D\Gamma}\, ,\:\: w=m-n+mn }\)

      \(\displaystyle{\begin{eqnarray} \alpha_1=\left\{ \begin{array}{lr} 90^{\circ} & (w \leq 0) \\ 90^{\circ}-2\sin^{-1}\sqrt{\displaystyle{\frac{w}{2}}} & (w > 0) \\ \end{array} \right. \end{eqnarray}}\)

      \(\displaystyle{ \alpha_2=180^{\circ}-\alpha_1\, ,\:\: \alpha_{21}=180^{\circ}+\alpha_2 }\)

      \(\displaystyle{ s=(1-f)aA\pi }\)


引用文献

Total Inverse Solutions for the Geodesic and Great Elliptic,
B. R. Bowring, Survey Review, 33, 261 (July 1996), 461–476.