勉強したことのメモ

webプログラマ見習いが勉強したことのメモ。

MySQLで経度緯度から半径○Kmのデータを抽出

   

経度と緯度をtext型として格納しているMySQLのテーブルがあり、指定した経度緯度から半径○kmのデータ一覧を抽出したかった。以下に方法をメモ。

 

■ソース

 

■その他

最初は経度と緯度から0.001ずつぐらい引いたり足したりして抽出したけどかなり位置情報が偏った。今回の方法はきっちりと指定した経度緯度を中心に抽出できた。

・参考サイト

https://www.firstlogic.co.jp/blog/lab/raku/71

 

SQL文内のlongを`(アクサングラーブ)で囲んでいるのは予約語に当たるため。

・予約語

https://dev.mysql.com/doc/refman/5.6/ja/reserved-words.html

 

尚、経度緯度をMySQLで扱う場合はfloatやtextではなくgeometryを使うのが良いっぽい。

・参考サイト

http://blog.asial.co.jp/473

 - MySQL

  関連記事

msyql-image
mysqlでrootのパスワードが分からない場合

pleskで管理しているサーバがあり、mysqlのrootのパスワードが分からな ...

msyql-image
MySQLでIPアドレスを数値として入れると変になる

MySQLでIPアドレスをINET_ATON関数を用いてINT型に変換し格納する ...

msyql-image
お名前.comの共用サーバー(SD)にphpmyadminを入れる

公式で書いてあるやつは3.4.2だけど、もうちょっと新しいバージョンを入れたかっ ...

msyql-image
お名前SDサーバにMySQLデータのインポート

お名前.comのレンタルサーバにそこそこ大きいサイズのMySQLデータを移行した ...

msyql-image
MySQLで実行結果の行数取得

DBにデータがあるか調べる際にしばしば使用してたのでメモ。 $sql = " S ...

msyql-image
mysqldumpが使えないレンタルサーバでMySQLのバックアップ

mysqldumpが使えないレンタルサーバで開発を行うことがあり、尚且つ他社に使 ...

msyql-image
MySQLで速度改善

よく見るけど実際に対面してみて難しさが分かった。 150万件ほどのデータがあって ...

msyql-image
MySQLで歯抜けになっているint型の数値を取得する

MySQLで歯抜けになっているシーケンス番号を 取得したいケースがあった。 ■ソ ...

msyql-image
MySQLでスレッドの実行状況を表示

データベースサーバが重たく、原因を調査する機会があった。サーバ自体のメモリやCP ...

msyql-image
MySQLでデータがあれば上書き、無ければ挿入する

既存のソースを編集時に「REPLACE INTO~~」 という見たことの無いSQ ...