ST_Union は 2 つの図形オブジェクトを引き数とし、ソース・オブジェクト間の差である図形オブジェクトを戻します。
構文
db2gse.ST_Union(g1 db2gse.ST_Geometry, g2 db2gse.ST_Geometry)
戻りタイプ
db2gse.ST_Geometry
例
以下の CREATE TABLE ステートメントによって SENSITIVE_AREAS 表が作成されます。この表には、汚染の恐れがある公共施設について記述した複数の列があります。また SENSITIVE_AREAS 表には、それらの公共施設のポリゴン図形を格納する ZONE 列も含まれています。
CREATE TABLE SENSITIVE_AREAS (id integer, name varchar(128), size float, type varchar(10), zone db2gse.ST_Polygon);
以下の CREATE TABLE ステートメントは HAZARDOUS_SITES 表を作成します。この表には、地点を識別する SITE_ID 列と NAME 列が格納されています。それぞれの地点の実際の地理上の位置は、LOCATION ポイント列に格納されています。
CREATE TABLE HAZARDOUS_SITES (site_id integer, name varchar(128), location db2gse.ST_Point);
以下の SELECT ステートメントは、ST_Buffer 関数を使用して、危険廃棄物施設の場所を取り囲む 5 マイルの緩衝地帯を生成します。 ST_Union 関数は、危険廃棄物施設の緩衝地帯のポリゴンと重要地域との和集合からポリゴンを生成します。 ST_Area 関数は、ポリゴンの地域の和集合を戻します。
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;