A função ST_Contains retorna true se o primeiro argumento contiver espacialmente o segundo. A contenção ocorre quando todos os pontos do segundo argumento estão no interior ou na fronteira do primeiro e os interiores de ambos compartilham pelo menos um ponto.
Sintaxe
boolean ST_Contains(geomgrid grid, geometry geom);
boolean ST_Contains(geometry geom, geomgrid grid);
boolean ST_Contains(geomgrid grid1, geomgrid grid2);
Parâmetros
|
Parâmetro |
Descrição |
|
|
Grid cuja relação espacial será consultada. |
|
|
Geometria cuja relação espacial será consultada. |
|
|
Valor |
|
|
Valor |
Exemplos
Exemplo 1: O grid não contém o ponto
O grid G001331032213300013 é uma célula de granularidade fina. O POINT localizado aproximadamente em (116.315, 39.910) está fora dessa área; portanto, a função retorna f.
SELECT ST_Contains(
ST_GridFromText('G001331032213300013'),
ST_GeomFromText('POINT(116.31522216796875 39.910277777777778)', 4490)
);
st_contains
-------------
f
Exemplo 2: Grid pai contém um grid filho
O código de grid mais curto G00133103221330 representa uma célula mais grossa que contém totalmente G001331032213300013; logo, a função retorna t.
SELECT ST_Contains(
ST_GridFromText('G00133103221330'),
ST_GridFromText('G001331032213300013')
);
st_contains
-------------
t