ST_SymmetricDiff toma dos objetos geometría y devuelve un objeto geometría que es la diferencia simétrica de los objetos fuente.
Sintaxis
db2gse.ST_SymmetricDiff(g1 db2gse.ST_Geometry, g2 db2gse.ST_Geometry)
Tipo devuelto
db2gse.ST_Geometry
Ejemplos
El supervisor del condado debe determinar el área correspondiente a áreas sensibles que no forman intersección con el radio de cinco millas de sitios peligrosos.
La siguiente sentencia CREATE TABLE crea la tabla SENSITIVE_AREAS, que contiene varias columnas que describen las instituciones amenazadas. La tabla SENSITIVE_AREAS también contiene la columna ZONE, que almacena la geometría de polígono de cada institución.
CREATE TABLE SENSITIVE_AREAS (id integer, name varchar(128), size float, type varchar(10), zone db2gse.ST_Polygon);
La siguiente sentencia CREATE TABLE crea la tabla HAZARDOUS_SITES, que almacena la identidad de los sitios en las columnas SITE_ID y NAME, mientras que la ubicación geográfica real de cada sitio se almacena en la columna de puntos LOCATION.
CREATE TABLE HAZARDOUS_SITES ( site_id integer, name varchar(128), location point);
La función ST_Buffer genera un área de un radio de cinco millas que rodea las ubicaciones de los sitios de residuos peligrosos. La función ST_SymmetricDiff genera polígonos a partir de la intersección entre los polígonos de sitios de residuos peligrosos rodeados y las áreas sensibles. La función ST_Area devuelve el área de los polígonos de la intersección correspondiente a cada sitio peligroso.
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
![]() |
En la Figura 38, la diferencia simétrica de los sitios de residuos peligrosos y las áreas sensibles da como resultado la resta de las áreas que forman la intersección.