jtejido/geodesy-php at aab1b44f5610f4de902893e650c03a30a45bb850
geodesy-php は地理情報計算ライブラリです。緯度経度による計算はもちろん、座標系、測地系、地球のモデル、メートル単位、マイル単位の色々に非常に幅広く対応しています。日本で地理情報を考慮する必要のある人間的には日本の平面直角座標系が欲しかったですが、流石に需要がローカルすぎるのかありません。JGD2000 に対応しているだけ十分でしょう。
使い方は例えば次です。
<?php require 'autoload.php'; // 緯度経度インスタンスを用意 $start = new \Geodesy\Location\LatLong(); $start->setLatitude(36.10377477777778); $start->setLongitude(140.08785502777778); // 緯度経度インスタンスを用意 $end = new \Geodesy\Location\LatLong(); $end->setLatitude(35.65502847222223); $end->setLongitude(139.74475044444443); // ヒュベニ式の距離計算インスタンスを用意 $d = new \Geodesy\Distance\HubenyFormula($start, $end); // 距離を取得 var_dump($d->getDistance());// 58643.92
このライブラリの特筆すべき点の一つは非常に疎に作られており、他環境への依存関係がほぼないことです。要求されるのは PHP 7.0 以上、というのみでエクステンションも他ライブラリも必要ありません。試してはいませんが babel-preset-php 的な PHP のコードを変換するコードでもきれいに変換が成立しそうです。
Kornel / babel-preset-php · GitLab