Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
ジオメトリ値が別のジオメトリ値と重なり合うかどうかをテストします。
geometry-expression.ST_Overlaps(geo2)
geo2
ST_Geometry
geometry-expression と比較するもう一方のジオメトリ値。
BIT geometry-expression が geo2 と重なり合っている場合は 1 を返し、それ以外の場合は 0 を返します。geometry-expression と geo2 の次元が異なる場合は NULL を返します。
次の条件をすべて満たす場合、2 つのジオメトリは重なり合っています。
両方のジオメトリの次元が同じである。
geometry-expression ジオメトリと geo2 ジオメトリの共通部分の次元が geometry-expression と同じである。
元のジオメトリのどちらも他方のサブセットではない。
より厳密には、geometry-expression.ST_Overlaps( geo2 ) は、次の条件を満たす場合に 1 を返します。
geometry-expression.ST_Dimension() = geo2.ST_Dimension() AND geometry-expression.ST_Intersection( geo2 ).ST_Dimension() = geometry-expression.ST_Dimension() AND geometry-expression.ST_Covers( geo2 ) = 0 AND geo2.ST_Covers( geometry-expression ) = 0
geometry-expression に円ストリングが含まれている場合、それらは線ストリングに補間されます。
このメソッドは、曲面の空間参照系のジオメトリでは使用できません。
SQL/MM (ISO/IEC 13249-3: 2006) 5.1.32
次の例では、結果として 1 を返します。これは、2 つの線ストリングの共通部分も線ストリングになっており、どちらのジオメトリも他方のサブセットではないためです。
1
SELECT NEW ST_LineString( 'LineString( 0 0, 5 0 )' ) .ST_Overlaps( NEW ST_LineString( 'LineString( 2 0, 3 0, 3 3 )' ) )
次の例では、結果として NULL を返します。これは、線ストリングとポイントの次元が異なるためです。
NULL
SELECT NEW ST_LineString( 'LineString( 0 0, 5 0 )' ) .ST_Overlaps( NEW ST_Point( 1, 0 ) )
次の例では、結果として 0 を返します。これは、ポイントが複数ポイントのサブセットであるためです。
0
SELECT NEW ST_MultiPoint( 'MultiPoint(( 2 3 ), ( 1 0 ))' ) .ST_Overlaps( NEW ST_Point( 1, 0 ) )
次の例では、結果として 24,25,28,31 を返します。このリストは、指定した多角形と重なり合う ShapeID です。
24,25,28,31
SELECT LIST( ShapeID ORDER BY ShapeID ) FROM SpatialShapes WHERE Shape.ST_Overlaps( NEW ST_Polygon( 'Polygon(( -1 0, 0 0, 0 1, -1 1, -1 0 ))' ) ) = 1