oracle空間欄位shape維護

2022-06-23 15:21:13 字數 1006 閱讀 9011

首先說以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()這個函式,有興趣的小夥伴可以詳細瞭解一下

維護線裝置的空間欄位:

insert

into

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

));

維護點裝置的空間欄位:

insert

into

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;

}