Guía y consulta del usuario

ST_Intersects

ST_Intersects toma dos geometrías y devuelve 1 (TRUE) si la intersección de las dos geometrías no da como resultado un conjunto vació. Si no es así, devuelve 0 (FALSE).

Sintaxis

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

Tipo devuelto

Entero

Ejemplos

El jefe de bomberos necesita una lista de todas las áreas sensibles que quedan dentro de un radio de cinco millas de un sitio de residuos peligrosos.

Las áreas sensibles se almacenan en la tabla SENSITIVE_AREAS que se crea con la siguiente sentencia CREATE TABLE. La columna ZONE está definida como un polígono que almacena el contorno de cada una de las áreas sensibles.

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

Los sitios peligrosos se almacenan en la tabla HAZARDOUS_SITES, creada con la siguiente sentencia CREATE TABLE. La columna LOCATION, definida como un punto, almacena la ubicación que constituye el centro geográfico de cada sitio peligroso.

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

La consulta devuelve una lista de áreas sensibles y nombres de sitios peligrosos correspondientes a áreas sensibles que forman intersección con el área con un radio de cinco millas que rodea los sitios peligrosos.

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; 


[ Principio de página | Página anterior | Página siguiente | Contenido | Índice ]