header

PHPで2地点間の直線距離を求める

(2/2)

サンプル・プログラムの解説

日本語表記の住所を緯度経度に変換する処理(11〜96行目)は、日本語の住所から緯度経度を求めるプログラムとほぼ同じである。

2地点間の緯度経度が分かれば、直線距離を求めることができる。ここで「直線距離」といっても、地球は丸いので、ピタゴラスの定理で求めるわけにはいかない。球面三角法で求める必要がある。
理論的な部分は、最後の「参考URL」を参照していただくとして、ここでは簡便な解法である「Hubenyの簡易式」を利用し、ユーザー関数calc_distanceをコーディングした(104〜135行目)。なお、ユーザー関数calc_distance日本測地系に準拠している。

137行目以降は表示処理である。
押下されたボタンの種類に応じ、リセット処理、距離計算処理、パラメータ入力処理の3つに分かれるが、表示部分のHTMLは共用している。

参考URL

(この項おわり)