A função ST_COVERS determina se o primeiro objeto geográfico cobre o segundo. O resultado é verdadeiro quando todos os pontos do segundo objeto geográfico estão na fronteira ou no interior do primeiro.
Sintaxe
BOOLEAN ST_COVERS(GEOGRAPHY <value1>, GEOGRAPHY <value2>)
Parâmetros
value1, value2: Obrigatórios. Valores do tipo de dados GEOGRAPHY data type. Construa objetos GEOGRAPHY com funções como ST_GEOGPOINT, ST_GEOGFROMWKB, ST_GEOGFROMTEXT, ST_MAKELINE e ST_MAKEPOLYGON.
Valor de retorno
Retorna um valor BOOLEAN.
Retorna TRUE se todos os pontos do segundo objeto geográfico estiverem na fronteira ou no interior do primeiro; caso contrário, retorna FALSE.
Retorna FALSE se value1 ou value2 for um objeto geográfico vazio.
Um objeto geográfico cobre seus próprios nós de fronteira .
Exemplos
-
Exemplo 1: Verifica se o polígono POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0)) cobre três pontos: (5, 5), fora do polígono; (0, 0), na fronteira; e (0,5, 0,5), no interior.
-- Returns TRUE because point(0 0) is on a boundary node of the polygon. SELECT ST_COVERS(ST_GEOGFROMTEXT('POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0))'), ST_GEOGPOINT(0, 0)); -- Returns TRUE because point(0.5 0.5) is in the interior of the polygon. SELECT ST_COVERS(ST_GEOGFROMTEXT('POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0))'), ST_GEOGPOINT(0.5, 0.5)); -- Returns FALSE because point(5 5) is outside the polygon. SELECT ST_COVERS(ST_GEOGFROMTEXT('POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0))'), ST_GEOGPOINT(5, 5)); -
Exemplo 2: Demonstra que ST_COVERS retorna FALSE quando um argumento é um objeto geográfico vazio.
-- Returns FALSE SELECT ST_COVERS(ST_GEOGFROMTEXT('POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0))'),ST_GEOGFROMTEXT('point empty'));