GetNodeByPoint — 查找点位置处节点的节点 ID。
integer GetNodeByPoint(
varchar atopology, geometry apoint, float8 tol1)
;
检索点位置处节点的 ID。
该函数返回给定拓扑、POINT 和容差的整数(ID-节点)。如果容差 = 0 表示精确相交,否则从区间中检索节点。
如果 apoint
不与节点相交,则返回 0(零)。
如果使用容差 > 0 并且点附近有多个节点,则会抛出异常。
如果容差 = 0,则该函数使用 ST_Intersects,否则使用 ST_DWithin。 |
由 GEOS 模块执行。
可用性:2.0.0
这些示例使用我们在 AddEdge 中创建的边
SELECT topology.GetNodeByPoint('ma_topo',geom, 1) As nearnode FROM ST_GeomFromEWKT('SRID=26986;POINT(227591.9 893900.4)') As geom; nearnode ---------- 2
SELECT topology.GetNodeByPoint('ma_topo',geom, 1000) As too_much_tolerance FROM ST_GeomFromEWKT('SRID=26986;POINT(227591.9 893900.4)') As geom; ----get error-- ERROR: Two or more nodes found