ST_Intersects rileva due geometrie e restituisce 1 (TRUE), se l'intersezione delle due geometrie non determina una serie vuota. Altrimenti, restituisce 0 (FALSE).
Sintassi
db2gse.ST_Intersects(g1 db2gse.ST_Geometry, g2 db2gse.ST_Geometry)
Tipo di ritorno
Integer
Esempi
I vigili del fuoco richiedono un elenco di tutte le zone protette situate in un raggio di cinque miglia dalle aree a rischio.
Le zone protette vengono memorizzate nella tabella SENSITIVE_AREAS creata con la seguente istruzione CREATE TABLE. La colonna ZONE viene definita come un poligono, che memorizza il perimetro di ciascuna zona protetta.
CREATE TABLE SENSITIVE_AREAS (id integer, name varchar(128), size float, type varchar(10), zone db2gse.ST_Polygon);
I siti a rischio vengono memorizzati nella tabella HAZARDOUS_SITES creata con la seguente istruzione CREATE TABLE. La colonna LOCATION, definita come punto, memorizza un'ubicazione che rappresenta il centro geografico di ciascun sito a rischio.
CREATE TABLE HAZARDOUS_SITES (site_id integer, name varchar(128), location db2gse.ST_Point);
L'interrogazione restituisce un elenco di nomi delle zone protette e delle aree a rischio per quelle zone protette che intersecano il buffer di cinque miglia delle aree a rischio.
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;