0
我試圖讓我的頭在mysql中的地理空間索引,我無法獲得簡單的查詢工作,我認爲這是由於我缺乏理解。基本上,我想一經/緯度我通過在10英里半徑範圍內獲得多個位置mysql 5.7 geospatial地理位置距離查詢
表結構非常簡單
點: 名(爲varchar) 位置(點)
目前還只有一排 的名字 - 「點1」的位置:POINT(31.5 42.2)
現在,我想下面的SQL,我已經在這裏https://www.percona.com/blog/2013/10/21/using-the-new-mysql-spatial-functions-5-6-for-geo-enabled-applications/
解除set @lat= 31.5;
set @lon = 42.2;
set @dist = 10;
set @rlon1 = @[email protected]/abs(cos(radians(@lat))*69);
set @rlon2 = @[email protected]/abs(cos(radians(@lat))*69);
set @rlat1 = @lat-(@dist/69);
set @rlat2 = @lat+(@dist/69);
select astext(location), name from Points
where st_contains(location, envelope(linestring(point(@rlon1, @rlat1), point(@rlon2, @rlat2))))
order by st_distance(point(@lon, @lat), location) limit 10;
但它返回一個空的結果集。任何人有任何想法或指針? 感謝