首先說以shape欄位在oracle中會被自動解析為5個子欄位,分別是shape.sdo_gtype,型別分為點,線,面等,點是指只有一組座標代號為2001,線就是兩個點了也就是有兩組座標2002後面的應該都知道了,然後就是shape.sdo_srid,shape.sdo_point.x,shape.sdo_point.y,sdo_point.z
操作空間欄位主要用的就是mdsys.sdo_geometry()這個函式,有興趣的小夥伴可以詳細瞭解一下
維護線裝置的空間欄位:
insertinto
tablename(shape)
values
(mdsys.sdo_geometry(
2002,--
線null, --
srid根據公司規定來填
null
,mdsys.sdo_elem_info_array(
1, 2, 1
),mdsys.sdo_ordinate_array(資料集合)
--兩組座標x1,y1,x2,y2
));
維護點裝置的空間欄位:
insertinto
tablename(shape)
values
(mdsys.sdo_geometry(
2001,--
點null,--
srid
mdsys.sdo_point_type(x座標, y座標, z座標),
--沒有z就填null
null
,null
));
後面給出獲取shape欄位的座標值**
//引數是一個實體物件,也就是資料庫裡的一條資料
public
double getshapexy(map map) throws
exception;
return
array;
}