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;