Name

ST_Within — 래스터 rastB 외부에 놓인 래스터 rastA의 포인트가 하나도 없고, 적어도 rastA 내부의 포인트 하나가 rastB의 내부에 있는 경우 참을 반환합니다.

Synopsis

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

boolean ST_Within( raster rastA , raster rastB );

설명

래스터 rastB 외부에 놓인 래스터 rastA의 포인트가 하나도 없고, 적어도 rastA 내부의 포인트 하나가 rastB의 내부에 있을 경우에만 rastA가 rastB 내부에 있다고 합니다. 밴드 번호를 설정하지 않거나 또는 NULL로 설정할 경우, 확인 작업중 래스터의 볼록 껍질만 고려합니다. 밴드 번호를 설정할 경우, 확인 작업중 값을 가진 (NODATA가 아닌) 픽셀들만 고려합니다.

[Note]

이 피연산자(operand)는 래스터에서 이용할 수도 있는 모든 인덱스를 활용할 것입니다.

[Note]

래스터와 도형의 공간 관계성을 확인하려면, ST_Within(ST_Polygon(raster), geometry) 또는 ST_Within(geometry, ST_Polygon(raster))처럼 래스터에 ST_Polygon 함수를 이용하십시오.

[Note]

ST_Within()는 ST_Contains()의 역함수입니다. 따라서, ST_Within(rastA, rastB)의 결과와 ST_Contains(rastB, rastA)의 결과는 동일할 것입니다.

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