如何求点到多边形的最短距离?

dai*_*sse 1 postgresql postgis distance

其实就是标题中的问题。

有一个表(osm_buildings),其中包含建筑物及其多边形的地址。并且有一个点,您需要找到距离该点最近的多边形。

求出点​​之间的距离非常简单且可预测,但是如何正确且最重要的是快速求出点到多边形的距离呢?

Lau*_*lbe 5

距离运算符<->在点和多边形之间运行良好。

你可以这样查询:

SELECT b.*
FROM osm_buildings AS b
ORDER BY b.polygon <-> 'POINT(3.14 2.78)'::geometry
LIMIT 10;
Run Code Online (Sandbox Code Playgroud)

这将获得距离该点最近的 10 座建筑物。

该查询可以使用列上的索引polygon