POSTGIS - 修改宽度的线交叉

时间:2014-08-20 21:12:15

标签: postgresql postgis

我有一条给定的线,我想看一个点是否与宽度增加的边界相交。

有没有这样做的功能?

1 个答案:

答案 0 :(得分:1)

通常情况下,您会使用ST_DWithin查看几何体是否在另一个几何体的指定距离内。您也可以将线缓冲到多边形并查看该点是否与缓冲多边形相交,但不鼓励这样做作为最佳策略,因为它通常是不必要的计算费用。

因此,在您的情况下,如果某个点位于某一行的某个距离内,请使用以下内容:

SELECT pt.*, ST_Distance(pt.geom, ln.geom)
FROM lines ln, points pt
WHERE ln.id = 'given line' AND ST_DWithin(ln.geom, pt.geom, width)
ORDER BY ST_Distance(pt.geom, ln.geom)