Name

ST_Within — Retorna verdade se nenhum ponto do raster rastA estiver no exterior do raster rastB e pelo menos um ponto do interior do rastA estiver no interior do rastB.

Synopsis

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

boolean ST_Within( raster rastA , raster rastB );

Descrição

O raster rastA está dentro do rastB se e somente se nenhum ponto do rastA estiver no exterior do rastB e pelo menos um ponto do interior do rastA estiver no interior do rastB. Se o número de banda não for fornecido (ou for NULL), apenas o casco convexo do raster será considerado no teste. Se o número de banda for fornecido, somente aqueles pixeis com valor (não NODATA) são considerados no teste.

[Note]

Este operador fará uso de qualquer índice que pode estar disponível nos rasters.

[Note]

Para testar a relação espacial de um raster e uma geometria, usa ST_Polygon no raster, ex.: ST_Within(ST_Polygon(raster), geometria) ou ST_Within(geometria, ST_Polygon(raster)).

[Note]

ST_Within() é o inverso da ST_Contains(). Logo, ST_Within(rastA, rastB) implica ST_Contains(rastB, rastA).

Disponibilidade: 2.1.0

Exemplos

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