基于Oracle Spatial的空间数据一体化存储研究
【摘要】:空间数据作为GIS(Geography Information System)的基础组成部分和重要信息来源,在我国的经济建设和可持续发展中起到了越来越重要的作用。随着GIS应用的不断深入,数字地球时代正在向我们走来,人类社会生产和生活与地理信息将变得越来越紧密,这都将对地理空间数据库的建设提出越来越高的要求。
随着地理信息系统技术的发展,围绕空间数据的管理,前后出现了几种不同的空间数据管理模式:纯文件模式、文件结合关系型数据库的管理模式、全关系型数据库管理模式和面向对象的数据库管理模式。前两种方式都是将空间数据和属性数据分离存储,造成资源的浪费和管理的混乱,数据一致性较难维护;而第三种方式中,由于空间数据不能统一在传统关系型数据库里存放,造成空间数据不能在网上共享;面向对象数据库管理系统技术还不够成熟,并且价格昂贵,在GIS领域目前还很难有实际的应用。
近几年来,在关系型数据库上进行扩展,使之具备存储复杂对象的能力,即对象-关系型数据库成为空间数据存储与管理研究的主要方向,对于GIS应用来说,对象-关系型数据库的扩展模块是空间数据引擎技术,它从GIS和数据库两个方向上并行发展,随着对象-关系型数据库的发展和完善,GIS多源数据在数据库的高效存储与管理成为了可能。Oracle数据库在8i版本中,就加入了Spatial空间组件,提供以对象形式存储的矢量数据模型,该模型在Oracle 9i中得到加强,最新推出的10g版本,又增添了栅格数据存储模型,从而使Oracle数据库管理空间数据的功能得到了完善。本文就基于Oracle Spatial 10g中的空间数据模型,研究GIS多源数据的存储与管理,分析了矢量数据、栅格数据、元数据、波段、图层、坐标系、物理存储结构等几个相关概念,探讨了对象-关系模型中矢量和栅格数据存储的关键技术,最后用实例证明,采用Oracle 10g Spatial组件可以对GIS空间数据进行统一有效的存储与管理,通过元数据表的关联,可以将矢量和栅格数据以对象的方式与属性数据存储到Oracle数据库中,实现了GIS数据在同一个数据库中的存储与管理。