《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 基于OCI的GIS數(shù)據(jù)庫的開發(fā)與應用
基于OCI的GIS數(shù)據(jù)庫的開發(fā)與應用
張華偉 張洪永 蔡一兵 趙 琛
摘要: OracleSpatial在空間數(shù)據(jù)庫的應用,,極大地方便了空間數(shù)據(jù)庫的管理與維護。GIS作為空間數(shù)據(jù)庫的典型應用,,提高了數(shù)據(jù)庫系統(tǒng)的有效可查性,并有著良好的應用前景,。通過實例分析了GIS數(shù)據(jù)庫的性能,并介紹了OCI接口程序在使用時的調用機理,同時闡述了GIS數(shù)據(jù)庫以后的發(fā)展趨勢,。
Abstract:
Key words :

O 引言
    Oracle憑借其優(yōu)越的穩(wěn)定性和卓越的性能在眾多領域里有著廣泛的應用。高性能是Oracle優(yōu)于其他數(shù)據(jù)庫的關鍵因素,,隨著圖形科學,、空間分析等科學廣泛深入,GIS(Geographic Information System)數(shù)據(jù)庫在空間數(shù)據(jù)庫方面中應用越來越廣泛,。
    與此同時在數(shù)據(jù)庫應用開發(fā)過程中,,應用程序的開發(fā)語言和開發(fā)方式對終端應用程序的性能有著重要的影響。數(shù)據(jù)庫開發(fā)有多種接口方式,,如OCI/OCCI,,ADO通用接口,ODBC,,0040,,OLEDB。其中以OCI(Oracle Call Interface)應用最廣,,性能最好,。本文通過實例分析介紹GIS數(shù)據(jù)庫系統(tǒng)中OCI應用以及GIS數(shù)據(jù)庫發(fā)展方向。

1 GIS介紹
    Oracle Spatial是Oracle數(shù)據(jù)庫中非常重要的組件選項,,它提供了一套SQL方案和函數(shù),,用來存儲、檢索,、更新和查詢數(shù)據(jù)庫中的空間要素集合,,它包括一個方案(MDSYS),描述支持幾何數(shù)據(jù)類型的存儲,、語法以及語義,。添加了Spatial的Oracle是一個完整的空間數(shù)據(jù)庫。GIS是以信息的采集,、存儲,、描述、分析和應用與空間地理分布有關的數(shù)據(jù)的計算機系統(tǒng),。作為數(shù)據(jù)庫管理技術,、計算機圖形學以及空間分析方法的共同產物,已在科教,、軍事,、政府等部門得到了長足的應用。

2 OCI應用及特點
    OCI是Oracle數(shù)據(jù)庫調用接口,是由Oracle提供的用于開發(fā)前端應用程序及中間件的C/C++開發(fā)類庫,。
    通過OCI,,可以控制所有類型的SQL語句的執(zhí)行,包括DDL,、控制語句(事務,、會話、系統(tǒng)),、查詢、DML,、PL/SQL,,以及嵌入式SQL。OCI能夠最大程度地控制程序的運行,,執(zhí)行Oracle服務器所允許的多有數(shù)據(jù)庫操作,,可以訪問Oracle數(shù)據(jù)庫服務器里的所有數(shù)據(jù)類型,包括標量值,、集合和所有對象類型的實例,,可以以引用的方式訪問對象及其元數(shù)據(jù),可以動態(tài)獲取,、修改對象的屬性值,。其開發(fā)過程如圖1所示。


    OCI是Oracle開發(fā)接口的底層實現(xiàn),,而ADO,,JDBC都是在OCI上層的封裝。因此,,OCI少了很多層的封裝,,可以提供應用程序與Oracle的直接連接,所以OCI可以提供最佳的性能,。并且OCI程序具有SQL非過程性的優(yōu)點,,使開發(fā)的編程技術具有更強的數(shù)據(jù)處理能力。

3 跨域實例實現(xiàn)分析
   
某大型跨地域商城監(jiān)控管理系統(tǒng)利用GIS模塊,,可以在監(jiān)控管理界面上引入電子地圖來實現(xiàn)各分散地域的集中管控,、重點部門監(jiān)控以及所有靜態(tài)信息的聯(lián)動。其中,,在連接各地數(shù)據(jù)庫實現(xiàn)信息交互時根據(jù)要求調用統(tǒng)一接口開發(fā)程序,,并利用統(tǒng)一的信息傳輸體制實現(xiàn)整個系統(tǒng)的維護和使用。
3.1 整體方案設計
    系統(tǒng)開發(fā)平臺選用VC++6.0,,使用OCI組件連接Oracle數(shù)據(jù)庫,,其中各單位的地理信息通過地圖采集輸入。軟件的設計方案如圖2所示,。


    在使用OCI進行對象類型訪問時,,必須遵循以下步驟:
    (1)在數(shù)據(jù)庫中創(chuàng)建對象類型或者集合類型,,并保存在數(shù)據(jù)庫中。
    (2)調用對象類型轉換器,,特定的參數(shù)由intype提供,。
    舉例向本系統(tǒng)表product中添加對象類型的記錄行,關鍵步驟為:
   
3.2 系統(tǒng)的主要功能及技術分析
   
主要功能包括:
    (1)顯示功能,。如全屏,、全地圖顯示,區(qū)域對象的縮放等,。
    (2)信息查詢,。可隨時在主監(jiān)控界面上選擇任意監(jiān)控設備后查詢其編號,、型號,、狀態(tài)等詳細信息。
    (3)告警提示,。接受控制中心的告警指令,,在地圖上高亮閃爍提示具體報警地點。
    (4)實時顯示監(jiān)控設備的地域從屬關系,,便于對監(jiān)控設備的管理和調度,。
    OCI數(shù)據(jù)接口調用:由于本系統(tǒng)中數(shù)據(jù)庫的接口是相對獨立的,數(shù)據(jù)接口主要面向的是采集信息的處理顯示模塊,。各種數(shù)據(jù)的采集工作非常多而且關系復雜,。面對多個不同數(shù)據(jù)源中抽取相關的數(shù)據(jù)并匯集在數(shù)據(jù)中轉區(qū),為數(shù)據(jù)倉庫服務的數(shù)據(jù)采集做準備,,必然對數(shù)據(jù)接口的要求非常的嚴格,。一般的ODBC或JDBC間的數(shù)據(jù)交換每秒在100~300條記錄左右。而以OCI抽取轉換文本進行交換的方式,,處理速度可以達到每秒1~2萬條甚至更多,。同時,對系統(tǒng)的性能影響也差距很大,。
    另外,,數(shù)據(jù)庫內容組織的有效程度將影響整個GIS數(shù)據(jù)庫應用系統(tǒng)的運行效率。數(shù)據(jù)的組織則屬于數(shù)據(jù)庫設計的范疇,,根據(jù)不同應用的要求,。地理數(shù)據(jù)有矢量和柵格之分,各種數(shù)據(jù)又同時具有空間和屬性特征,,GIS數(shù)據(jù)庫既要存儲和管理屬性數(shù)據(jù)和空間數(shù)據(jù),,又要存儲和管理空間拓撲關系數(shù)據(jù),GIS中涉及的數(shù)據(jù)不同于常規(guī)管理信息中的數(shù)據(jù),它是具有豐富地理特征的地理數(shù)據(jù)的集合,。因此在設計過程中充分考慮空間數(shù)據(jù)的特征,。系統(tǒng)通過統(tǒng)計確定各部門裝備的應用目的,滿足不同用戶的應用需求,,從而建立一個適時有效的,、完整的商業(yè)GIS數(shù)據(jù)庫。

4 結語
   
對GIS數(shù)據(jù)庫進行了闡述,,針對OCI應用的GIS數(shù)據(jù)庫實例進行了分析,。隨著網絡信息交互能力的提高和GIS軟件技術的發(fā)展,網絡GIS數(shù)據(jù)庫系統(tǒng)在服務能力,、用戶界面,、易接近性、跨平臺操作等方面將有長足的進步,,并且在以后一段時間內,將成為GIS研究的主要發(fā)展方向,。

此內容為AET網站原創(chuàng),,未經授權禁止轉載。