使用與參考手冊

ST_Buffer

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 英哩緩衝區與醫院相交,而且其中一個緩衝區與學校相交。 不過療養院位於這兩個半徑範圍以外。

圖 29. 半徑 5 英哩範圍的緩衝區應用於一個點。


top


[ 頁面頂端 | 前一頁 | 下一頁 | 目錄 | 索引 ]