【发布时间】:2014-04-03 05:17:00
【问题描述】:
在 MySQL 数据库中,如何找到完全或部分落在距另一点一定距离内的圆形区域?有很多例子可以找到特定半径内的点,但不是与特定半径相交的圆形区域。
我有一份服务于特定区域(点和半径)的承包商列表。客户需要能够根据与他们的距离找到这些承包商。
【问题讨论】:
标签: mysql geospatial
在 MySQL 数据库中,如何找到完全或部分落在距另一点一定距离内的圆形区域?有很多例子可以找到特定半径内的点,但不是与特定半径相交的圆形区域。
我有一份服务于特定区域(点和半径)的承包商列表。客户需要能够根据与他们的距离找到这些承包商。
【问题讨论】:
标签: mysql geospatial
我认为您正在寻找 ST_Buffer,它会将几何图形缓冲一定距离。在您的情况下,这会将您的点变成一个圆圈,然后您可以使用 ST_Intersects 找到代表承包商区域的相交圆圈。
类似:
Select id from contractor c where intersects(c.geom, st_buffer(point, radius));
显然您需要提供点和半径的值。
【讨论】: