
PHPで最も近い緯度経度をDBデータから抽出する方法について
現在携帯電話のGPS機能を使って、
お店の位置情報リストを使って現在地から最も近い場所を検索する機能を
PHPで作ろうと考えています。
そこで携帯電話から取得出来る位置情報をWGS84系に変換するまでは出来たのですが、
お店の位置情報リスト(こちらもWGS84系データで、SQLでDBに保存)から
どのような方法で検索すればよいのか困っています。
そもそもWGS84系のデータ仕様自体を詳しくわかっていないのですが、
PHPである場所の緯度経度から、DBにある緯度経度データから最も距離の近い緯度経度を検索・抽出するにはどうしたらよいでしょうか。
よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
>「ある緯度経度情報をDBに保存している緯度経度リストの中から一番近い1件を抽出する方法」になりますので、
ですから差の絶対値を出して比較すればよろしいわけですので具体的に言いますと
DBに保存している緯度経度リストが格納されているテーブル名が「location」
緯度が「latitude」フィールド、経度が「longitude」フィールドに格納されていたとしまして
以下のようなSQL文を実行すれば結果はだいたい近い順に並びますので
その一番上が一番近い1件となります。
SELECT * FROM `location` ORDER BY ABS(`latitude` - [調べたい緯度]) + ABS(`longitude` - [調べたい経度]) ASC
No.1
- 回答日時:
日本国内ぐらいなら現在位置の緯度経度と登録してある緯度経度の差の絶対値を出してそれを比較すれば距離の目安は得られます。
ただし地球上のどの場所でも1度が100km程度になる緯度に対して経線の長さは一定でないことに注意してください。極端な例では北極点から3mの距離の経線の長さはわずか18m、1度は5cmにしかなりません。もし地球上のどの場所でも通用するようにしたい場合はもう少し高度な手段が必要になります。
ご回答ありがとうございます。
現在開発予定の内容は日本国内のみの情報となりますので、
若干の誤差であれば発生しても問題ない内容になります。
ただ今回の質問の結果として得たいものが
「ある緯度経度情報をDBに保存している緯度経度リストの中から一番近い1件を抽出する方法」になりますので、
恐れ入りますがこちらの方法か参考サイトなどもご教授いただけると幸いです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript WordPressのコンタクトフォーム7にて送信者の位置情報を送らせたい 2 2022/09/14 23:28
- ガラケー・PHS 携帯電話の居場所信号の発信タイミング 3 2022/07/27 14:39
- iPhone(アイフォーン) iPad紛失時の探し方はありますか? 1 2022/09/11 16:44
- 事件・事故 国交省の検査機構をなぜ家宅捜査しないのでしょうか? 3 2022/05/04 19:53
- MySQL PhpMyAdminで作成して実行せよ。 東京23区を、皇居を中心とした4つのエリア(南東, 南西, 1 2023/06/11 11:58
- ハッキング・フィッシング詐欺 スマホアプリのトラッキング 個人情報について 5 2023/03/31 08:16
- その他(セキュリティ) 匿名チャットアプリでの知られたくない会話 個人情報について 1 2023/03/29 18:08
- その他(セキュリティ) 匿名チャットアプリ トラッキング 個人情報について 1 2023/03/29 20:35
- その他(開発・運用・管理) おんどとりWebStorage APIから温度情報を取得し表示したい 2 2023/08/03 09:53
- 地理学 Googleスプレッドシートで住所から緯度経度を取得、一部位置がずれる 3 2023/02/28 15:18
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB2010において面積の算出
-
エクセルで条件をつけて図形を...
-
ワードで、グレーの部分しか入...
-
フルスクリーンモードで開いたP...
-
エクセルVBA 作業後に選択範囲...
-
エクセルで非表示行を抜かして...
-
家電量販店で購入した新品ゲー...
-
ステップモードの動作確認方法
-
ie6を使って自分が見ているサイ...
-
エクセル マクロ 別シートから...
-
Excelのマクロ実行後に動作が重...
-
VBAでのユーザフォームの表示有...
-
Sub Auto_Open() 実行されない
-
Excel VBA 選択範囲の罫線色の...
-
ACCESSで別DBにあるクエリを...
-
メフィスト賞の応募歴は無しだ...
-
GetAsyncKeyState() を利用する...
-
エクセルのVBAにショートカット...
-
excelのvbaを使って日付を置換...
-
VBA ピポットテーブル 前年比の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
GoogleMapAPI ズームレベルと縮...
-
GPS位置情報で2点の中間地点の...
-
Google Mapsを利用して屋根の面...
-
ホームページに載せる地図について
-
Google地図リンク作成片方にリ...
-
翻訳API
-
緯度経度情報のフリーダウンロード
-
VB6でXMLを作成すると変になります
-
Googleマップなどの地図サービ...
-
PHPで最も近い緯度経度をDBデー...
-
VB2010において面積の算出
-
エクセルで条件をつけて図形を...
-
エクセルVBA 作業後に選択範囲...
-
ワードで、グレーの部分しか入...
-
Excel VBA 選択範囲の罫線色の...
-
別のフォームで記述している関...
-
VBAでのユーザフォームの表示有...
-
ascW関数の結果がおかしい
-
ACCESSで別DBにあるクエリを...
-
Sub Auto_Open() 実行されない
おすすめ情報