Oracle空間資料庫函數使用
最近一段時間一直在用Oracle的空間資料庫做一些空間資料處理和分析功能,寫這篇文章主要是做一個筆記,畢竟好記性不如爛筆頭嘛。
首先說說我用的第一個函數:SDO_GEOM.SDO_BUFFER,根據官方文檔的描述,這個函數是用來返回一個代表緩衝區的幾何體(This function returns a geometry object representing the buffer polygon,也不知道我理解的準不準,呵呵)。官方給出了一個函數的說明:
SDO_GEOM.SDO_BUFFER(
geom IN SDO_GEOMETRY,
dim IN SDO_DIM_ARRAY,
dist IN NUMBER
[, params IN VARCHAR2]
) RETURN SDO_GEOMETRY;
or
SDO_GEOM.SDO_BUFFER(
geom IN SDO_GEOMETRY,
dist IN NUMBER,
tol IN NUMBER
[, params IN VARCHAR2]
) RETURN SDO_GEOMETRY;
SDO_GEOMETRY是oracle資料裡面定義的代資料表空間幾何體的類型,我用的是第二個函數,指定一個緩衝區的範圍和容差,至於後面的params則是一串字元,用來指定一距離單位和arc_tolerance,但是我也沒搞懂這個是什麼意思,看來英語還是要好好補補啊。
這是我寫的例子:
SELECT T.TOWERNAME , SDO_GEOM.SDO_BUFFER(T.STATIONMAP , 500, 1,
'unit=km arc_tolerance=0.05')
FROM DMSDKY.TB_PG_TOWERINFO t
WHERE T.TOWERCODE ='12M00000035385713'
顯示的結果如下:
--------------------------------------分割線 --------------------------------------
在CentOS 6.4下安裝Oracle 11gR2(x64)
Oracle 11gR2 在VMWare虛擬機器中安裝步驟
Debian 下 安裝 Oracle 11g XE R2
--------------------------------------分割線 --------------------------------------