ST_Union utilise deux objets de type géométrie en entrée et renvoie un objet de même type résultant de l'union des deux objets source.
Syntaxe
db2gse.ST_Union(g1 db2gse.ST_Geometry, g2 db2gse.ST_Geometry)
Type de retour
db2gse.ST_Geometry
Exemples
L'instruction CREATE TABLE ci-après crée la table SENSITIVE_AREAS, qui comporte plusieurs colonnes décrivant les établissements menacés. Cette table contient également la colonne ZONE qui stocke la géométrie de type polygone des établissements.
CREATE TABLE SENSITIVE_AREAS (id integer, name varchar(128), size float, type varchar(10), zone db2gse.ST_Polygon);
L'instruction CREATE TABLE ci-après crée la table HAZARDOUS_SITES, qui stocke l'identificateur des sites dans les colonnes SITE_ID et NAME. Quant à l'emplacement géographique réel de chaque site, il est enregistré dans la colonne de type point LOCATION.
CREATE TABLE HAZARDOUS_SITES (site_id integer, name varchar(128), location db2gse.ST_Point);
L'instruction SELECT ci-après utilise la fonction ST_Buffer pour créer une zone tampon de 8 km autour de l'emplacement des sites de déchets dangereux. La fonction ST_Union génère des polygones à partir de l'union des polygones des zones tampons des sites à risque et les zones sensibles. La fonction ST_Area renvoie l'union de la surface des polygones.
SELECT sa.name, hs.name, db2gse.ST_Area(db2gse.ST_Union(db2gse.ST_Buffer(hs.location,(5 * 5280)),sa.zone)) FROM HAZARDOUS_SITES hs, SENSITIVE_AREAS sa;