地理信息系統(tǒng)集成平臺框架結(jié)構(gòu)研究
【摘 要】 提出了基于客戶/服務(wù)器結(jié)構(gòu)的地理信息系統(tǒng)集成平臺總體結(jié)構(gòu),探討了基于元數(shù)據(jù)的地理信息系統(tǒng)數(shù)據(jù)集成平臺以建立物理上分布而邏輯上集中的分布式地理信息系統(tǒng)數(shù)據(jù)庫,提出了應(yīng)用符合3NF范式的關(guān)系數(shù)據(jù)庫進(jìn)行模型管理的模式,在此基礎(chǔ)上探討了地理信息系統(tǒng)可視化建模工具。
【關(guān)鍵詞】 地理信息系統(tǒng) 集成平臺框架結(jié)構(gòu) GIS數(shù)據(jù)集成平臺 GIS模型集成平臺 可視化建模工具
近年來,隨著GIS應(yīng)用的廣泛和深入建立了一大批地理信息系統(tǒng)。隨著網(wǎng)絡(luò)技術(shù)的發(fā)展和實際的需要,這些分散的系統(tǒng)要求集成運(yùn)行,以實現(xiàn)信息共享,提高運(yùn)行效率。在國家“八五”攻關(guān)中就開展了這方面的研究[1,2],在“九五”攻關(guān)中對系統(tǒng)實用化和運(yùn)行業(yè)務(wù)化提出了更高的要求。地理信息系統(tǒng)集成的重要性得到普遍的認(rèn)識[3,4]。
地理信息系統(tǒng)集成可以分為兩個層次,一個是地理信息之間相互關(guān)系的概念層次集成,側(cè)重于地理信息的空間分析;另一個是不同數(shù)據(jù)和模型之間組織和管理的技術(shù)層次集成。本文所指的地理信息系統(tǒng)集成主要指后者意義上的集成。
在計算機(jī)集成制造(Computer Integrated Manufacture System, CIMS)領(lǐng)域,集成基礎(chǔ)結(jié)構(gòu)或集成平臺的概念得到廣泛的應(yīng)用,集成平臺被認(rèn)為是實現(xiàn)企業(yè)信息集成、功能集成所需的基本信息處理和通信公共服務(wù)的集合[5]。IBM公司基于系統(tǒng)使能器(Enabler)的集成平臺在企業(yè)應(yīng)用中獲得極大成功[6],中國在CIMS應(yīng)用中也廣泛使用集成平臺技術(shù)[7],收到巨大的經(jīng)濟(jì)和社會效益。
文獻(xiàn)[8] 中作者論述了地理信息系統(tǒng)集成的概念、內(nèi)涵和必要性,地理信息系統(tǒng)集成平臺的功能和特點。本文借鑒CIMS的經(jīng)驗,結(jié)合信息技術(shù)的新發(fā)展,提出了基于客戶 /服務(wù)器的地理信息系統(tǒng)集成總體結(jié)構(gòu),基于元數(shù)據(jù)的地理信息系統(tǒng)數(shù)據(jù)集成平臺和基于關(guān)系數(shù)據(jù)庫的地理信息系統(tǒng)模型集成平臺和可視化構(gòu)模工具方法。
2 地理信息系統(tǒng)集成分析
回顧地理信息系統(tǒng)的發(fā)展過程,可以看出地理信息系統(tǒng)的集成在技術(shù)上可以分為如下幾種形式:
?。?) 同一GIS軟件系統(tǒng)不同模塊之間或不同系統(tǒng)之間采用Import/Export的文本文件交換形式。這是最簡單也是效率最低的一種方式,它適用于任意系統(tǒng)之間的數(shù)據(jù)和模型集成。
?。?)大型商業(yè)GIS軟件如ARC/INFO具有一致的數(shù)據(jù)模型和數(shù)據(jù)結(jié)構(gòu),提供二次開發(fā)語言,構(gòu)成軟件開發(fā)平臺。不同模塊之間可以采用二進(jìn)制進(jìn)行數(shù)據(jù)交換(如 Arcedit和Arcplot),具有密切關(guān)系的不同GIS軟件系統(tǒng)之間也可以采用這種方式(如ARC/INFO和ERDAS)。在這種模式下用戶除了在操作系統(tǒng)的基礎(chǔ)上開發(fā)應(yīng)用模型被宿主系統(tǒng)調(diào)用外,其它所有的操作只能建立在這個商業(yè)軟件平臺基礎(chǔ)上,不同的商業(yè)軟件平臺一般無法直接進(jìn)行數(shù)據(jù)共享和功能互補(bǔ)。
?。?)采用應(yīng)用程序接口(API)的形式進(jìn)行集成。如ARC/INFO提供RPC接口實現(xiàn)客戶端與服務(wù)器端的通訊,提供ARC/INFO與ARCVIEW的集成。同時用戶可以遵循RPC規(guī)范開發(fā)應(yīng)用模塊以實現(xiàn)系統(tǒng)集成。ESRI提出的分布式計算環(huán)境(Distributed Computation Environment)也是基于API的思想。
?。?)對象連接與嵌入(OLE)的自動化功能(Automation)提供了對象之間的互操作功能,一些最近開發(fā)的商業(yè)GIS軟件如Mapinfo公司的 MaplnfoProfessional和Golden Soft公司開發(fā)的Surfer,都提供OLE Automation,用戶可以將該軟件作為一個對象嵌入自己的系統(tǒng)。
(5) 最近發(fā)展起來的對象—關(guān)系數(shù)據(jù)庫技術(shù)(ORDBMS)將空間數(shù)據(jù)作為一種數(shù)據(jù)類型直接集成進(jìn)入數(shù)據(jù)庫系統(tǒng),用戶可以在這種平臺上直接管理矢量空間數(shù)據(jù)、遙感圖像數(shù)據(jù)和普通關(guān)系數(shù)據(jù),可以利用這種數(shù)據(jù)庫平臺的API開發(fā)GIS應(yīng)用系統(tǒng)。
?。?) OPENGIS組織采用COBRA標(biāo)準(zhǔn),發(fā)布了其簡單特征規(guī)范(Simple Features Specification)1.0版本作為開放地理信息系統(tǒng)的基礎(chǔ),這無疑是地理信息系統(tǒng)軟件向開放和互操作發(fā)展的重要方向之一,但這種方式需要從底層重新開發(fā)GIS軟件,在短期內(nèi)很難直接應(yīng)用于工程實踐。
在以上地理信息系統(tǒng)集成的各種形式中,都存在如下的問題需要解決。
?。?) 地理信息采集和應(yīng)用的分布性特點決定了地理信息系統(tǒng)的分布性,地理信息系統(tǒng)集成需要一種分布式空間數(shù)據(jù)管理和分析模型的相互通訊機(jī)制。這種機(jī)制既可以適應(yīng)在目前比較成熟的基于數(shù)據(jù)文件交換形式(如(1)和(2)),又可以為以后基于API(如(3)和(5))面向?qū)ο蟮牡乩硐到y(tǒng)集成(包括(4)—(6))提供發(fā)展余地。
?。?) 地理信息涉及不同的時間、空間和屬性,需要有一種有效的地理數(shù)據(jù)管理的機(jī)制,并提供數(shù)據(jù)融合的能力。
?。?) 地理分析模型與多種地理數(shù)據(jù)發(fā)生聯(lián)系,不同模型之間有復(fù)雜的串并聯(lián)關(guān)系,模型的組織與管理是需要解決的另一個重要問題。
基于以上的分析,本文提出了基于客戶/服務(wù)器機(jī)制的地理信息系統(tǒng)集成總體結(jié)構(gòu),基于元數(shù)據(jù)的數(shù)據(jù)庫集成平臺和基于關(guān)系數(shù)據(jù)庫管理系統(tǒng)的模型集成平臺,以及在系統(tǒng)總體結(jié)構(gòu)和數(shù)據(jù)庫集成平臺、模型集成平臺的基礎(chǔ)上進(jìn)行可視化建模以輔助空間決策的方法和技術(shù)。
3 基于客戶/服務(wù)器的地理信息系統(tǒng)集成總體結(jié)構(gòu)
近年來,客戶/服務(wù)器(Client/Sever,C/S)體系結(jié)構(gòu)在分布式系統(tǒng)中得到了廣泛的應(yīng)用。盡管這種模式至今還沒有一個完整的權(quán)威性定義,但人們對這個概念的基本看法是一致的。在C/S結(jié)構(gòu)下,一個或更多個客戶機(jī)和一個或更多個服務(wù)器,以及下層的硬件網(wǎng)絡(luò)、操作系統(tǒng)和支撐平臺進(jìn)程間通信系統(tǒng),共同組成一個支持分布式計算、分析和表示的系統(tǒng),在該模式下,應(yīng)用分為前端的客戶部分和后端的服務(wù)器部分??蛻舴桨l(fā)出請求,網(wǎng)絡(luò)通信服務(wù)系統(tǒng)將請求的內(nèi)容傳到服務(wù)器,服務(wù)器根據(jù)請求完成預(yù)定的操作,然后把結(jié)果送回客戶。
地理信息系統(tǒng)集成平臺引入客戶/服務(wù)器機(jī)制后,可以將地理信息系統(tǒng)集成定義為兩層C/S結(jié)構(gòu)(圖1)。前端用戶和數(shù)據(jù)庫集成平臺、模型庫集成平臺、應(yīng)用模型構(gòu)成第1層C/S結(jié)構(gòu),集成平臺和應(yīng)用模型與商業(yè)軟件構(gòu)成第2層C/S結(jié)構(gòu)??蛻舳素?fù)責(zé)引導(dǎo)用戶輸入數(shù)據(jù)源、功能要求和模型選擇,以及有關(guān)輸入輸出選擇項,將這些信息提交模型集成平臺服務(wù)器和數(shù)據(jù)集成平臺服務(wù)器。模型集成平臺服務(wù)器負(fù)責(zé)在模型庫中檢索符合用戶功能要求的模型,并支持模型的組合和建立新的模型,然后將這些模型(包括模型庫中已有的和通過宏語言或API新建的)對數(shù)據(jù)的要求提交數(shù)據(jù)集成平臺服務(wù)器,其功能請求轉(zhuǎn)化為RS服務(wù)器、GIS服務(wù)器、RDBMS服務(wù)器可以實現(xiàn)的基本操作并提交給這些服務(wù)器。數(shù)據(jù)集成平臺服務(wù)器、RS、GIS、RDBMS服務(wù)器操作結(jié)果將返回給模型集成平臺服務(wù)器,進(jìn)而返回給客戶端。
當(dāng)客戶端有特殊的顯示、制圖要求時,模型集成平臺服務(wù)器將負(fù)責(zé)根據(jù)用戶的要求調(diào)用其它服務(wù)器來實現(xiàn);如果客戶端要求將模型運(yùn)行的結(jié)果進(jìn)入數(shù)據(jù)庫時,模型集成平臺將向數(shù)據(jù)集成平臺服務(wù)器發(fā)出請求,完成在數(shù)據(jù)庫中的注冊。數(shù)據(jù)集成平臺服務(wù)器除了接收模型集成平臺發(fā)出的請求外,還可以直接響應(yīng)按照時間、空間和屬性信息數(shù)據(jù)查詢的要求,在空間框架的基礎(chǔ)上實現(xiàn)多元數(shù)據(jù)的融合,數(shù)據(jù)集成平臺的功能也是調(diào)用RS、GIS、RDBMS服務(wù)器的功能來實現(xiàn)的。模型與數(shù)據(jù)庫之間、模型與模型之間即可以采用IMPORT/EXPORT的文件交換形式(如ARC/INFO的E00格式等),也為將來全部過渡到API的內(nèi)存交換形式(如DLL,OLE,ActiveX,COBRA等)提供可能。
這種設(shè)計使得系統(tǒng)只考慮軟件的功能而不會過分依賴于具體的軟件平臺,因此系統(tǒng)具有良好的可擴(kuò)充性,無論采用商業(yè)軟件還是采用國產(chǎn)軟件,只要具有該項功能可以作為服務(wù)器,服務(wù)器軟件類型的變化都不會影響系統(tǒng)結(jié)構(gòu),便于將來采用國產(chǎn)軟件和系統(tǒng)的升級換代。
4 基于元數(shù)據(jù)的地理信息系統(tǒng)數(shù)據(jù)集成平臺
地理信息系統(tǒng)數(shù)據(jù)庫集成平臺的目的在于形成物理上分布而邏輯上集中的整體數(shù)據(jù)視圖。實現(xiàn)方式可以采用基于元數(shù)據(jù)的方式,也可以采用基于空間開放數(shù)據(jù)庫連接(Spatial Open Database Connectivity, S-ODBC)的結(jié)構(gòu)化查詢語言(Structure Query Language, SQL)和動態(tài)連接庫(Dynamic Link Library, DLL)方式,以及基于面向?qū)ο蟮姆绞?,如分布式公共對象模型(Distributed Common Object Model, DCOM)和公共對象請求代理結(jié)構(gòu)(Common Object Request Broker Architecture)等方式[8]。由于大型業(yè)務(wù)化運(yùn)行的地理信息系統(tǒng)大都建立在商業(yè)軟件的基礎(chǔ)上,很少全部從底層開發(fā),而目前絕大部分商業(yè)軟件都不支持這些軟件協(xié)議機(jī)制。從實用角度出發(fā),基于元數(shù)據(jù)的集成平臺是一種行之有效的地理信息系統(tǒng)數(shù)據(jù)集成模式。
美國聯(lián)邦地理數(shù)據(jù)委員會(Federal Geographical Data Committee, FGDC)制訂了分布式地理信息元數(shù)據(jù)規(guī)范,在地理信息標(biāo)準(zhǔn)化和規(guī)范化方面做了大量的工作。但是,一方面該規(guī)范過于煩瑣,在實際應(yīng)用中很難對該規(guī)范的每一項都有明確的表達(dá),另一方面該規(guī)范主要針對靜態(tài)數(shù)據(jù)集而對動態(tài)交互式應(yīng)用如多源數(shù)據(jù)融合等考慮不足。因此本文設(shè)想,針對地理信息的特點,抽取FGDC的關(guān)鍵內(nèi)容,對每一個具體空間數(shù)據(jù)庫建立一個與之相對應(yīng)的元數(shù)據(jù)記錄,將每一個分布式數(shù)據(jù)庫節(jié)點形成一個與具體空間數(shù)據(jù)集相對應(yīng)的元數(shù)據(jù)庫。根據(jù)分布式數(shù)據(jù)庫系統(tǒng)場地自治的原則,各節(jié)點負(fù)責(zé)維護(hù)本地數(shù)據(jù)庫與元數(shù)據(jù)項的一致和統(tǒng)一。數(shù)據(jù)集成平臺服務(wù)器保存相應(yīng)元數(shù)據(jù)庫的副本,并維持與各接點元數(shù)據(jù)庫的動態(tài)連接。這種方式的概念模式如圖2。