论文部分内容阅读
地理信息系统(GIS)是一种以采集、贮存、管理、分析和描述整个或部分地球表面与空间地理分布有关数据的空间信息系统。从GIS的诞生到现在,经历了30多年的发展,它已经进入了一个多样化的阶段,并使GIS从单纯意义上的软件发展成了内容丰富的产业。尤其是进入90年代后,Internet的飞速发展还推动了GIS向WEBGIS的发展。GIS的一个难点是实现空间数据和属性数据的一体化存储和管理,本文采用Oracle Spatial技术来解决这一问题。 本文首先对Oracle Spatial进行了深入的研究,包括:空间数据的分类,Oracle Spatial的两种模型,空间数据的索引等。Oracle Spatial的两种模型分别是对象—关系模型和关系模型,在对它们进行了比较后,本文采用了对象—关系模型。确定了采用的模型后,就对这种模型进行了详细的研究,包括:用于存储空间数据的对象类型—SDO_GEOMETRY以及它每部分的具体含义,存储几何体信息的元数据以及它各组成部分的作用,在此基础上,运用SDO_GEOMETRY这种对象类型对几类有代表意义的几何体进行了存储。Oracle Spatial提供了两种空间索引,分别是R-树索引和四元树索引,在比较了它们的优缺点后,本文采用了四元树索引。 在研究了Oracle Spatial后,就开始着手导入空间数据。为此,比较了两种导入工具:Oracle的sqlldr和MapInfo的EasyLoader,在此基础上,选定了EasyLoader作为本文的导入工具,并用这种工具将MapInfo格式的地图数据导入Oracle数据库中。 最后,研究了Oracle Spatial的查询机制和一些重要的查询算子,并运用这些算子实现了对Oracle数据库中的空间数据的查询。本文采用Java作为开发工具,Java与Oracle数据库相连有JDBC和SQLJ两种方式,本文采用JDBC这种连接方式。在研究了JDBC工作原理后,详细研究了JDBC实现查询的流程并运用JDBC和Oracle Spatial的查询算子实现了三种基本的查询,它们也是GIS中很常用的几种查询。