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

IT

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

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

Anker PowerCor

created by Rinker
Anker
¥3,990 (2025/01/05 12:09:11時点 Amazon調べ-詳細)

旅行には必須の大容量モバイルバッテリー!

【最新機種】GoPro hero11 Black

created by Rinker
¥61,300 (2025/01/05 20:59:47時点 楽天市場調べ-詳細)

最新機種でVlogの思い出を撮影しよう!

[ノースフェイス] THE NORTH FACE メンズ アウター マウンテンライトジャケット

created by Rinker
THE NORTH FACE(ザノースフェイス)
¥33,000 (2025/01/05 13:22:08時点 Amazon調べ-詳細)

防水暴風で耐久性抜群なので旅行で大活躍です!

レッドブル エナジードリンク 250ml×24本

created by Rinker
Red Bull(レッドブル)
¥4,000 (2025/01/05 12:33:39時点 Amazon調べ-詳細)

翼を授けよう!

モンスターエナジー 355ml×24本 [エナジードリンク]

created by Rinker
モンスター
¥4,718 (2025/01/05 12:33:40時点 Amazon調べ-詳細)

脳を活性化させるにはこれ!

BANDAI SPIRITS ULTIMAGEAR 遊戯王 千年パズル 1/1スケール

created by Rinker
BANDAI SPIRITS(バンダイ スピリッツ)
¥10,429 (2025/01/05 12:09:13時点 Amazon調べ-詳細)

もう一人の僕を呼び覚ませ!!

サンディスク microSD 128GB

スマホからSwitchまで使える大容量MicroSDカード!

スポンサーリンク

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

関連記事

YouTubeも見てね♪