Name

GetFaceByPoint — Recherche la face intersectant un point donné.

Synopsis

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

Description

Recherche une face référencée par un point, avec une tolérance donnée.

La fonction recherchera effectivement une face coupant un cercle dont le point est le centre et la tolérance le rayon.

Si aucune face n'intersecte l'emplacement de la requête, la valeur 0 est renvoyée (face universelle).

Si plus d'une face croise l'emplacement de la requête, une exception est levée.

Disponibilité : 2.0.0

Amélioration : 3.2.0 mise en œuvre plus efficace et contrat plus clair, arrêt du fonctionnement avec des topologies non valides.

Exemples

SELECT topology.GetFaceByPoint('ma_topo',geom, 10) As with1mtol, topology.GetFaceByPoint('ma_topo',geom,0) As withnotol
        FROM ST_GeomFromEWKT('POINT(234604.6 899382.0)') As geom;

         with1mtol | withnotol
        -----------+-----------
                         1 |         0
SELECT topology.GetFaceByPoint('ma_topo',geom, 1) As nearnode
        FROM ST_GeomFromEWKT('POINT(227591.9 893900.4)') As geom;

-- get error --
ERROR:  Two or more faces found

Voir aussi

GetFaceContainingPoint, AddFace, GetNodeByPoint, GetEdgeByPoint