楊文森,趙前勝,陸世東
(1.湖北省土地規(guī)劃勘測院,湖北 武漢 430071;2.武漢大學(xué) 測繪學(xué)院,湖北 武漢 430079)
在我國各個部門和行業(yè)中,已有大量的GIS數(shù)據(jù)積累。但由于缺乏有效的管理和互操作技術(shù)支持,這些數(shù)據(jù)難以共享利用。特別是由于目前GIS軟件廠商較多,同一部門內(nèi)部根據(jù)需求可能采購了不同的桌面GIS,使得部門內(nèi)部也存在數(shù)據(jù)異構(gòu)及互操作問題。目前研究互操作的文獻(xiàn)較多。王東艷[1]總結(jié)了2種互操作方式:基于COM 或CORBA 的API函數(shù)或SQL的接口規(guī)范和基于Http(Web)XML 的空間數(shù)據(jù)互操作實現(xiàn)規(guī)范;龔健雅[2]討論了基于Oracle Spatial API函數(shù)的空間數(shù)據(jù)互操作模型。據(jù)筆者調(diào)研,目前還沒有文獻(xiàn)討論既考慮效率又兼顧廣泛適應(yīng)性的互操作模型。針對上述互操作實際情況,本文提出了一種新的基于Oracle Spatial的空間數(shù)據(jù)集成互操作模式,即在對互操作效率要求較高的部門內(nèi)部采用本地局域網(wǎng)互操作模式,而對于部門或者行業(yè)之間采用基于GML的互聯(lián)網(wǎng)互操作模式。
該設(shè)計同時滿足部門內(nèi)部高效的互操作模式以及部門外部更廣泛的互聯(lián)網(wǎng)互操作模式,采用3層結(jié)構(gòu)設(shè)計:數(shù)據(jù)庫服務(wù)層、應(yīng)用服務(wù)層和客戶端,如圖1所示。 數(shù)據(jù)庫服務(wù)層采用Oracle Spatial空間數(shù)據(jù)庫平臺,由于不同組件GIS平臺的元數(shù)據(jù)的不同,所以將不同數(shù)據(jù)平臺的數(shù)據(jù)分別錄入到Oracle Spatial中不同的表中;應(yīng)用服務(wù)層主要包括元數(shù)據(jù)轉(zhuǎn)換映射服務(wù)和GML數(shù)據(jù)轉(zhuǎn)換服務(wù),元數(shù)據(jù)轉(zhuǎn)換映射服務(wù)主要提供基于局域網(wǎng)Oracle Spatial API的數(shù)據(jù)互操作服務(wù),GML數(shù)據(jù)轉(zhuǎn)換服務(wù)主要負(fù)責(zé)將Oracle Spatial空間數(shù)據(jù)轉(zhuǎn)換成GML格式數(shù)據(jù);客戶端可分為2種:一是本地C/S客戶端,即本地互操作模式,指在同一局域網(wǎng)內(nèi)部,通過不同的GIS桌面程序?qū)崿F(xiàn)統(tǒng)一對Oracle Spatial數(shù)據(jù)庫的讀寫操作,即實現(xiàn)不同桌面GIS的互操作。另一種是Internet客戶端,即互聯(lián)網(wǎng)互操作模式,利用GML數(shù)據(jù)轉(zhuǎn)換和OGC標(biāo)準(zhǔn)服務(wù)接口,為Internet網(wǎng)上的不同客戶端提供GML服務(wù),客戶端使用GML解釋器或者直接將GML轉(zhuǎn)換成VML在瀏覽器端瀏覽,或者直接將GML數(shù)據(jù)嵌入應(yīng)用。該框架結(jié)構(gòu)最大的優(yōu)點(diǎn)在于使得互操作的適應(yīng)性和效率得到統(tǒng)一,將兩種互操作類型集成在統(tǒng)一的服務(wù)中,也使得服務(wù)的更新和升級變得簡單。
圖 1 基于Oracle Spatial的空間數(shù)據(jù)互操作框架
根據(jù)不同桌面GIS在Oracle Spatial數(shù)據(jù)庫中存在數(shù)據(jù)異構(gòu)的原因,本文提出運(yùn)用元數(shù)據(jù)轉(zhuǎn)換映射的方式來解決不同桌面GIS對同一Oracle Spatial數(shù)據(jù)庫的互操作。根據(jù)不同桌面GIS軟件在Oracle Spatial中的元數(shù)據(jù)信息與結(jié)構(gòu)的不同,通過添加彼此在Oracle Spatial中的空間元數(shù)據(jù),從而實現(xiàn)雙方對于Oracle Spatial空間數(shù)據(jù)的互操作,如圖2所示。此模式的關(guān)鍵在于元數(shù)據(jù)轉(zhuǎn)換映射服務(wù),其映射服務(wù)介于所有桌面GIS之間,即映射方式根據(jù)需要進(jìn)行互操作的桌面GIS類型數(shù)量,需要實現(xiàn)Cn2種映射轉(zhuǎn)換模式,其中n表示需要進(jìn)行互操作的桌面GIS類型數(shù)量。這種結(jié)構(gòu)的優(yōu)點(diǎn)在于可以充分利用數(shù)據(jù)庫通用API函數(shù)實現(xiàn)不同GIS元數(shù)據(jù)之間的映射轉(zhuǎn)換,可以最大限度地保證數(shù)據(jù)轉(zhuǎn)換之間的損失。
圖2 本地互操作模型結(jié)構(gòu)圖
互聯(lián)網(wǎng)互操作模型以GML為基礎(chǔ),實現(xiàn)WFS標(biāo)準(zhǔn)接口規(guī)范,通過WFS請求和查詢Oracle Spatial空間數(shù)據(jù)庫,從而在更廣范圍內(nèi)實現(xiàn)基于互聯(lián)網(wǎng)的要素層異構(gòu)、跨平臺互操作(見圖3)??蛻舳擞脩粽埱髤?shù)經(jīng)過分析模塊轉(zhuǎn)化為SQL文檔,實現(xiàn)對數(shù)據(jù)庫訪問。數(shù)據(jù)庫輸出查詢結(jié)果:空間對象和屬性??臻g對象的坐標(biāo)系、投影、幾何類型、空間坐標(biāo)和其他相關(guān)信息等經(jīng)語義轉(zhuǎn)換模塊同屬性數(shù)據(jù)一同生成GML文檔,經(jīng)服務(wù)器發(fā)給客戶端。
圖3 基于GML的互聯(lián)網(wǎng)互操作模型結(jié)構(gòu)圖
對于本地互操作模型,本文以ArcGIS、MapInfo和Autodesk Map 3種桌面GIS為例實現(xiàn)基于元數(shù)據(jù)轉(zhuǎn)換映射服務(wù)的互操作模型;同時以ArcGIS Server平臺為例實現(xiàn)基于GML的互聯(lián)網(wǎng)互操作模型。
根據(jù)3種桌面GIS訪問Oracle Spatial數(shù)據(jù)庫的機(jī)理,使用Oracle OCI接口和數(shù)據(jù)庫觸發(fā)器編程實現(xiàn)本地互操作模型,如圖4所示。
圖4 本地互操作模型實現(xiàn)流程圖
1)MapInfo對Autodesk Map和ArcGIS導(dǎo)入數(shù)據(jù)庫的空間數(shù)據(jù)的訪問方式:在mapinfo_mapcatalog表中加入一行Autodesk Map和ArcGIS導(dǎo)入數(shù)據(jù)的元數(shù)據(jù)信息的注冊信息。
2)ArcGIS對MapInfo和Autodesk Map導(dǎo)入數(shù)據(jù)庫的空間數(shù)據(jù)進(jìn)行訪問,只需在導(dǎo)入數(shù)據(jù)的同時注冊sde.layer、sde.table_registry、 sde.column_registry、sde.geometry_columns和 sde.spatial_references。
3)Map對MapInfo和ArcGIS導(dǎo)入數(shù)據(jù)庫的空間數(shù)據(jù)的訪問步驟如下:首先在數(shù)據(jù)表中增加實體符號和層名等公用信息字段,并且針對表中的數(shù)據(jù)添加各字段相應(yīng)的內(nèi)容。對數(shù)據(jù)表的結(jié)構(gòu)和內(nèi)容調(diào)整完成后,然后將數(shù)據(jù)表在Map的5個元數(shù)據(jù)表中注冊,注冊完成后,Map可實現(xiàn)對數(shù)據(jù)表的訪問。
基于GML的互聯(lián)網(wǎng)互操作模式實現(xiàn)流程如圖5所示,采用3層結(jié)構(gòu)。該模式實現(xiàn)了實時動態(tài)交互操作GML數(shù)據(jù)。客戶端可以在Web上實時存取和檢索Oracle Spatial空間要素層地理數(shù)據(jù):①客戶端向服務(wù)器發(fā)出一系列請求,服務(wù)器接收請求并分析這些請求,得到相應(yīng)數(shù)據(jù)庫中的數(shù)據(jù);②服務(wù)器將GML格式的請求結(jié)果返回給客戶端;③客戶端顯示GML數(shù)據(jù)并且執(zhí)行GIS分析。
圖5 基于GML的互聯(lián)網(wǎng)互操作模型實現(xiàn)流程圖
本文根據(jù)互操作的實際需求,提出了基于Oracle Spatial的集成互操作模型。對部門內(nèi)部采用基于元數(shù)據(jù)轉(zhuǎn)換映射的方式,高效實現(xiàn)了不同桌面GIS的互操作;對部門或者行業(yè)之間采用基于GML的空間數(shù)據(jù)互操作模式,滿足部門或者行業(yè)之間更廣泛的互操作需求,從而實現(xiàn)了兼顧高效性和廣泛適應(yīng)性的互操作模型。
[1]王東艷,龔健雅. 一種GIS互操作模型研究[J]. 武漢大學(xué)學(xué)報:信息科學(xué)版,2005,30(3):218-221
[2]龔健雅,賈文玉,陳玉敏,等. 從平臺GIS到跨平臺互操作GIS的發(fā)展[J]. 武漢大學(xué)學(xué)報:信息科學(xué)版,2004,29(11):985-989
[3]王紫生,邊馥苓.利用數(shù)據(jù)分解與合成法實現(xiàn)基于XML的空間數(shù)據(jù)轉(zhuǎn)換[J]. 武漢大學(xué)學(xué)報:信息科學(xué)版,2005,30(3):227-229
[4]檀丁,李明峰,陶虹,等. 面向服務(wù)的3D WebGIS異構(gòu)系統(tǒng)框架研究[J].測繪通報,2011(10):65-67
[5]Zhang Peng. The Roles of Geography Markup Language (GML),Scalable Vector Graphics (SVG) and Web Feature Service (WFS)Specifications in the Development of Internet Geographic Information Systems (GIS) [J]. Journal of Geographical Systems,2004(6):95-116
[6]Chang Y S, Park H D. XML Web Service-based Development Model for Internet GIS Applications[J]. International Journal of Geographical Information Science, 2006(20):371-399
[7]Harvey F, Tulloch D. Local-government Data Sharing:Evaluating the Foundations of Spatial Data Infrastructures [J].International Journal of Geographical Information Science,2006(20): 743-768