ST_Crosses rileva due oggetti di geometria e restituisce 1 (TRUE) se l'intersezione crea un oggetto geometrico la cui dimensione è inferiore a quella massima degli oggetti di origine. L'oggetto di intersezione contiene i punti interni a entrambe le geometrie di origine e non corrisponde a nessun oggetto di origine. Altrimenti, restituisce 0 (FALSE).
Sintassi
db2gse.ST_Crosses(g1 db2gse.ST_Geometry, g2 db2gse.ST_Geometry)
Tipo di ritorno
Integer
Esempi
Il governo sta considerando una nuova normativa che stabilisce che tutte le discariche a rischio all'interno di un paese non possono essere situate in un raggio di cinque miglia dai corsi d'acqua. Il responsabile GIS regionale dispone di una rappresentazione accurata dei fiumi e dei flussi d'acqua memorizzati come multistringhe lineari nella tabella WATERWAYS. Tuttavia, questo responsabile ha soltanto una singola ubicazione di punto per ogni discarica a rischio.
CREATE TABLE WATERWAYS (id integer, name varchar(128), water db2gse.ST_MultiLineString); CREATE TABLE HAZARDOUS_SITES ( site_id integer, name varchar(128), location db2gse.ST_Point);
Per stabilire se l'ispettore regionale deve ricevere una notifica in caso di violazione della normativa proposta, è necessario che il responsabile GIS esegua il buffer delle zone a rischio e verifichi se i fiumi o i corsi d'acqua attraversano il poligono del buffer. Il predicato ST_Crosses confronta HAZARDOUS_SITES nel buffer con WATERWAYS. Pertanto, vengono restituiti solo i record i cui corsi d'acqua attraversano il raggio stabilito dalla normativa proposta.
SELECT ww.name "River or stream", hs.name "Hazardous site" FROM WATERWAYS ww, HAZARDOUS_SITES hs WHERE db2gse.ST_Crosses(db2gse.ST_Buffer(hs.location,(5 * 5280)),ww.water) =1;
Nella Figura 31, il buffer di cinque miglia delle zone delle discariche a rischio attraversa i fiumi o i corsi d'acqua dell'intero distretto regionale. I fiumi e i corsi d'acqua sono stati definiti come multistringa lineare. Quindi, la serie di risultati include tutti i segmenti delle stringhe lineari che fanno parte di quei segmenti che attraversano il raggio.
![]() |