名前

ST_Within — rastA が rastB の外部に点を持たず、rastA の内部の少なくとも一つの点が rastB の内部にある場合に TRUE を返します。

概要

boolean ST_Within( raster rastA , integer nbandA , raster rastB , integer nbandB );

boolean ST_Within( raster rastA , raster rastB );

説明

rastA が rastB の外部に点を持たず、rastA の内部の少なくとも一つの点が rastB の内部にある場合に rastA は rastB に対して Within です。バンド番号が指定されていないかNULL に指定されている場合には、ラスターの凸包のみを考慮してテストします。バンド番号が指定されている場合には、値を持つ (NODATA でない) ピクセルについてテストします。

[注記]

これのオペランドは、ラスターで使用できるインデックスを使用します。

[注記]

ラスターとジオメトリーの空間関係をテストするには、ST_Within(ST_Polygon(raster), geometry) または ST_Within(geometry, ST_Polygon(raster)) というふうに、ラスターにST_Polygon を使います。

[注記]

ST_Within() は ST_Contains() の逆です。ST_Within(rastA, rastB) はST_Contains(rastB, rastA) を示します。

Availability: 2.1.0

コード
SELECT r1.rid, r2.rid, ST_Within(r1.rast, 1, r2.rast, 1) FROM dummy_rast r1 CROSS JOIN dummy_rast r2 WHERE r1.rid = 2;
出力
rid | rid | st_within
-----+-----+-----------
   2 |   1 | f
   2 |   2 | t