- 締切済み
ケータイのGPS機能を使い周辺検索を行いたいです
mysql+PHPで稼働中のサービスに携帯のGPS機能を使い周辺のお店検索機能を下記の要件にて実現したいと考えております。 ・緯度、経度を元に、一定の距離以内のお店を抽出する ・抽出結果を距離が近いもの順にソートする mysqlで空間情報機能というようなものがあるようなのですが、 mysql側の機能を使い上記の要件は実現可能でしょうか。 http://dev.mysql.com/doc/refman/4.1/ja/spatial-extensions.html
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- taketan_mydns_jp
- ベストアンサー率58% (450/773)
回答No.1
空間情報機能はあるようですね。私はまだ使った事がありません。 ポイントがポリゴンに接しているかどうか、と言うようなクエリが出来るようです。 ただ、まだ発展途上という印象はあります。 > ・緯度、経度を元に、一定の距離以内のお店を抽出する > ・抽出結果を距離が近いもの順にソートする この程度なら緯度経度をfloatで登録しておいて、 SELECT * FROM ddd WHERE lat > 位置-範囲 AND lat < 位置+範囲 AND lon > 位置-範囲 AND lon < 位置+範囲 のように適当な範囲でDBから出してから、距離を計算してソート、と言う事が出来ると思います(前に作った事があります)。 空間情報機能はまだ使った事が無いので何とも言えませんが、難しいクエリになるとかなりDBに負担がかかりそうな気がします。 ある地域のポリゴンをもとに、そのポリゴンに含まれる、と言うようなものなら、空間情報機能で実現したほうが手っ取り早いと思いますけどね。 参考まで。
補足
ありがとうございます。 まずは、floatで用いる方法を挑戦してみようと思います!