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