【SQL开源代码栏目提醒】:网学会员鉴于大家对SQL开源代码十分关注,论文会员在此为大家搜集整理了“基于Oracle ADF的读写Oracle空间数据的JAVA程序 - 会议论文”一文,供大家参考学习
基于Orac l e ADF的读写Orac l e空间数据的JAVA程序 卫国兵谢志茹 (天津海事局海测大队) 【摘要】交通运输部海事局已经开发多个海事测绘方面的数据库并已投入使用。
这些数据库的建立与使用,提高了生产效率和产品质量,实现数据的共享与交换。
空间数据的存储是数据库设计的重要部分。
2007年引进的用于海图生产的CARISHPD采用Oracle 109数据库,使用了Oracle Spatial组件。
天津海测大队开发的一些数据库也是基于Oracle数据库,并使用Oracle Spatial组件来存储空间数据。
在开发过程中,我们设计了基于Oracle ADF的读写Oracle空间数据的JAVA程序,实现了读写oracle空间数据的主要功能。
目前,我们还没有在互联网,主要是Oracle技术论坛,以及其它文献中,发现有实现类似功能的JAVA代码。
【关键词】Oracle 109数据库;Oracle Spatial组件;Oracle ADF;读写Oracle空间数据;JAVA程序1.前言 随着海洋测量技术的发展,
交通运输部海事局格根据需要已经开发了多个海事测绘方面的数据库,并已投入了使用。
这些数据库的建立与使用,提高了生产效率和产品质量,实现了数据共享与交换等。
这些数据库所使用的数据库
软件各不相同,但空间数据的存储都是数据库设计的重要部分。
2007年海事局引进了用于海图生产的CARIS HPD(海道产品数据库),它采用Oracle 109数据库,使用了Oracle Spatial组件。
天津海测大队开发的一些数据库也是基于Oracle数据库,并使用OracleSpatial组件来存储空间数据。
目前,ORACLE数据库主要提供三种接口方式对其数据进行存取: ·ORACLE提供的面向c语言程序员的编程接口OCI(Oracle Call Interface,简称0CI): ·用ORACLE本身所提供的0LE对象(Oracle Objects for OLE,以下简称0040)来快速访问有关数据库; ·用ORACLE提供的Oracle Spatial Java库,使得用Java编写的应用程序能够用Oracle Spatial访问及处理Oracle Database中管理的几何物体。
我们的开发基于Oracle ADF(Oracle应用程序开发框架),无法使用以上三种方式存储空间数据。
在开发过程中,我们设计了基于Oracle ADF的读写Oracle空间数据的JAVA程序,实现了读写Oracle空间数据的主要功能。
目前,我们还没有在互联网,主要是Oracle技术论坛,以及其它文献中,发现有实现类似功能的JAvA代码。
这篇文章对实现基于Oracle ADF的读写Oracle空间数据的JAvA程序代码进行了详细解释,可以为采用同样技术访问Oracle空间数据的JAVA程序员提供一定的思路。
2.Oracle Spatial简介 Oracle Spatial是Oracle公司推出的空间数据库组件,通过Oracle数据库系统存储和管理空间数据。
Oracle从9i开始对空间数据提供了较为完备的支持。
Oracle Spatial主要通过元数据表、空间数据字段(即SDO GEOMETRY字段)和空间索引来管理空间数据,并在此基础上提供一系列空间查询和空间分析的函数,让用户进行更深层次的GIS应用开发。
OracleSpatial使用空间字段SDO GEOMETRY存储空间数据,用元数据表来管理具有SDO_GEOMETRY字段的空间数据表,并采用R树索引和四叉树索引技术来提高空间查询和空间分析的速度。
2.1元数据表说明 Oracle Spatial的元数据表存储了有空间数据的数据表名称、空间字段名称、空间数据的坐标范围、坐标参考信息以及坐标维数说明等信息。
用户必须通过元数据表才能知道ORACLE数据库中是否有OracleSpatial的空间数据信息。
一般可以通过元数据视图(USER—SD0 GEOM_METADATA)访问元数据表。
下面是一个简单的例子。
创建一张表,其中LOCATION用来存放空间数据: CREATE TABLE GEOD_CITIES( LOCATION MDSYS SDO_GEOMETRY, CITY VARCHAR2(42)); 在user-sdo_ge锄-皿etadata表中插入新记录,用于描述空间字段: INSERT INTO USER_SDO GEOM_METADATA(TABLE_NAME,COL