ST_Intersection toma dos objetos geometría y devuelve el conjunto de intersecciones como un objeto geometría.
Sintaxis
db2gse.ST_Intersection(g1 db2gse.ST_Geometry, g2 db2gse.ST_Geometry)
Tipo devuelto
db2gse.ST_Geometry
Ejemplos
El jefe de bomberos debe obtener las áreas de los hospitales, colegios y guarderías que forman intersección con el radio de una posible área de contaminación por residuos peligrosos.
Las áreas sensibles se almacenan en la tabla SENSITIVE_AREAS que se crea con la siguiente sentencia CREATE TABLE. La columna ZONE está definida como un polígono que almacena el contorno de cada una de las áreas sensibles.
CREATE TABLE SENSITIVE_AREAS (id integer, name varchar(128), size float, type varchar(10), zone db2gse.ST_Polygon);
Los sitios peligrosos se almacenan en la tabla HAZARDOUS_SITES que se crea con la siguiente sentencia CREATE TABLE. La columna LOCATION, definida como un punto, almacena la ubicación que constituye el centro geográfico de cada sitio peligroso.
CREATE TABLE HAZARDOUS_SITES ( site_id integer, name varchar(128), location db2gse.ST_Point);
La función buffer genera un área con un radio de cinco millas que rodea las ubicaciones de sitios de residuos peligrosos. La función ST_Intersection genera polígonos a partir de la intersección de 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 intersección, que se suma para cada sitio peligroso mediante la función SUM. La cláusula GROUP BY indica a la consulta que sume las áreas de la intersección por id del sitio de residuos peligrosos.
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;
En la Figura 35, los círculos representan los polígonos rodeados que hay alrededor de los sitios de residuos peligrosos. La intersección de estos polígonos rodeados con los polígonos de áreas sensibles generan otros tres polígonos. El hospital de la parte superior izquierda forma intersección dos veces, mientras que el colegio de la parte inferior derecha forma intersección una sola vez.
![]() |