Guida di riferimento per l'utente

ST_Intersection

ST_Intersection rileva due oggetti di geometria e restituisce la serie di intersezioni come oggetto di geometria.

Sintassi

db2gse.ST_Intersection(g1 db2gse.ST_Geometry, g2 db2gse.ST_Geometry)

Tipo di ritorno

db2gse.ST_Geometry

Esempi

I vigili del fuoco devono esaminare le aree degli ospedali, delle scuole e degli asili che vengono intersecate dal raggio di una possibile area a rischio di contaminazione.

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); 

La funzione buffer genera a un buffer di cinque miglia che circonda le ubicazioni delle discariche a rischio. La funzione ST_Intersection genera poligoni dall'intersezione dei poligoni delle discariche a rischio incluse nel buffer e aree protette. La funzione ST_Area restituisce l'area dei poligoni dell'intersezione che viene sommata per ciascuna zona a rischio dalla funzione SUM. La clausola GROUP BY indirizza l'interrogazione in modo da aggregare le aree intersecate in base al site_ID della zona a rischio.

SELECT hs.name,SUM(db2gse.ST_Area(db2gse.ST_Intersection (sa.zone, 
db2gse.ST_buffer hs.location,(5 * 5280)))) 
FROM SENSITIVE_AREAS sa, HAZARDOUS_SITES hs
GROUP BY hs.site_id; 

Nella Figura 35, i cerchi rappresentano i poligoni di cui è stato eseguito il buffer che circoscrivono le zone a rischio. L'intersezione di questi poligoni con quelli delle zone protette produce altri tre poligoni. L'ospedale nell'angolo sinistro superiore della figura viene intersecato due volte, mentre la scuola nell'angolo destro inferiore viene intersecata una sola volta.

Figura 35. Utilizzo di ST_Intersection per determinare la dimensione dell'area a rischio di ogni edificio


top


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