Name

ST_DFullyWithin — Testar om en geometri är helt inom ett avstånd från en annan

Synopsis

boolean ST_DFullyWithin(geometry g1, geometry g2, double precision distance);

Beskrivning

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.

[Note]

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.

Exempel

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