GIS数据库系统中OCI的应用
O 引言
Oracle凭借其优越的稳定性和卓越的性能在众多领域里有着广泛的应用。高性能是Oracle优于其他数据库的关键因素,随着图形科学、空间分析等科学广泛深入,GIS(Geographic Information System)数据库在空间数据库方面中应用越来越广泛。
与此同时在数据库应用开发过程中,应用程序的开发语言和开发方式对终端应用程序的性能有着重要的影响。数据库开发有多种接口方式,如OCI/OCCI,ADO通用接口,ODBC,0040,OLEDB。其中以OCI(Oracle Call Interface)应用最广,性能最好。本文通过实例分析介绍GIS数据库系统中OCI应用以及GIS数据库发展方向。
1 GIS介绍
Oracle Spatial是Oracle数据库中非常重要的组件选项,它提供了一套SQL方案和函数,用来存储、检索、更新和查询数据库中的空间要素集合,它包括一个方案(MDSYS),描述支持几何数据类型的存储、语法以及语义。添加了Spatial的Oracle是一个完整的空间数据库。GIS是以信息的采集、存储、描述、分析和应用与空间地理分布有关的数据的计算机系统。作为数据库管理技术、计算机图形学以及空间分析方法的共同产物,已在科教、军事、政府等部门得到了长足的应用。
2 OCI应用及特点
OCI是Oracle数据库调用接口,是由Oracle提供的用于开发前端应用程序及中间件的C/C++开发类库。
通过OCI,可以控制所有类型的SQL语句的执行,包括DDL、控制语句(事务、会话、系统)、查询、DML、PL/SQL,以及嵌入式SQL。OCI能够最大程度地控制程序的运行,执行Oracle服务器所允许的多有数据库操作,可以访问Oracle数据库服务器里的所有数据类型,包括标量值、集合和所有对象类型的实例,可以以引用的方式访问对象及其元数据,可以动态获取、修改对象的属性值。其开发过程如图1所示。
OCI是Oracle开发接口的底层实现,而ADO,JDBC都是在OCI上层的封装。因此,OCI少了很多层的封装,可以提供应用程序与Oracle的直接连接,所以OCI可以提供最佳的性能。并且OCI程序具有SQL非过程性的优点,使开发的编程技术具有更强的数据处理能力。
3 跨域实例实现分析
某大型跨地域商城监控管理系统利用GIS模块,可以在监控管理界面上引入电子地图来实现各分散地域的集中管控、重点部门监控以及所有静态信息的联动。其中,在连接各地数据库实现信息交互时根据要求调用统一接口开发程序,并利用统一的信息传输体制实现整个系统的维护和使用。
3.1 整体方案设计
系统开发平台选用VC++6.0,使用OCI组件连接Oracle数据库,其中各单位的地理信息通过地图采集输入。软件的设计方案如图2所示。
在使用OCI进行对象类型访问时,必须遵循以下步骤:
(1)在数据库中创建对象类型或者集合类型,并保存在数据库中。
(2)调用对象类型转换器,特定的参数由intype提供。
举例向本系统表product中添加对象类型的记录行,关键步骤为:
3.2 系统的主要功能及技术分析
主要功能包括:
(1)显示功能。如全屏、全地图显示,区域对象的缩放等。
(2)信息查询。可随时在主监控界面上选择任意监控设备后查询其编号、型号、状态等详细信息。
(3)告警提示。接受控制中心的告警指令,在地图上高亮闪烁提示具体报警地点。
(4)实时显示监控设备的地域从属关系,便于对监控设备的管理和调度。
OCI数据接口调用:由于本系统中数据库的接口是相对独立的,数据接口主要面向的是采集信息的处理显示模块。各种数据的采集工作非常多而且关系复杂。面对多个不同数据源中抽取相关的数据并汇集在数据中转区,为数据仓库服务的数据采集做准备,必然对数据接口的要求非常的严格。一般的ODBC或JDBC间的数据交换每秒在100~300条记录左右。而以OCI抽取转换文本进行交换的方式,处理速度可以达到每秒1~2万条甚至更多。同时,对系统的性能影响也差距很大。
另外,数据库内容组织的有效程度将影响整个GIS数据库应用系统的运行效率。数据的组织则属于数据库设计的范畴,根据不同应用的要求。地理数据有矢量和栅格之分,各种数据又同时具有空间和属性特征,GIS数据库既要存储和管理属性数据和空间数据,又要存储和管理空间拓扑关系数据,GIS中涉及的数据不同于常规管理信息中的数据,它是具有丰富地理特征的地理数据的集合。因此在设计过程中充分考虑空间数据的特征。系统通过统计确定各部门装备的应用目的,满足不同用户的应用需求,从而建立一个适时有效的、完整的商业GIS数据库。
4 结语
对GIS数据库进行了阐述,针对OCI应用的GIS数据库实例进行了分析。随着网络信息交互能力的提高和GIS软件
- 高通和Wilocity推业内首款802.11ac/ad三频参考设计(02-09)
- GIS实现数字校园系统(10-29)
- 智能化HGIS在数字化变电站中的应用(03-01)
- 基于ArcGIS的气象电子显示屏管理系统的设计与实现(06-29)
- GIS煤矿安全实时监测系统设计(04-17)
- FPGA基础知识问答500问连载 (四)(02-11)