Name

GetNodeByPoint — Busca el identificador de nodo de un nodo en un punto de ubicación.

Synopsis

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

Descripción

Recupera el identificador de un nodo en un punto de ubicación.

La función devuelve un entero (identificador de nodo) dada una topología, un POINT y una tolerancia. Si la tolerancia es 0 significa intersección exacta, de lo contrario recupera el nodo de un intervalo.

Si apoint no intersecta un nodo, devuelve 0 (cero).

If use tolerance > 0 and there is more than one node near the point then an exception is thrown.

[Note]

Si la tolerancia = 0, la función utiliza ST_Intersects de otra manera utiliza ST_DWithin.

Realizado por el módulo GEOS.

Disponibilidad: 2.0.0

Ejemplos

Estos ejemplos utilizan los bordes que hemos creado en 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