首页 > 代码库 > oracle 的 SDO_GEOMETRY

oracle 的 SDO_GEOMETRY

元数据定义

 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