ST_DFullyWithin — Testar om en geometri är helt inom ett avstånd från en annan
boolean ST_DFullyWithin(
geometry g1, geometry g2, double precision distance)
;
Returnerar true om g2
är helt inom avståndet
från g1
. Visuellt är villkoret sant om g2
ligger inom en avståndsbuffert
för g1
. Avståndet anges i enheter som definieras av geometriernas spatiala referenssystem.
![]() |
|
Denna funktion inkluderar automatiskt en jämförelse av begränsningsrutor som använder alla spatiala index som finns tillgängliga för geometrierna. |
Tillgänglighet: 1.5.0
Ändrad: 3.5.0 : logiken bakom funktionen använder nu ett test av inneslutning inom en buffert, snarare än ST_MaxDistance-algoritmen. Resultaten kommer att skilja sig från tidigare versioner, men bör ligga närmare användarnas förväntningar.
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