ST_Within
ST_Within retorna true se a projeção 2D da primeira geometria de entrada estiver dentro da projeção 2D da segunda geometria de entrada.
Por exemplo, a geometria A
estará dentro da geometria B
se todos os pontos em A
forem um ponto em B
e seus interiores tiverem interseção não vazia.
ST_Within(A
, B
) é equivalente a ST_Contains(B
, A
).
Sintaxe
ST_Within(geom1, geom2)
Argumentos
- geom1
-
Um valor de tipo de dados
GEOMETRY
ou uma expressão que é avaliada como um tipoGEOMETRY
. Esse valor é comparado com geom2 para determinar se ele está dentro de geom2. - geom2
-
Um valor de tipo de dados
GEOMETRY
ou uma expressão que é avaliada como um tipoGEOMETRY
.
Tipo de retorno
BOOLEAN
Nulo será retornado se geom1 ou geom2 for nulo.
Um erro será retornado se geom1 e geom2 não tiverem o mesmo valor do identificador do sistema referência espacial (SRID -spatial reference system identifier).
Um erro será retornado se geom1 ou geom2 for uma coleção de geometrias.
Exemplos
O SQL a seguir verifica se o primeiro polígono está dentro do segundo polígono.
SELECT ST_Within(ST_GeomFromText('POLYGON((0 2,1 1,0 -1,0 2))'), ST_GeomFromText('POLYGON((-1 3,2 1,0 -3,-1 3))'));
st_within
-----------
true