论文部分内容阅读
对象-关系型数据库是地理信息系统空间数据存储与管理的主要数据库之一。从OracleSpatial三维空间数据的存储与可视化问题出发,本文研究了OracleSpatial的三维空间数据存储方法,通过研究Hibernate的对象-关系映射技术,实现数据库的面向对象操作,并采用面向对象的Java3D技术,实现数据库中3D模型的可视化。本文的主要研究成果包括: (1)OracleSpatial对3D空间数据的存储仍然使用SDO_GEOMETRY数据类型来实现,较前2D版本,其定义形式没有发生改变,只是将其扩展到了三维,甚至四维的应用环境。 (2)OracleSpatial3D空间对象的存储模型,除3D环境下的表面、形体、3D集合等模型外,还包括2D环境下的点、线、多边形、2D集合等基本建模模型。创建3D空间对象可以使用SDO_GEOMETRY构造函数,也可通过WKT、WKB等形式来构造。 (3)OracleSpatial3D空间数据的空间索引仍然使用R-树索引,创建方法和步骤与2D空间数据情况下的相同,创建时仍需先在USER_SDO_INDEX_METADATA视图中插入必要的空间索引元数据,然后才能创建空间索引。 (4)构建了包括数据库层、持久化层、可视化层三层在内的3D模型可视化总体框架,对框架对应的SDO_GEOMETRY3D对象信息提取、HibernateJava对象持久化和Java3D三个可视化关键技术进行了研究。给出了OracleSpatial简单三维形体分解的程序流程图。 (5)自行设计开发了SDO_GEOMETRY数据类型的Java映射类,实现了对包含SDO_GEOMETRY数据类型字段的Oracle数据库表的对象-关系映射,解决其建立对应Hibernate持久化类的问题,从而实现了数据库中3D模型或3D空间对象的面向对象操作,也实现了对OracleSpatial对象-关系数据库的面向对象操作。 (6)以GoogleEarth上两个3D模型为实例,研究了其存储与可视化方法。设计了3D模型的数据库存储方案及其数据导入方式,通过建立Hibernate3D模型POJO,实现3D模型的面向对象操作,并运用面向对象的Java3D编程实现了3D模型的可视化,结果表明其存储、对象-关系映射和可视化方案可行,为基于OracleSpatial的3D模型存储与可视化提供了一种方案。