ST_Intersects — 二つのジオメトリがインタセクトしている (少なくとも一つのポイントを共有している)かどうかをテストします。
boolean ST_Intersects(
geometry geomA , geometry geomB )
;
boolean ST_Intersects(
geography geogA , geography geogB )
;
二つのジオメトリを比較して、インタセクトしている場合にはTRUE
を返します。ジオメトリが共有部分を持っている場合にはインタセクトしていることになります。
ジオグラフィに対しては、0.00001メートルの距離許容値が使われます (このため非常に近いポイントはインタセクトしているとみなされます)。
DE-9IMインタセクション行列が次の通り合致するとジオメトリはインタセクトしています。
T********
*T*******
***T*****
****T****
空間的なインタセクションは全ての他の空間関係テスト関数に含まれます。例外はST_Disjointで、全てのジオメトリがインタセクトしていないかどうかをテストすることになります。
![]() | |
This function automatically includes a bounding box comparison that makes use of any spatial indexes that are available on the geometries. |
Changed: 3.0.0 SFCGAL版を削除し、2次元TINのネイティブ対応を追加しました。
Enhanced: 2.5.0 ジオメトリコレクションに対応しました。
Enhanced: 2.3.0 PIP short-circuit (ポリゴンとポイントに限定した高速判定)を少ないポイントからなるマルチポイントに対応することができるよう拡張しました。以前の版ではポリゴンとポイントの組み合わせにだけ対応していました。
ジオメトリについては、GEOSモジュールで実現しています。ジオグラフィについてはネイティブです。
Availability: 1.5 ジオグラフィ対応が導入されました。
![]() | |
ジオグラフィでは、この関数は0.00001メートルの距離許容を持ち、回転楕円体計算でなく球面を使います。 |
![]() | |
ご注意: これは論理値を返して整数を返さないのが「許される」版です。 |
This method implements the OGC Simple Features
Implementation Specification for SQL 1.1. s2.1.1.2 //s2.1.13.3 - ST_Intersects(g1, g2 ) --> Not (ST_Disjoint(g1, g2 ))
This method implements the SQL/MM specification. SQL-MM 3: 5.1.27
This method supports Circular Strings and Curves
This function supports Triangles and Triangulated Irregular Network Surfaces (TIN).
SELECT ST_Intersects('POINT(0 0)'::geometry, 'LINESTRING ( 2 0, 0 2 )'::geometry); st_intersects --------------- f (1 row) SELECT ST_Intersects('POINT(0 0)'::geometry, 'LINESTRING ( 0 0, 0 2 )'::geometry); st_intersects --------------- t (1 row) -- テーブルで検索を行いますテーブルのジオメトリカラムに高速検索のためGiSTインデックスを貼っています。 SELECT id, name FROM cities WHERE ST_Intersects(geom, 'SRID=4326;POLYGON((28 53,27.707 52.293,27 52,26.293 52.293,26 53,26.293 53.707,27 54,27.707 53.707,28 53))'); id | name ----+------- 2 | Minsk (1 row)