Guida di riferimento per l'utente

ST_Crosses

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.

Figura 31. Utilizzo di ST_Crosses per la ricerca dei corsi d'acqua che attraversano una zona a rischio


top


[ Inizio pagina | Pagina precedente | Pagina successiva | Indice | Indice analitico ]