このトピックでは、ST_Intersects関数について説明します。 この関数は、2つのジオメトリオブジェクトまたは2つのジオグラフィオブジェクトが交差するかどうかを確認します。 ジオメトリオブジェクトまたはジオグラフィオブジェクトが空間の一部を共有する場合、オブジェクトは交差します。
構文
boolean ST_Intersects(geometry geomA , geometry geomB);
boolean ST_Intersects(geography geogA , geography geogB);
パラメーター
パラメーター | 説明 |
geomA | 指定する最初のジオメトリオブジェクト。 |
geomB | 指定する2番目のジオメトリオブジェクト。 |
geogA | 指定する最初のgeographyオブジェクト。 |
geogB | 指定する2番目のgeographyオブジェクト。 |
説明
2つの地理オブジェクトを指定した場合、この関数は0.00001メートルの許容値を使用します。 互いに0.00001メートル以内にある任意の点は、交差しているとみなされる。 さらに、この関数は、楕円体モデルではなく球モデルを使用します。
指定したオブジェクト間のリレーションシップが [重複] 、[タッチ] 、または [内] の場合、オブジェクトは交差します。
この関数は、指定したジオメトリオブジェクトの境界ボックスを、ジオメトリオブジェクトで使用可能なすべてのインデックスを使用して自動的に比較します。
例
デフォルトのパラメーター設定を使用して、2つのオブジェクトが交差するかどうかを確認します。
SELECT ST_Intersects('LINESTRING(0 0,1 1)'::geometry,'LINESTRING(0 1,1 0)'::geometry);
st_intersects
---------------
t
(1 row)