在MySQL空间数据库中查找交叉区域

时间:2014-04-03 05:17:00

标签: mysql geospatial

在MySQL数据库中,如何找到完全或部分距离另一个点一定距离的圆形区域?有很多例子可以找到某个半径范围内的点,但不能找到与某个半径相交的圆形区域。

我有一份为某些区域(点和半径)提供服务的承包商名单。客户需要能够根据距离他们的距离找到这些承包商。

1 个答案:

答案 0 :(得分:1)

我认为您正在寻找ST_Buffer,它会将几何体缓冲一定距离。在你的情况下,这将把你的点变成一个圆圈,然后你可以使用ST_Intersects找到代表承包商区域的交叉圆圈。

类似的东西:

Select id from contractor c where intersects(c.geom, st_buffer(point, radius));

显然你需要提供点和半径的值。