素敵なサムシングを独断と偏見で一方的に紹介するブログ(´・ω・`)

IT

【MySQL】geometry型ではなくdouble型の緯度経度から2点間距離を計算して算出する方法【GPS位置情報】

投稿日: 2019年8月31日
最終更新日:

スポンサーリンク

336×280




位置情報を使ったマーケティング強し

利用者からしたらとても便利な機能

スマホアプリやECサイトを使っていると、GPS情報を用いた現在地点を軸にした検索機能が搭載されるようになってきています。

近隣情報を簡単に検索する事が出来るので利用者側からしたらとても便利な機能ですよね♪

未経験開発者からしたら謎の技術

しかし、この機能を実現する上でGPSや緯度経度の位置情報を用いた機能を実装した事がない人からすると、
どうやって実現すればええんじゃ・・・。orz
と、不安になると思います。

なので、今回はMySQLに登録されている緯度経度情報と、利用者の緯度経度情報を用いた近隣検索時の方法をご紹介しようと思います。

手順

前提

今回はMySQL5.7を使用し、以下の県庁所在地テーブルを用意して、操作を行ってみようと思います。

MySQL5.7にはgeometry型なる緯度経度を取扱う際にとても便利な型があるとの事ですが、今回はdouble型でそれぞれを管理してみようと思います。

サンプルデータはこんな感じ。

SQL

SQLのテンプレートは以下の形になります。

この式を実行するとdistance項目に2点間距離km単位で取得出来るので、ORDER BYWHERE条件にも使えます。

確認

東京タワーから

東京ディズニーランド」

ユニバーサルスタジオジャパン

ハウステンボス

本日のオススメ商品

終わりに

以上のように、緯度経度さえDBに登録しておけば2点間距離を簡単に算出する事が出来ました。

近隣検索方法について悩んでいる方はぜひ参考にしてみてください♪

336×280




336×280




CATEGORIES & TAGS

IT, , , , , , , ,

blogenist

Author: blogenist