このトピックでは、ST_DFullyWithin関数について説明します。 この関数は、2つのジオメトリオブジェクト上の任意の2点間の距離が指定された距離より小さいかどうかを確認します。 2つのジオメトリオブジェクト上の任意の2点間の距離が指定された距離より小さい場合、この関数はTrueを返します。 それ以外の場合、この関数はFalseを返します。
構文
ブールST_DFullyWithin (ジオメトリg1、ジオメトリg2、倍精度距離);
パラメーター
パラメーター | 説明 |
g1 | 指定する最初のジオメトリオブジェクト。 |
g2 | 指定する2番目のジオメトリオブジェクト。 |
距離 | 指定する距離。 距離は、ジオメトリオブジェクトの空間参照システムによって指定された単位で測定されます。 |
説明
- 指定する2つのジオメトリオブジェクトは、同じ投影方法を使用し、同じ空間参照識別子 (SRID) を持つ必要があります。
- この関数は、指定したジオメトリオブジェクトの境界ボックスを、ジオメトリオブジェクトで使用可能なすべてのインデックスを使用して自動的に比較します。
例
次の例は、ST_DFullyWithin関数とST_DWithin関数の違いを示しています。
SELECT ST_DFullyWithin(g1,g2,2), ST_DWithin(g1,g2,2) from (SELECT 'LINESTRING(0 1,1 1)'::geometry as g1,
'LINESTRING(0 0,0 -1)'::geometry as g2) as test;
st_dfullywithin | st_dwithin
----------------- ------------
f | t
(1行)