3 回答

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超5個(gè)贊
使用 Point
值.的值 Geometry
中的數(shù)據(jù)類型 MyISAM
桌子。 截至MySQL 5.7.5, InnoDB
表現(xiàn)在也支持 SPATIAL
指數(shù)。 創(chuàng)建一個(gè) SPATIAL
這些點(diǎn)的索引 使用 MBRContains()
若要查找值,請(qǐng)執(zhí)行以下操作: SELECT *FROM tableWHERE MBRContains(LineFromText(CONCAT( '(' , @lon + 10 / ( 111.1 / cos(RADIANS(@lon))) , ' ' , @lat + 10 / 111.1 , ',' , @lon - 10 / ( 111.1 / cos(RADIANS(@lat))) , ' ' , @lat - 10 / 111.1 , ')' ) ,mypoint)
MySQL 5.1
SELECT * FROM table WHERE MBRContains ( LineString ( Point ( @lon + 10 / ( 111.1 / COS(RADIANS(@lat))), @lat + 10 / 111.1 ), Point ( @lon - 10 / ( 111.1 / COS(RADIANS(@lat))), @lat - 10 / 111.1 ) ), mypoint )
(@lat +/- 10 km, @lon +/- 10km)
.
應(yīng)用額外的過濾來選擇圓圈內(nèi)的所有東西(而不是正方形) 可能對(duì)大圓距離(大距離)應(yīng)用額外的精細(xì)過濾。

TA貢獻(xiàn)2019條經(jīng)驗(yàn) 獲得超9個(gè)贊
添加回答
舉報(bào)