Referência e Manual do Usuário

ST_Intersects

ST_Intersects toma duas figuras geométricas e retorna 1 (VERDADEIRO), se a interseção das duas figuras geométricas não resultar num conjunto vazio. Do contrário, retornará 0 (FALSO).

Sintaxe

db2gse.ST_Intersects(g1 db2gse.ST_Geometry, g2 db2gse.ST_Geometry)

Tipo de retorno

Inteiro

Exemplos

O oficial encarregado do serviço contra incêndios precisa de uma lista de todas as áreas sensíveis dentro de de um raio de 8 km de uma área de lixo tóxico.

As áreas sensíveis são armazenadas na tabela SENSITIVE_AREAS que é criada com a seguinte instrução CREATE TABLE. A coluna ZONE é definida como um polígono, que armazena a descrição de cada área sensível.

CREATE TABLE SENSITIVE_AREAS (id        integer,
                              name      varchar(128),
                              size      float,
                              type      varchar(10),
                              zone      db2gse.ST_Polygon);

As áreas de risco são armazenadas na tabela HAZARDOUS_SITES criada com a seguinte instrução CREATE TABLE. A coluna LOCATION, definida como um ponto, armazena uma localização que é o centro geográfico de cada local arriscado.

CREATE TABLE HAZARDOUS_SITES (site_id   integer,
                              name      varchar(128),
                               location  db2gse.ST_Point);

A consulta retorna uma lista de áreas sensíveis e nomes de áreas de risco para as áreas sensíveis que fazem interseção com o buffer de 8 km dos locais de risco.

SELECT sa.name, hs.name
FROM SENSITIVE_AREAS sa, HAZARDOUS_SITES hs
WHERE db2gse.ST_Intersects(db2gse.ST_Buffer(hs.location,(5 * 5280)),sa.zone) 
=1; 


[ Início da Página | Página Anterior | Próxima Página | Índice | Índice Remissivo ]