ST_Buffer 使用一個幾何物件和距離並傳回圍繞來源物件的幾何物件。
語法
db2gse.ST_Buffer(g db2gse.ST_Geometry , adistance Double)
回覆類型
db2gse.ST_Geometry
範例
「縣行政官」需要危險場所列示,這些場所的 5 英哩半徑範圍涵蓋一些敏感區域,例如學校、醫院和療養院。 敏感區域儲存在使用下列 CREATE TABLE 陳述式建立的表格 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 表格。 LOCATION 直欄 (定義成一個點) 儲存一個位置,這位置是每一個危險場所的地理中心。
CREATE TABLE HAZARDOUS_SITES (site_id integer, name varchar(128), location db2gse.ST_Point);
db2gse.ST_Overlaps 函數合併 SENSITIVE_AREAS 及 HAZARDOUS_SITES 表格。若 SENSITIVE_AREAS 列的區域多邊形重疊 HAZARDOUS_SITES 位置點的緩衝的 5 英哩半徑範圍, 對所有這些列,它傳回 1 (TRUE)。
SELECT sa.name "Sensitive Areas", hs.name "Hazardous Sites" FROM SENSITIVE_AREAS sa, HAZARDOUS_SITES hs WHERE db2gse.ST_Overlaps(sa.zone, db2gse.ST_Buffer (hs.location,(5 * 5280))) = 1;
在圖 29中,本行政區的部份敏感區域位於危險場所的 5 英哩緩衝區內。 這兩個 5 英哩緩衝區與醫院相交,而且其中一個緩衝區與學校相交。 不過療養院位於這兩個半徑範圍以外。
![]() |