ST_Intersects — ジオメトリ/ジオグラフィが「2次元空間で空間的にインタセクトする」(空間に共有部分がある)場合にTRUEを返します。そうでない(非接続)場合はFALSEを返します。ジオグラフィについては、許容量は0.00001メートルです(近い点はインタセクトと考えられてしまいます)。
boolean ST_Intersects(
geometry geomA , geometry geomB )
;
boolean ST_Intersects(
geography geogA , geography geogB )
;
ジオメトリ/ジオグラフィが空間に共有部分がある場合には、インタセクトしています。ジオグラフィでは許容誤差が0.00001メートルです(近い点はインタセクトと考えられてしまいます)。
オーバラップ、接触、包含は全て、ジオメトリがインタセクトしていることを意味しています。これらがTRUEを返す場合は、空間的にインタセクトしています。非接続は、空間インタセクトについてFALSEとなります。
![]() | |
ジオメトリ版では、 |
ジオメトリについては、GEOSモジュールで実現しています。ジオグラフィについてはネイティブです。
初出: 1.5 ジオグラフィ対応が導入されました。
![]() | |
この関数の呼び出しによって、ジオメトリで使用可能なインデクスを使用したバウンディングボックスの比較が自動的に行われます。 |
![]() | |
ジオグラフィでは、この関数は0.00001メートルの距離許容を持ち、回転楕円体計算よりむしろ球面を使います。 |
![]() | |
ご注意: これは論理値を返して整数を返さないのが「許される」版です。 |
このメソッドは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 ))
このメソッドはSQL/MM仕様に準拠しています。 SQL-MM 3: 5.1.27
このメソッドはSFCGALを使っても提供されます。
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)