ST_Overlaps toma dois objetos de figura geométrica e retorna 1 (VERDADEIRO) se a interseção dos objetos resultar num objeto de figura geométrica da mesma dimensão, mas não for igual a nenhum dos objetos de origem; do contrário, retornará 0 (FALSO).
Sintaxe
db2gse.ST_Overlaps(g1 db2gse.ST_Geometry, g2 db2gse.ST_Geometry)
Tipo de retorno
Inteiro
Exemplos
O supervisor do município precisa de uma lista de áreas de lixo tóxico cujo raio de 8 km abranja áreas sensíveis.
A seguinte instrução CREATE TABLE cria a tabela SENSITIVE_AREAS. A tabela SENSITIVE_AREAS contém várias colunas que descrevem as instituições ameaçadas além da coluna ZONE, que armazena a figura geométrica do polígono da instituição.
CREATE TABLE SENSITIVE_AREAS (id integer, name varchar(128), size float, type varchar(10), zone db2gse.ST_Polygon);
A tabela HAZARDOUS_SITES armazena o identificador dos locais nas colunas SITE_ID e NAME, ao passo que a localização geográfica real de cada local é armazenada na coluna de ponto LOCATION.
CREATE TABLE HAZARDOUS_SITES (site_id integer, name varchar(128), location db2gse.ST_Point);
Na seguinte instrução SELECT, as tabelas SENSITIVES_AREAS E HAZARDOUS_SITES são unidas pela função ST_Overlaps. Ela retorna 1 (VERDADEIRO) para todas as linhas na tabela SENSITIVE_AREAS cujo polígono da zona abrange o raio de 8 km de buffer do ponto de localização HAZARDOUS_SITES.
SELECT hs.name FROM HAZARDOUS_SITES hs, SENSITIVE_AREAS sa WHERE db2gse.ST_Overlaps (buffer(hs.location,(5 * 5280)),sa.zone) = 1;
Na Figura 37, o hospital e a escola estão no raio de 8 km das áreas de lixo tóxico do município, ao passo que a casa de repouso está fora.
![]() |