この計算ツールでできること
地球の表面上にある2地点を結ぶ最短経路と、その経路をたどるために最初に向かうべき方角を求めるツールです。都市Aと都市Bの緯度・経度を入力すると、大圏距離をキロメートル・マイル・海里の3単位で算出し、あわせて真北から時計回りに測った初期方位角(出発時の進行方位)と、NNE(北北東)やSW(南西)といった方位の呼び名を表示します。
使い方
各地点の座標を十進度(度の小数表記)で入力してください。緯度は-90(南)から90(北)まで、経度は-180(西)から180(東)までの範囲です。「計算」ボタンを押すと距離と方位角が表示されます。初期値は都市Aが東京、都市Bがニューヨークに設定されています。
計算式の解説
距離の計算には、数値的に安定したハバーサイン(半正矢)公式を用います。緯度をラジアンで\(\varphi\)、経度をラジアンで\(\lambda\)とすると、まず \(a = \sin^{2}\frac{\Delta\varphi}{2} + \cos\varphi_1\cdot\cos\varphi_2\cdot\sin^{2}\frac{\Delta\lambda}{2}\) を求め、続いて中心角 \(c = 2\cdot\operatorname{atan2}(\sqrt{a},\,\sqrt{1-a})\) を計算します。これに地球の平均半径 \(R = 6371\ \text{km}\) を掛けると距離が得られます。方位角は、進行方向成分と横方向成分を atan2 で処理することで正しい象限に収まるように求め、最後に[0, 360)の範囲へ正規化します。
$$d = 2R\,\arctan\!\left(\frac{\sqrt{a}}{\sqrt{1-a}}\right), \qquad \theta = \operatorname{atan2}(y,\,x)$$ $$\text{where}\quad \left\{ \begin{aligned} a &= \sin^{2}\!\frac{\Delta\varphi}{2} + \cos\varphi_1\cos\varphi_2\,\sin^{2}\!\frac{\Delta\lambda}{2} \\ y &= \sin\Delta\lambda\,\cos\varphi_2 \\ x &= \cos\varphi_1\sin\varphi_2 - \sin\varphi_1\cos\varphi_2\cos\Delta\lambda \\ \varphi_1 &= \text{Lat}_A\cdot\tfrac{\pi}{180}, \quad \varphi_2 = \text{Lat}_B\cdot\tfrac{\pi}{180} \\ \Delta\varphi &= \varphi_2-\varphi_1, \quad \Delta\lambda = \left(\text{Lon}_B-\text{Lon}_A\right)\tfrac{\pi}{180} \\ R &= 6371\ \text{km} \end{aligned} \right.$$
計算例:東京からニューヨーク
東京(35.6895, 139.6917)とニューヨーク(40.7128, -74.0060)の場合、ハバーサイン公式による中心角は約\(1.7027\)ラジアンとなり、距離はおよそ\(10{,}849\ \text{km}\)(約6,741マイル、約5,858海里)です。初期方位角は約\(25.1^\circ\)で、大圏ルート上では北北東(NNE)へ向かう進路になります。
よくある質問
なぜ経路の途中で方位が変わるのですか? 大圏ルートは最短経路ですが、コンパスの方位が一定の道のりではありません。表示される方位角はあくまで出発地点での初期方位です。
精度はどの程度ですか? 地球を球体(\(R = 6371\ \text{km}\))とみなして計算しています。Vincenty法やWGS-84のような楕円体モデルを使うと約0.5%精度が高まりますが、計算はより複雑になります。
2地点が同じ場合はどうなりますか? 距離は0となり、方位角は定義できません。このツールでは0度を返します。