mysql:在一定半径内找到多边形

1aaf6o9v  于 2021-06-23  发布在  Mysql
关注(0)|答案(1)|浏览(364)

在我的数据库中,我存储了多边形。现在我需要搜索某个半径内的所有多边形。即使多边形只是区域内的一小部分,也应该包含在结果中(因此,一旦存在最小匹配,就存在匹配)。
最好的方法是什么?我一直在考虑创建另一个多边形并搜索与此相交的所有内容,但不知道这是否是一个有效的方法?

ttvkxqim

ttvkxqim1#

是的,我认为这是最好的办法。您可以使用st\u buffer创建多边形,然后使用st\u intersect查找多边形是否与您的多边形相交。
也许你也可以用距离来做。它将计算一个点到多边形的最小距离。

Select ST_DISTANCE(polygons,POINT(x, y)) as distance, polygon_id from your_polygon_table WHERE distance <= 10

相关问题