oracle 的 SDO_GEOMETRY
时间:2021-07-01 10:21:17
帮助过:22人阅读
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_DIMS
10 RETURN NUMBER DETERMINISTIC,
11 MEMBER
FUNCTION GET_LRS_DIM
12 RETURN NUMBER DETERMINISTIC)
13
14 ALTER TYPE SDO_GEOMETRY
15 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 RESULT
25 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
标签:member ase const href eterm mds int 技术分享 使用