標籤:member ase const href eterm mds int 技術分享 使用
中繼資料定義
1 CREATE OR REPLACE TYPE MDSYS.SDO_GEOMETRY AS OBJECT ( 2 SDO_GTYPE NUMBER, 3 SDO_SRID NUMBER, 4 SDO_POINT SDO_POINT_TYPE, 5 SDO_ELEM_INFO SDO_ELEM_INFO_ARRAY, 6 SDO_ORDINATES SDO_ORDINATE_ARRAY, 7 MEMBER FUNCTION GET_GTYPE 8 RETURN NUMBER DETERMINISTIC, 9 MEMBER FUNCTION GET_DIMS10 RETURN NUMBER DETERMINISTIC,11 MEMBER FUNCTION GET_LRS_DIM12 RETURN NUMBER DETERMINISTIC)13 14 ALTER TYPE SDO_GEOMETRY15 ADD MEMBER FUNCTION GET_WKB RETURN BLOB DETERMINISTIC,16 ADD MEMBER FUNCTION GET_WKT RETURN CLOB DETERMINISTIC,17 ADD MEMBER FUNCTION ST_CoordDim RETURN SMALLINT DETERMINISTIC,18 ADD MEMBER FUNCTION ST_IsValid RETURN INTEGER DETERMINISTIC,19 ADD CONSTRUCTOR FUNCTION SDO_GEOMETRY(wkt IN CLOB,20 srid IN INTEGER DEFAULT NULL) RETURN SELF AS RESULT,21 ADD CONSTRUCTOR FUNCTION SDO_GEOMETRY(wkt IN VARCHAR2,22 srid IN INTEGER DEFAULT NULL) RETURN SELF AS RESULT,23 ADD CONSTRUCTOR FUNCTION SDO_GEOMETRY(wkb IN BLOB,24 srid IN INTEGER DEFAULT NULL) RETURN SELF AS RESULT25 CASCADE
建立表
create table test_geom(id int,geom MDSYS.SDO_GEOMETRY)
使用wkt插入表
insert into test_geom(id,geom) values(2,SDO_GEOMETRY(‘point(116.6 24.343)‘,4326))
SDO_SRID定義了空間座標參考系統。如果SDO_SRID為null,則沒有指定座標系統,如果SDO_SRID不為null,那麼它的值必須在在MDSYS.CS_SRS 表中的 SRID 列有對應的值,而且它的值必須插入USER_SDO_GEOM_METADATA視圖中。MDSYS.CS_SRS 表參考 圖2
|
MDSYS.CS_SRS表 |
|
列名 |
類型 |
列名描述 |
|
CS_NAME |
VARCHAR2(68) |
座標系統名稱 |
|
SRID |
NUMBER(38) |
空間參考ID,為唯一值。1-999999為spatial使用的空間參考,1000000以後為使用者自訂 |
|
AUTH_SRID |
NUMBER(38) |
可選的SRID,是個外鍵。另一個座標系統的SRID |
|
AUTH_NAME |
VARCHAR2(256) |
|
|
WKTEXT |
VARCHAR2(2046) |
|
|
CS_BOUNDS |
MDSYS.SDO_GEOMETRY |
|
select *from MDSYS.CS_SRS,居然沒有3857
參考說明
http://docs.oracle.com/database/121/SPATL/toc.htm
oracle 的 SDO_GEOMETRY