名前

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
            

関連情報

ST_Intersects, ST_Contains, ST_DWithin, ST_DFullyWithin