O 引言
Oracle憑借其優(yōu)越的穩(wěn)定性和卓越的性能在眾多領(lǐng)域里有著廣泛的應(yīng)用。高性能是Oracle優(yōu)于其他數(shù)據(jù)庫(kù)的關(guān)鍵因素,,隨著圖形科學(xué)、空間分析等科學(xué)廣泛深入,,GIS(Geographic Information System)數(shù)據(jù)庫(kù)在空間數(shù)據(jù)庫(kù)方面中應(yīng)用越來越廣泛,。
與此同時(shí)在數(shù)據(jù)庫(kù)應(yīng)用開發(fā)過程中,應(yīng)用程序的開發(fā)語言和開發(fā)方式對(duì)終端應(yīng)用程序的性能有著重要的影響,。數(shù)據(jù)庫(kù)開發(fā)有多種接口方式,,如OCI/OCCI,ADO通用接口,,ODBC,,0040,OLEDB,。其中以O(shè)CI(Oracle Call Interface)應(yīng)用最廣,,性能最好。本文通過實(shí)例分析介紹GIS數(shù)據(jù)庫(kù)系統(tǒng)中OCI應(yīng)用以及GIS數(shù)據(jù)庫(kù)發(fā)展方向,。
1 GIS介紹
Oracle Spatial是Oracle數(shù)據(jù)庫(kù)中非常重要的組件選項(xiàng),,它提供了一套SQL方案和函數(shù),用來存儲(chǔ),、檢索,、更新和查詢數(shù)據(jù)庫(kù)中的空間要素集合,它包括一個(gè)方案(MDSYS),,描述支持幾何數(shù)據(jù)類型的存儲(chǔ),、語法以及語義,。添加了Spatial的Oracle是一個(gè)完整的空間數(shù)據(jù)庫(kù)。GIS是以信息的采集,、存儲(chǔ),、描述、分析和應(yīng)用與空間地理分布有關(guān)的數(shù)據(jù)的計(jì)算機(jī)系統(tǒng),。作為數(shù)據(jù)庫(kù)管理技術(shù),、計(jì)算機(jī)圖形學(xué)以及空間分析方法的共同產(chǎn)物,已在科教,、軍事,、政府等部門得到了長(zhǎng)足的應(yīng)用。
2 OCI應(yīng)用及特點(diǎn)
OCI是Oracle數(shù)據(jù)庫(kù)調(diào)用接口,,是由Oracle提供的用于開發(fā)前端應(yīng)用程序及中間件的C/C++開發(fā)類庫(kù),。
通過OCI,可以控制所有類型的SQL語句的執(zhí)行,,包括DDL,、控制語句(事務(wù)、會(huì)話,、系統(tǒng)),、查詢、DML,、PL/SQL,,以及嵌入式SQL。OCI能夠最大程度地控制程序的運(yùn)行,,執(zhí)行Oracle服務(wù)器所允許的多有數(shù)據(jù)庫(kù)操作,,可以訪問Oracle數(shù)據(jù)庫(kù)服務(wù)器里的所有數(shù)據(jù)類型,包括標(biāo)量值,、集合和所有對(duì)象類型的實(shí)例,,可以以引用的方式訪問對(duì)象及其元數(shù)據(jù),可以動(dòng)態(tài)獲取,、修改對(duì)象的屬性值,。其開發(fā)過程如圖1所示。
OCI是Oracle開發(fā)接口的底層實(shí)現(xiàn),,而ADO,,JDBC都是在OCI上層的封裝。因此,,OCI少了很多層的封裝,,可以提供應(yīng)用程序與Oracle的直接連接,所以O(shè)CI可以提供最佳的性能,。并且OCI程序具有SQL非過程性的優(yōu)點(diǎn),,使開發(fā)的編程技術(shù)具有更強(qiáng)的數(shù)據(jù)處理能力,。
3 跨域?qū)嵗龑?shí)現(xiàn)分析
某大型跨地域商城監(jiān)控管理系統(tǒng)利用GIS模塊,可以在監(jiān)控管理界面上引入電子地圖來實(shí)現(xiàn)各分散地域的集中管控,、重點(diǎn)部門監(jiān)控以及所有靜態(tài)信息的聯(lián)動(dòng),。其中,在連接各地?cái)?shù)據(jù)庫(kù)實(shí)現(xiàn)信息交互時(shí)根據(jù)要求調(diào)用統(tǒng)一接口開發(fā)程序,,并利用統(tǒng)一的信息傳輸體制實(shí)現(xiàn)整個(gè)系統(tǒng)的維護(hù)和使用,。
3.1 整體方案設(shè)計(jì)
系統(tǒng)開發(fā)平臺(tái)選用VC++6.0,使用OCI組件連接Oracle數(shù)據(jù)庫(kù),,其中各單位的地理信息通過地圖采集輸入,。軟件的設(shè)計(jì)方案如圖2所示。
在使用OCI進(jìn)行對(duì)象類型訪問時(shí),,必須遵循以下步驟:
(1)在數(shù)據(jù)庫(kù)中創(chuàng)建對(duì)象類型或者集合類型,,并保存在數(shù)據(jù)庫(kù)中。
(2)調(diào)用對(duì)象類型轉(zhuǎn)換器,,特定的參數(shù)由intype提供,。
舉例向本系統(tǒng)表product中添加對(duì)象類型的記錄行,關(guān)鍵步驟為:
3.2 系統(tǒng)的主要功能及技術(shù)分析
主要功能包括:
(1)顯示功能,。如全屏,、全地圖顯示,區(qū)域?qū)ο蟮目s放等,。
(2)信息查詢,。可隨時(shí)在主監(jiān)控界面上選擇任意監(jiān)控設(shè)備后查詢其編號(hào),、型號(hào)、狀態(tài)等詳細(xì)信息,。
(3)告警提示,。接受控制中心的告警指令,在地圖上高亮閃爍提示具體報(bào)警地點(diǎn),。
(4)實(shí)時(shí)顯示監(jiān)控設(shè)備的地域從屬關(guān)系,,便于對(duì)監(jiān)控設(shè)備的管理和調(diào)度。
OCI數(shù)據(jù)接口調(diào)用:由于本系統(tǒng)中數(shù)據(jù)庫(kù)的接口是相對(duì)獨(dú)立的,,數(shù)據(jù)接口主要面向的是采集信息的處理顯示模塊,。各種數(shù)據(jù)的采集工作非常多而且關(guān)系復(fù)雜。面對(duì)多個(gè)不同數(shù)據(jù)源中抽取相關(guān)的數(shù)據(jù)并匯集在數(shù)據(jù)中轉(zhuǎn)區(qū),,為數(shù)據(jù)倉(cāng)庫(kù)服務(wù)的數(shù)據(jù)采集做準(zhǔn)備,,必然對(duì)數(shù)據(jù)接口的要求非常的嚴(yán)格。一般的ODBC或JDBC間的數(shù)據(jù)交換每秒在100~300條記錄左右,。而以O(shè)CI抽取轉(zhuǎn)換文本進(jìn)行交換的方式,,處理速度可以達(dá)到每秒1~2萬條甚至更多,。同時(shí),對(duì)系統(tǒng)的性能影響也差距很大,。
另外,,數(shù)據(jù)庫(kù)內(nèi)容組織的有效程度將影響整個(gè)GIS數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的運(yùn)行效率。數(shù)據(jù)的組織則屬于數(shù)據(jù)庫(kù)設(shè)計(jì)的范疇,,根據(jù)不同應(yīng)用的要求,。地理數(shù)據(jù)有矢量和柵格之分,各種數(shù)據(jù)又同時(shí)具有空間和屬性特征,,GIS數(shù)據(jù)庫(kù)既要存儲(chǔ)和管理屬性數(shù)據(jù)和空間數(shù)據(jù),,又要存儲(chǔ)和管理空間拓?fù)潢P(guān)系數(shù)據(jù),GIS中涉及的數(shù)據(jù)不同于常規(guī)管理信息中的數(shù)據(jù),,它是具有豐富地理特征的地理數(shù)據(jù)的集合,。因此在設(shè)計(jì)過程中充分考慮空間數(shù)據(jù)的特征。系統(tǒng)通過統(tǒng)計(jì)確定各部門裝備的應(yīng)用目的,,滿足不同用戶的應(yīng)用需求,,從而建立一個(gè)適時(shí)有效的、完整的商業(yè)GIS數(shù)據(jù)庫(kù),。
4 結(jié)語
對(duì)GIS數(shù)據(jù)庫(kù)進(jìn)行了闡述,,針對(duì)OCI應(yīng)用的GIS數(shù)據(jù)庫(kù)實(shí)例進(jìn)行了分析。隨著網(wǎng)絡(luò)信息交互能力的提高和GIS軟件技術(shù)的發(fā)展,,網(wǎng)絡(luò)GIS數(shù)據(jù)庫(kù)系統(tǒng)在服務(wù)能力,、用戶界面、易接近性,、跨平臺(tái)操作等方面將有長(zhǎng)足的進(jìn)步,,并且在以后一段時(shí)間內(nèi),將成為GIS研究的主要發(fā)展方向,。