すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB RDS:ST_DFullyWithin

最終更新日:Mar 29, 2026

g2g1 から distance の距離内に完全に含まれる場合、つまり g2 上のすべてのポイントが g1 の周囲の距離バッファー内に収まる場合に true を返します。g2 上のいずれかのポイントがそのバッファーの外側にある場合は false を返します。

構文

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

パラメーター

パラメーター説明
g1geometryリファレンスジオメトリオブジェクト。
g2geometryg1 に対してテストするジオメトリオブジェクト。
distancedouble precision距離のしきい値。 単位は、ジオメトリオブジェクトの空間参照系 (SRS) によって決まります。

注意事項

  • g1g2 は、同じ投影を使用し、同じ空間参照系識別子 (SRID) を持つ必要があります。

  • この関数は、パフォーマンスを最適化するために、バウンディングボックス比較と、ジオメトリオブジェクトで利用可能なすべてのインデックスを自動的に使用します。

ST_DFullyWithin と ST_DWithin の比較

ST_DFullyWithin は、g2 上の すべての点distance の距離内に g1 にあることを要求します。ST_DWithin は、2 つのジオメトリが互いに distance の距離内に 少なくとも 1 つの点 を持つことのみを要求します。ST_DFullyWithin は、この 2 つの中でより厳密な関数です。

次の例では、distance = 2 で同じジオメトリに両方の関数を適用します。

SELECT
    ST_DFullyWithin(g1, g2, 2) AS dfullywithin2,
    ST_DWithin(g1, g2, 2)      AS dwithin2
FROM (
    VALUES (
        'LINESTRING(0 1,1 1)'::geometry,
        'LINESTRING(0 0,0 -1)'::geometry
    )
) AS t(g1, g2);

 dfullywithin2 | dwithin2
---------------+----------
 f             | t
(1 row)

g2 には g1 の距離 2 のバッファーを超えるポイントがあるため、ST_DFullyWithinf を返します。2 つのラインストリングの最も近いポイントは互いに距離 2 の範囲内にあるため、ST_DWithint を返します。

関連項目

  • ST_DWithin — 2 つのジオメトリが、指定された距離内にポイントを持つかどうかをテストします。