ネット上のQ&Aサイトや初学者向けの技術ブログで、後を絶たない深刻な誤解が存在します。それが「スマホで取得した緯度経度の数値を、そのまま平面の二点間の距離の公式に代入して計算してしまう」という過ちです。
例えば、東京タワー(北緯35.6586度、東経139.7454度)と東京スカイツリー(北緯35.7100度、東経139.8107度)の距離を求めるとします。誤って平面の公式 $\sqrt{(35.7100 - 35.6586)^2 + (139.8107 - 139.7454)^2}$ を実行すると、得られる答えは約「0.0827」という無意味な角度の差分値に過ぎません。これに「地球の円周から割り出した1度あたりの距離(約111km)」を一律に掛け算しても、正確な距離は導けません。
地球は球体であり、経度1度の距離は赤道付近(約111km)から極点(0km)に向かうにつれて縮んでいきます。日本付近(北緯35度前後)における経度1度の長さは、赤道直下の約82%(約91km)まで減少します。つまり、縦軸(緯度)と横軸(経度)で1度あたりのメートル数が全く一致しない歪んだグリッド上で計算している状態になります。
この地理的歪みを解消し、日本国内の実務で長年信頼されているのがヒュベニの公式です。地球を真球ではなく扁平な「回転楕円体」として扱い、平均緯度から子午線曲率半径(南北方向の曲がり具合)と卯酉線曲率半径(東西方向の曲がり具合)を個別に算出して距離を導きます。数十キロメートル程度の日常的な商圏分析や位置情報サービスであれば、ミリ単位の高価な測地計算ソフトを使わずとも、ヒュベニの公式だけで誤差0.1%未満の実用精度を叩き出せます。
【プロの結論】用途に応じた計算手法の選択基準と失敗しないチェックリスト
距離計算のアルゴリズムを選定する際、実務者が意識すべき明確な境界線は以下の通りです。
- 平面直交座標系・CAD・2Dグラフィックス:三平方の定理に基づく平面ユークリッド距離(公式そのまま)で全く問題なし。
- 3Dモデリング・ゲームエンジン・ロボティクス:3次元ユークリッド距離(ベクトルのノルム)を採用。
- 日本国内のGPS・位置情報アプリ・店舗検索(〜100km圏内):ヒュベニの公式を採用。平面公式をそのまま使うのは厳禁。世界測地系(WGS84またはJGD2011)を前提に計算式を組むこと。
- 大陸横断便・国際航海・地球規模のデータ分析(1,000km以上):球面三角法(Haversine式)または測地線の精密計算(Vincenty法)を選択すること。