ST_SymmetricDiff rileva due oggetti di geometria e restituisce un oggetto di geometria che è la differenza simmetrica degli oggetti di origine.
Sintassi
db2gse.ST_SymmetricDiff(g1 db2gse.ST_Geometry, g2 db2gse.ST_Geometry)
Tipo di ritorno
db2gse.ST_Geometry
Esempi
L'ispettore regionale deve determinare le aree protette e il raggio di cinque miglia delle zone a rischio che non viene intersecato.
La seguente istruzione CREATE TABLE crea la tabella SENSITIVE_AREAS, contenente diverse colonne che descrivono le istituzioni interessate. La tabella SENSITIVE_AREAS contiene inoltre la colonna ZONE, in cui è memorizzata 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 seguente istruzione CREATE TABLE crea la tabella HAZARDOUS_SITES, che 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 point);
La funzione ST_Buffer genera a un buffer di cinque miglia che circonda le ubicazioni delle discariche a rischio. La funzione ST_SymmetricDiff 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 per ciascuna zona a rischio.
SELECT sa.name, hs.name, db2gse.ST_Area(db2gse.ST_SymmetricDiff (db2gse.ST_Buffer(hs.location, (5 * 5280)),sa.zone)) FROM HAZARDOUS_SITES hs, SENSITIVE_AREAS sa
![]() |
Nella Figura 38, la differenza simmetrica delle discariche a rischio e delle aree protette determina la sottrazione delle aree intersecate.