【发布时间】:2017-04-23 23:43:00
【问题描述】:
我正在学习 oracle 空间数据库,但卡在SDO_GEOMETRY。实际上这个对象有以下结构:
CREATE TYPE sdo_geometry AS OBJECT(
SDO_GTYPE NUMBER,
SDO_SRID NUMBER,
SDO_POINT SDO_POINT_TYPE,
SDO_ELEM_INFO SDO_ELEM_INFO_ARRAY,
SDO_ORDINATES SDO_ORDINATE_ARRAY);
我将引用官方 oracle 文档中的两个属性 SDO_GTYPE 和 SDO_ELEM_INFO。
SDO_GTYPE:
SDO_GTYPE 表示几何的类型。有效几何类型对应于 OGIS Simple Features for SQL 规范的几何对象模型中指定的那些类型(表面除外)。
SDO_ELEM_INFO_ARRAY:
此属性让您知道如何解释存储在 SDO_ORDINATES 属性中的坐标
我的问题是我无法区分其中之一。 几何类型实际上不就是我们解释坐标的方式吗?例如,查看以下 insert 查询。它首先说几何是一个二维多边形,几行之后它要求将坐标解释为圆:
INSERT INTO cola_markets VALUES(
4,
'cola_d',
SDO_GEOMETRY(
2003, -- 2-dimensional polygon
NULL,
NULL,
SDO_ELEM_INFO_ARRAY(1,1003,4), -- one circle
SDO_ORDINATE_ARRAY(8,7, 10,9, 8,11)
)
);
请告诉我我的看法有什么问题。感谢阅读。
【问题讨论】: