ST_DFullyWithin — ジオメトリが完全に他のジオメトリの指定距離内にあるかどうかをテストします
boolean ST_DFullyWithin(
geometry g1, geometry g2, double precision distance)
;
g2
が完全にg1
のdistance
で指定した距離内にある場合にTRUEを返します。見た目で言うと、g2
がg1
のdistance
ぶん膨らませたバッファに含まれる場合にTRUEを返します。
この関数の呼び出しによって、ジオメトリで使用可能なインデックスを使用するバウンディングボックスの比較が自動的に行われます。 |
Availability: 1.5.0
Changed: 3.5.0 : この関数のロジックとしては、今のところ、バッファ内に包含するかどうかのテストを使っています。ST_MaxDistanceアルゴリズムではありません。前の版と結果が異なる可能性がありますが、ユーザの期待に近づくはずです。
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