SELECT address,X(address_loc),Y(address_loc), (2 * 6378.137 * ASIN(SQRT(POW(SIN(PI() * (:lat - X(p.shop_point)) / 360),2) + COS(PI() * :lat / 180) * COS(X(p.shop_point) * PI() / 180) * POW(SIN(PI() * (:lng - Y(p.shop_point)) / 360),2)))) as distance FROM address WHERE MBRContains ( LineString ( Point ( 30.620076 + 10 / ( 111.1 / COS(RADIANS(104.067221)) ), 104.067221 + 10 / 111.1 ), Point ( 30.620076 - 10 / ( 111.1 / COS(RADIANS(104.067221)) ), 104.067221 - 10 / 111.1 ) ), address_loc ) ORDER BY distance;
使用mysql空间索引,搜索附近的坐标地址并按距离排序
猜你喜欢
转载自jaydelano.iteye.com/blog/2262863
今日推荐
周排行