ST_DFullyWithin — Teste si une géométrie se trouve entièrement à une distance d'une autre géométrie
boolean ST_DFullyWithin(
geometry g1, geometry g2, double precision distance)
;
Retourne vrai si g2
se trouve entièrement à une distance distance
de g1
. Visuellement, la condition est vraie si g2
est contenu dans un tampon de distance
de g1
. La distance est spécifiée en unités définies par le système de référence spatial des géométries.
Cette fonction inclut une comparaison de la boîte englobante qui utilise tous les index disponibles sur les géométries. |
Disponibilité : 1.5.0
Modifié : 3.5.0 : la logique implémentée utilise désormais un test de confinement dans un tampon, plutôt que l'algorithme ST_MaxDistance. Les résultats seront différents de ceux des versions précédentes, mais devraient être plus proches des attentes de l'utilisateur.
SELECT ST_DFullyWithin(geom_a, geom_b, 10) AS DFullyWithin10, ST_DWithin(geom_a, geom_b, 10) AS DWithin10, ST_DFullyWithin(geom_a, geom_b, 20) AS DFullyWithin20 FROM (VALUES ('POINT(1 1)', 'LINESTRING(1 5, 2 7, 1 9, 14 12)') ) AS v(geom_a, geom_b) dfullywithin10 | dwithin10 | dfullywithin20 ----------------+-----------+---------------- f | t | t