ST_SymmetricDiff 使用兩個幾何物件並傳回一個幾何物件,該物件是來源物件的對稱差集。
語法
db2gse.ST_SymmetricDiff(g1 db2gse.ST_Geometry, g2 db2gse.ST_Geometry)
回覆類型
db2gse.ST_Geometry
範例
縣行政官必須判斷敏感區域與 5 英哩危險場所半徑範圍沒有相交的區域。
下列 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 point);
ST_Buffer 函數產生圍繞危險廢棄物場所的 5 英哩緩衝區。 ST_SymmetricDiff 函數從緩衝的危險廢棄物場所多邊形與敏感區域的交集產生多邊形。ST_Area 函數傳回每一個危險場所的相交多邊形區域。
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
圖 38. 使用 ST_SymmetricDiff 判斷不含敏感區域 (有人居住的建築物) 的危險廢棄物區域。
![]() |
在圖 38中,危險廢棄物場所與敏感區域的對稱差集會減少相交區域。