Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
ジオメトリ値に別のジオメトリ値が空間的に含まれているかどうかをテストします。
geometry-expression.ST_Contains(geo2)
geo2
ST_Geometry
geometry-expression と比較するもう一方のジオメトリ値。
BIT geometry-expression に geo2 が含まれている場合は 1 を返し、それ以外の場合は 0 を返します。
ST_Contains メソッドは、geometry-expression に geo2 が完全に含まれており、geometry-expression の内部にある geo2 の内部ポイントが 1 つ以上存在するかどうかをテストします。
geometry-expression.ST_Contains( geo2 ) は、geo2.ST_Within( geometry-expression ) と同等です。
ST_Contains メソッドと ST_Covers メソッドは似ています。相違点は、ST_Covers では内部ポイントの交差が不要であることです。
geometry-expression に円ストリングが含まれている場合、それらは線ストリングに補間されます。
このメソッドは、曲面の空間参照系のジオメトリでは使用できません。
SQL/MM (ISO/IEC 13249-3: 2006) 5.1.31
次の例では、多角形にポイントが含まれているかどうかをテストします。多角形にはポイントが完全に含まれ、ポイント (ポイント自体) の内部が多角形の内部と交差しているため、1 が返されます。
SELECT NEW ST_Polygon( 'Polygon(( 0 0, 2 0, 1 2, 0 0 ))' ) .ST_Contains( NEW ST_Point( 1, 1 ) )
次の例では、多角形に線が含まれているかどうかをテストします。多角形には線が完全に含まれていますが、線の内部と多角形の内部は交差していない (線は多角形の境界でのみ多角形と交差し、その境界は内部に含まれていない) ため、0 が返されます。ST_Contains の代わりに ST_Covers を使用した場合は、1 が返されます。
SELECT NEW ST_Polygon( 'Polygon(( 0 0, 2 0, 1 2, 0 0 ))' ) .ST_Contains( NEW ST_LineString( 'LineString( 0 0, 1 0 )' ) )
次の例では、指定した多角形に含まれている各 Shape ジオメトリの ShapeID をリストします。この例では、結果として 16,17,19 を返します。多角形は多角形の境界でローの Shape ポイントと交差しているため、ShapeID 1 はリストされません。
16,17,19
SELECT LIST( ShapeID ORDER BY ShapeID ) FROM SpatialShapes WHERE NEW ST_Polygon( NEW ST_Point( 0, 0 ), NEW ST_Point( 8, 2 ) ).ST_Contains( Shape ) = 1