アプリ版:「スタンプのみでお礼する」機能のリリースについて

指定地点(緯度・経度)から指定半径内にの地点情報(緯度・経度)を取得する方法がわかりません。

JavaとMySQLを使用して、DB内にデータ管理している施設情報を
現在地点(緯度・経度)と、半径距離数(100m,500m,1kmなど)を指定し、
その半径内の緯度・経度に含まれる施設情報を取得したいです。

http://d.hatena.ne.jp/ilo/20090212/1234448136
上記のサイトを参考にしていますが、距離からの度数の計算方法がわかりません。

Javaでの、距離からの度数の計算方法を教えてください。

宜しくお願いします。

A 回答 (2件)

MySQLで指定した緯度経度から半径nメートル内検索っぽいのを実現するSQL


http://d.hatena.ne.jp/ilo/20090212/1234448136
こういうものがありました。

-------------以下引用-------
まず最初に緯度経度の情報を持ったテーブルを作成。

CREATE TABLE `geotable` (
`id` INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`name` VARCHAR(255) NOT NULL,
`geom` POINT NOT NULL,
SPATIAL INDEX(geom)
) ENGINE = MYISAM ;

あとはこれを使って検索するだけ。

SELECT name, Y(geom), X(geom) FROM geotable
WHERE MBRContains(GeomFromText
('LineString(139.7800318 35.71654578, 139.7744762 35.71099022)'),geom);
    • good
    • 0
この回答へのお礼

osu_neko09さん

回答ありがとうございます。

参考にさせていただきます。

お礼日時:2010/06/14 16:30

おもいきり精密にやるなら下記


「緯度・経度からの距離計算」を参照
http://oshiete.goo.ne.jp/qa/249931.html

でも1km内外なら平面とみなしてよかろうということなら、下記
「緯度経度1度の距離」を参考に、計算したらいかがです?
http://d.hatena.ne.jp/Kiske/20090324/1237894846



蛇足:私なら円形ではなく長方形の範囲でくりぬきます。
円形だとSQLの条件文が面倒そうで・・。
    • good
    • 0
この回答へのお礼

>osu_neko09さん。

回答ありがとうございます。

精度はこだわらないので、平面での計算方法を参考にさせていただきました。

ありがとうございました。

お礼日時:2010/06/12 12:48

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!