本文解决以#{lng}, #{lat}为圆心,#{radius}为半径的范围内${table}中符合条件的坐标点的数据

select * from ${table} sph where

      ST_Distance_Sphere(

      POINT(sph.lng, sph.lat),

      POINT(#{lng}, #{lat})

      ) <= #{radius}

主要使用mysq的内置函数ST_Distance_Sphere 是一个 空间数据库函数(常见于 MySQL、PostGIS 等),用于计算 两个地理坐标点之间的球面距离(以米为单位),考虑地球的曲率。

更多推荐