一、求幾何對象的長度
格式:
SDO_GEOM.SDO_LENGTH(geom IN MDSYS.SDO_GEOMETRY,dim IN MDSYS.SDO_DIM_ARRAY[,unit IN VARCHAR2]) RETURN NUMBER;
或
SDO_GEOM.SDO_LENGTH(geom IN MDSYS.SDO_GEOMETRY,tol IN NUMBER[,unit IN VARCHAR2]) RETURN NUMBER;
說明:
返回一個幾何對象的長度或周長。
參數說明:
geom.:幾何體對象。
dim:與geom相應的維資訊數組,通常從xxx_SDO_GEOM_METADATA視圖裡查詢得到。
unit:度量單位。使用帶引號的串,形式為unit=值,其值來源於表MDSYS.SDO_DIST_UNITS表中的一個SDO_UNIT值。如果該參數沒有指定,則度量的單位使用與資料相關聯的單位。
tol:容忍量值。
使用注意
如果輸入多邊形含有一個或多個洞,則該Function Compute外邊界的周和所有洞的周長,然後將這些周長進行累加,得到最終的總周長。
如果函數格式使用了tol值,所有幾何全必須使用4位的SDO_GTYPE值進行定義。
樣本
下例返回表“勘探開發項目”裡幾何實體周長。SQL語句是返回所有幾何體的周長。
select c.xmmc, SDO_GEOM.SDO_LENGTH(c.GEOMETRY2, m.diminfo)
from 勘探開發項目 c, MDSYS.USER_SDO_GEOM_METADATA m
where m.table_name = '勘探開發項目'
and m.COLUMN_NAME = 'GEOMETRY2';
二、求幾何對象的面積
格式:
SDO_GEOM.SDO_AREA(geom IN MDSYS.SDO_GEOMETRY,dim IN MDSYS.SDO_DIM_ARRAY[,unit IN VARCHAR2]) RETURN NUMBER;
或
SDO_GEOM. SDO_AREA (geom IN MDSYS.SDO_GEOMETRY,tol IN NUMBER[,unit IN VARCHAR2]) RETURN NUMBER;
說明:
返回兩維幾何多邊形的面積。
參數說明:
geom.:幾何體對象。
dim:與geom相應的維資訊數組,通常從xxx_SDO_GEOM_METADATA視圖裡查詢得到。
unit:度量單位。使用帶引號的串,形式為unit=值,其值來源於表MDSYS.SDO_AREA_UNITS表(例如,unit=SQ_KM)。
如果指定了unit,該值必須來源於表MDSYS.SDO_DIST_UNITS。如果沒有指定unit,就使用與幾何體相關聯的度量維的單位值。對於測地資料,預設的度量單位是平方米。
tol:容忍量值。
使用注意
該函數可以工作於手繪多邊形,包括帶洞的多邊形,如果帶tol參數,所有幾何全必須使用4位的SDO_GTYPE值進行定義。
樣本
下例返回表“勘探開發項目”裡幾何實體面積。SQL語句是返回所有幾何體的面積。
select c.xmmc, SDO_GEOM.SDO_AREA(c.GEOMETRY2, m.diminfo)
from 勘探開發項目 c, MDSYS.USER_SDO_GEOM_METADATA m
where m.table_name = '勘探開發項目'
and m.COLUMN_NAME = 'GEOMETRY2';