文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。网学的各位小编整理了数据库- OracleSpatial空间数据库的设计及应用 的相关内容供大家参考,祝大家在新的一年里工作和学习顺利!
1 引 言目前,地理信息系统普遍采用空间数据和属性数据分开存储的模式,属性数据一般存储在关系型数据库系统中, 空间数据则以文件方式存储。这种存储方式在单机地理信息系统中还表现不出多大缺陷,但是随着计算机网络的发展,特别是Web GIS的出现,这种存储模式在网络地理信息中会遇到很多问题。 Oracle Spatial推出后,空间数据和属性数据可实现一体化存储。由于地理信息数据的存储、管理方式发生改变, 地理信息应用系统的开发方法也随之发生了根本的变化。本文论述了基于这种新型的空间数据存储模式下, GIS应用系统的开发。
2 Oracle Spatial空间数据 2·1 地理元数据管理模式 Oracle Spatial采取元数据表和空间数据表共同管理地理空间数据。MDSYS是Oracle Spatial的管理用户, MDSYS方案中,表SDOGEOM METADATA TABLE存储所有上载到Oracle中的MapInfo地图信息,每条记录描述了一个空间数据表的图形列名、图形的坐标维名称,以及各维坐标的上界、下界和精度等:表SDO INDEX METADATA TABLE存储与索引相关的信息,如:被索引的列名,索引的方式,索引的级别,索引的所有者等。
2·2 Oracle Spatial空间数据存储模式[2-5] Oracle Spatia支持两种表现空间元素的模型: 1)关系式模型:用多行记录和字段类型为Number的一张表来表示一个空间实体。 2)对象—关系式模型:这种模型使用数据库表,表中有一个类型为MDSYS·SDO GEOMETRY的字段,用一行记录来存储一个空间数据实体。两者的主要区别为:对象关系模式下用列来存储对象, 而关系模式下用二维表来存储对象。Oracle为管理空间数据提供了对象—关系模式SDO(Spatial Data Object),同时提供优秀的空间索引机制。Oracle Spatial的对象—关系模型实现方法有一组对象数据类型、一种类型的索引方法以及在这些类型上的操作符组成。 Oracle 9i Spatial空间数据表的每条记录存储了一个空间实体(对象)的属性和图形信息。属性信息为数字或文本, 是非对象数据:图形信息,即空间数据,存放在字段名为 GEOLOC,字段类型为SDO GEOMETRY的对象类型记录中。拥有该字段的任何一个表,必须要有另外一列或几列用于定义这个表的唯一主键。