MySQL 5.7で2点間の距離(メートル)をSQLで取得する方法

2017年07月07日
投稿者:岩佐 孝浩
カテゴリ:MySQL タグ:
MySQL

MySQL 5.7で2点間の距離(メートル)をSQLで取得する方法

鈴木商店の岩佐です。
最近、位置情報を扱うシステムを開発しており、2点間の正確な距離を取得する必要がありました。
MySQL 5.7の場合、ST_Distance_Sphereで簡単に2点間の距離(メートル)を取得する方法がありましたので、備忘録として残しておきます。
以下SQLのPOINTの引数は、”longitude (経度)” “latitude (緯度)” の順番であることに注意して下さい。

「CakePHP 3でMySQLのgeometry型の値を生成する方法」も併せてどうぞ。

鈴木商店~大阪城までの距離

SQL

実行結果

row distance_meter
1 1882.1360099034516

Google Mapの測定結果

鈴木商店~大阪城までの距離
鈴木商店~大阪城までの距離

「距離が近いから、精度が怪しい」と思った方のために、JR大阪駅~JR東京駅までの距離も測ってみました。

JR大阪駅~JR東京駅までの距離

SQL

実行結果

row distance_meter
1 403048.2752256764

Google Mapの測定結果

JR大阪駅~JR東京駅までの距離
JR大阪駅~JR東京駅までの距離

「いやいや、極の近くじゃないから、精度が怪しい」と思った方のために、スバールバル諸島のPyramiden Container HostelからHotel Tulpanまでの距離も測ってみました。

Pyramiden Container HostelからHotel Tulpanまでの距離

SQL

実行結果

row distance_meter
1 1110.8932928975748

Google Mapの測定結果

Pyramiden Container HostelからHotel Tulpanまでの距離
Pyramiden Container HostelからHotel Tulpanまでの距離

以上、お役に立てれば幸いです。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です