私はこのMySQLのテーブルを有する:
CREATE TABLE
SQLクエリ:特定の領域におけるLNG LATクラスタ、点順markers
(
id
INT NOT NULL AUTO_INCREMENT PRIMARY KEY、
lat
FLOAT(10、6)NULL NOT、
lng
FLOAT(10,6)NOT NULL
)ENGINE = MYISAM;以下のデータを
:
lat lng id 37.0010 -122.0010 1 37.0020 -122.0020 2 37.1010 -122.1010 3 37.1020 -122.1020 4 37.1030 -122.1030 5 37.2010 -122.2010 6 38.9000 -123.9000 7 38.9010 -123.9010 8
私は最寄りの場所を取得する方法を知っている:
SELECT id, (3959 * acos(cos(radians(37)) * cos(radians(lat)) * cos(radians(lng) - radians(-122)) + sin(radians(37)) * sin(radians(lat)))) AS distance FROM markers HAVING distance < 25 ORDER BY distance LIMIT 0 , 20;
http://code.google.com/intl/en/apis/maps/articles/phpsqlsearch.html
からしかし、どのように存在している場合、それらの最も近い場所をクラスタに特定の距離の中のより多くのポイントですか? 私はこの結果が
newlat newlng count_points 37.1020 -122.1020 3 37.0015 -122.0015 2 37.2010 -122.2010 1
となります。ありがとう
geohash私を助けましたhttps://github.com/nowelium/geohash-mysql-func – david