Name

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

Synopsis

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

boolean ST_Contains( raster rastA , raster rastB );

Descrição

O raster rastA contém o rastB se e somente se nenhum ponto do rastB estiver no exterior do rastA. 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]

Esta função fará uso de qualquer índice que possa 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_Contains(ST_Polygon(raster), geometria) ou ST_Contains(geometria, ST_Polygon(raster)).

[Note]

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

Disponibilidade: 2.1.0

Exemplos

-- specified band numbers
SELECT r1.rid, r2.rid, ST_Contains(r1.rast, 1, r2.rast, 1) FROM dummy_rast r1 CROSS JOIN dummy_rast r2 WHERE r1.rid = 1;

NOTICE:  The first raster provided has no bands
 rid | rid | st_contains
-----+-----+-------------
   1 |   1 |
   1 |   2 | f
            
-- no band numbers specified
SELECT r1.rid, r2.rid, ST_Contains(r1.rast, r2.rast) FROM dummy_rast r1 CROSS JOIN dummy_rast r2 WHERE r1.rid = 1;
 rid | rid | st_contains
-----+-----+-------------
   1 |   1 | t
   1 |   2 | f
            

Veja também

ST_Intersects, ST_Within