Name

GetNodeByPoint — 查找位于点位置的节点的node-id。

Synopsis

integer GetNodeByPoint(varchar atopology, geometry apoint, float8 tol1);

描述

检索点位置处的节点的ID。

在给定拓扑、点和公差的情况下,该函数返回一个整数(id节点)。如果容差=0表示精确相交,否则从间隔中检索节点。

如果 apoint 不与节点相交,返回0(零)。

如果使用容差 >0,并且该点附近有多个节点,则会引发异常。

[Note]

如果容差=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
 

另请参阅

AddEdge, GetEdgeByPoint, GetFaceByPoint