我在db中存储了一个由中心点(lat,lon)和圆的半径表示的圆形区域。字段:id,lat,lon,point,radius 现在我在地图上还有其他一点。
我的目标是找出这一点存在的区域。 已经有一个搜索指定区域中所有点的功能,但现在我需要一些不同的行为,并找到包含指定点的所有区域。
如何查看符合上述要求的查询?
答案 0 :(得分:0)
我做过研究,发现在mysql 5.7中有更多的空间函数。升级附带的是SST_Distance_Sphere,它对我有用!所以决定在我的服务器上进行升级并使用这个SQL:
SELECT ST_Distance_Sphere(POINT(lng, lat), POINT(19.93875777348876 , 50.061379843744234)) as Radius
FROM locations
WHERE ST_Distance_Sphere(POINT(lng, lat), POINT(19.93875777348876 , 50.061379843744234)) <= radius