【PHP】地理情報計算ライブラリ geodesy-php の紹介

  • 2021年3月10日
  • PHP

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

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG