使用與參考手冊

ST_Crosses

ST_Crosses 使用兩個幾何物件並傳回 1 (TRUE) (若這兩個物件的交集產生一個幾何物件,該物件的維度比來源物件的最大維度少一個維度)。 此交集物件含有一些點,這些點是這兩個來源幾何的內部點而且不等於任何來源物件。 否則會傳回 0 (FALSE)。

語法

db2gse.ST_Crosses(g1 db2gse.ST_Geometry, g2 db2gse.ST_Geometry)

回覆類型

Integer

範例

縣政府考慮實施一項新法規,規定縣內的危險廢棄物儲存設施距離水路要大於 5 英哩。 縣 GIS 主管有河流的正確示意圖,這些河流以多線串儲存在 WATERWAYS 表格。 但是對於每一個危險廢棄物儲存設施來說,GIS 主管只有單一點位置。

CREATE TABLE WATERWAYS (id        integer,
                              name      varchar(128),
                             water      db2gse.ST_MultiLineString);
CREATE TABLE HAZARDOUS_SITES (site_id   integer,
                              name      varchar(128),
                              location  db2gse.ST_Point);

若要判斷是否需要將違反此規定的設施通知縣行政官,那麼 GIS 主管應該緩衝危險場所位置,以瞭解有無河流經過緩衝區多邊形。 ST_Crosses 述詞比較緩衝的 HAZARDOUS_SITES 與 WATERWAYS。 所以只會傳回水路通過縣提議的規定半徑範圍的記錄。

SELECT ww.name "River or stream", hs.name "Hazardous site"
FROM WATERWAYS ww, HAZARDOUS_SITES hs
WHERE db2gse.ST_Crosses(db2gse.ST_Buffer(hs.location,(5 * 5280)),ww.water) = 1;

圖 31中,危險廢棄物場所的 5 英哩緩衝區經過那些流經縣行政區的溪流網路。 溪流網路被定義成多線串。所以結果集包括全部線串區段,這些線串區段是通過此半徑範圍的那些區段的一部份。

圖 31. 使用 ST_Crosses 尋找流經危險廢棄物區域的水路。


top


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