ST_Intersects — 二つのジオメトリ/ジオグラフィが2次元で空間的にインタセクトする (少なくとも一つの共有ポイントを持つ)場合にはTRUEを返します。
boolean ST_Intersects(
geometry geomA , geometry geomB )
;
boolean ST_Intersects(
geography geogA , geography geogB )
;
ジオメトリ/ジオグラフィが空間に共有部分がある場合には、インタセクトしています。ジオグラフィでは許容誤差が0.00001メートルです (近い点はインタセクトと考えられてしまいます)。
ST_Overlaps, ST_Touches, ST_Withinは全て空間インタセクションを裏で使っています。前述のいずれかがTRUEを返す場合には、ジオメトリは空間的にインタセクトしています。離れている場合は、空間的なインタセクトについてFALSEとなります。
Changed: 3.0.0 2次元TINのSFCGAL版の削除とネイティブ対応の追加。
Enhanced: 2.5.0 ジオメトリコレクションに対応しました。
Enhanced: 2.3.0 PIP short-circuit (ポリゴンとポイントに限定した高速判定)を少ないポイントからなるマルチポイントに対応することができるよう拡張しました。以前の版ではポリゴンとポイントの組み合わせにだけ対応していました。
ジオメトリについては、GEOSモジュールで実現しています。ジオグラフィについてはネイティブです。
Availability: 1.5 ジオグラフィ対応が導入されました。
![]() | |
この関数の呼び出しによって、ジオメトリで使用可能なインデクスを使用したバウンディングボックスの比較が自動的に行われます。 |
![]() | |
ジオグラフィでは、この関数は0.00001メートルの距離許容を持ち、回転楕円体計算でなく球面を使います。 |
![]() | |
ご注意: これは論理値を返して整数を返さないのが「許される」版です。 |
This method implements the OpenGIS 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)