ST_Overlaps rileva due oggetti di geometria e restituisce 1 (TRUE) se l'intersezione dei risultati degli oggetti determinano un oggetto di geometria della stessa dimensione, ma diverso dagli oggetti di origine; in caso contrario, restituisce 0 (FALSE).
Sintassi
db2gse.ST_Overlaps(g1 db2gse.ST_Geometry, g2 db2gse.ST_Geometry)
Tipo di ritorno
Integer
Esempi
L'ispettore regionale richiede un elenco dei siti di discariche a rischio nel cui raggio di cinque miglia sono situate aree protette.
La seguente istruzione CREATE TABLE crea la tabella SENSITIVE_AREAS. La tabella SENSITIVE_AREAS contiene diverse colonne che descrivono le istituzioni interessate oltre alla colonna ZONE che memorizza la geometria del poligono dell'istituzione.
CREATE TABLE SENSITIVE_AREAS (id integer, name varchar(128), size float, type varchar(10), zone db2gse.ST_Polygon);
La tabella HAZARDOUS_SITES memorizza l'identità dei siti nelle colonne SITE_ID e NAME, mentre l'effettiva ubicazione geografica di ciascun sito viene memorizzata nella colonna di punto LOCATION.
CREATE TABLE HAZARDOUS_SITES (site_id integer, name varchar(128), location db2gse.ST_Point);
Nella seguente istruzione SELECT, le tabelle SENSITIVE_AREAS e HAZARDOUS_SITES vengono unite dalla funzione ST_Overlaps. Questa funzione restituisce 1 (TRUE) per tutte le righe nella tabella SENSITIVE_AREAS i cui poligoni di zona superano il raggio di cinque miglia compreso nel buffer del punto di ubicazione di HAZARDOUS_SITES.
SELECT hs.name FROM HAZARDOUS_SITES hs, SENSITIVE_AREAS sa WHERE db2gse.ST_Overlaps (buffer(hs.location,(5 * 5280)),sa.zone) = 1;
Nella Figura 37, l'ospedale e la scuola superano il raggio di cinque miglia dei due siti delle discariche a rischio, mentre l'asilo non lo supera.
![]() |