高慧卿,樊蘭瑛
(1.山西省農(nóng)業(yè)科學(xué)院現(xiàn)代農(nóng)業(yè)研究中心,山西太原030031;2.山西省農(nóng)業(yè)科學(xué)院農(nóng)業(yè)資源綜合考察研究所,山西太原030006)
地理信息系統(tǒng)(Geography Information System,GIS)起源于20世紀(jì)60年代,它是一門集計算機、測繪、遙感、地理學(xué)、空間科學(xué)、信息科學(xué)和管理科學(xué)于一體的新興邊緣學(xué)科。作為一門新興的空間信息技術(shù),地理信息系統(tǒng)在國防、交通、城市管理等各個領(lǐng)域都有廣泛的應(yīng)用,在處理空間信息方面有著無可比擬的優(yōu)勢[1-2]。隨著技術(shù)的進(jìn)步,地理信息系統(tǒng)也逐步發(fā)展完善起來,產(chǎn)生了一批具有代表性的專業(yè)地理信息系統(tǒng),如ESRI的ArcGIS,MapGIS,SuperMap等。盡管GIS發(fā)展得很快,但在屬性數(shù)據(jù)的管理方面仍然沒有達(dá)到現(xiàn)在的關(guān)系型數(shù)據(jù)庫的地步。
管理信息系統(tǒng)(Management Information System,MIS)經(jīng)過長時間的發(fā)展,由于數(shù)據(jù)庫技術(shù)、網(wǎng)絡(luò)技術(shù)等相關(guān)技術(shù)的發(fā)展,管理信息系統(tǒng)已經(jīng)非常成熟和完善。然而,對于空間信息的管理,管理信息系統(tǒng)卻心有余而力不足,這是由于空間信息的復(fù)雜度以及空間信息的拓?fù)潢P(guān)系是關(guān)系型數(shù)據(jù)庫無法表達(dá)而造成的。管理信息系統(tǒng)在海量空間信息的處理以及進(jìn)行空間信息的操作與分析上也很難得到滿意的專業(yè)GIS的效果。在開發(fā)應(yīng)用系統(tǒng)的過程中,如何根據(jù)不同的需求特點,將GIS與MIS結(jié)合起來就成為系統(tǒng)能夠取得成功的關(guān)鍵。
隨著地理信息系統(tǒng)理論的發(fā)展以及計算機技術(shù)的發(fā)展,地理信息系統(tǒng)在技術(shù)上的開發(fā)模式也不斷地豐富[3]。目前,地理信息應(yīng)用系統(tǒng)在技術(shù)上的開發(fā)模式主要有完全的底層開發(fā);基于現(xiàn)有的商業(yè)地理信息系統(tǒng)的二次開發(fā);基于COM標(biāo)準(zhǔn)的組件式開發(fā)以及基于網(wǎng)絡(luò)的網(wǎng)絡(luò)地理信息系統(tǒng)即WebGIS等。
完全的底層開發(fā)指的是不基于任何已有的GIS軟件,應(yīng)用C++等高級語言對所要實現(xiàn)的GIS及MIS功能進(jìn)行開發(fā),實現(xiàn)圖紙的管理、海量空間數(shù)據(jù)的管理等GIS功能。這種模式的好處是具有極強的開發(fā)靈活性和可操作性,因此幾乎能夠?qū)崿F(xiàn)所有的功能。而且完全從底層做起,形成的成果具有完全的自主知識產(chǎn)權(quán),能夠避免產(chǎn)權(quán)糾紛,在系統(tǒng)開發(fā)的成本上可節(jié)省購買專業(yè)GIS軟件的資金。完全的底層開發(fā)有利于使GIS與MIS功能相結(jié)合。由于完全的控制,在功能上更容易滿足需求。但是,完全的底層開發(fā)也有其劣勢。正是由于其極大的靈活性,不可避免地帶來共開發(fā)工作量的增加。所有的GIS功能都必須從零開始,對系統(tǒng)設(shè)計人員以及編程人員的素質(zhì)要求很高,大大增加了工作量,而且在效果上很難與專業(yè)的GIS軟件相媲美。
完全的二次開發(fā)指的是在已有的商業(yè)GIS軟件的基礎(chǔ)上進(jìn)行二次開發(fā)。隨著GIS的不斷完善和發(fā)展,出現(xiàn)了一批功能強大的GIS軟件,并且都提供了二次開發(fā)功能,如ESRI公司的Arc View提供了Avenue語言,ARC/INFO的AML,Intergraph則有MicroStation Development Language(MDL),MapInfo公司研制的 MapInfo Professional提供了MapBasic語言等。二次開發(fā)的技術(shù)模式可實現(xiàn)與原有平臺的界面風(fēng)格一致,結(jié)構(gòu)緊密,并可以充分利用軟件提供的先進(jìn)GIS空間分析功能。這種開發(fā)模式可以大大減小開發(fā)的工作量,在擴展空間分析功能方面也比較容易。但是,使用二次開發(fā)模式需要學(xué)習(xí)專門的二次開發(fā)語言。由于對屬性數(shù)據(jù)的處理能力較弱,這種開發(fā)模式很難實現(xiàn)MIS的功能。所開發(fā)出來的系統(tǒng)嚴(yán)重依賴原系統(tǒng),不能獨立運行,可移植性較差。
GIS工具軟件生產(chǎn)廠家采用COM等技術(shù),將地理信息功能以組件的形式提供給客戶。開發(fā)人員只需要調(diào)用相關(guān)的函數(shù)就能實現(xiàn)專業(yè)的地理信息功能。這方面有ESRI公司的MapObjects及ArcObjects,MapInfo公司的MapX等。以Arc Ojects為例,它是ESRI公司ArcGIS家族中應(yīng)用程序 ArcMap,ArcCatalog和 ArcScene的開發(fā)平臺,基于Microsoft COM技術(shù)。通過AO可以完成空間數(shù)據(jù)顯示、查詢檢索、編輯分析,創(chuàng)建各種專題圖和統(tǒng)計報表,高級的制圖和輸出功能等。使用組件開發(fā)技術(shù)很容易在用可視化編程工具VC,VB等上將GIS與MIS集成起來,實現(xiàn)高效無縫的系統(tǒng)集成。使用組件技術(shù)無需專門GIS開發(fā)語言就能開發(fā)出強大的GIS功能。而且組件小巧靈活、價格便宜,因此受到了廣泛的歡迎。
WebGIS將GIS與Web及數(shù)據(jù)庫技術(shù)相結(jié)合,以新的工作模式和數(shù)據(jù)共享機制,廣泛應(yīng)用于各種涉及地理信息的領(lǐng)域,為全球范圍用戶提供數(shù)據(jù)、通訊和其他信息服務(wù)[4]。目前主要產(chǎn)品有:ESRI公司的 MapObjects和 Internet Map Server(IMS),MapInfo 公司的 MapInfo Pro Server,Intergraph公司的 GeoMediaWebMap,Autodesk公司的MapGuide以及韓國仁荷大學(xué)開發(fā)研制的GeoWeb等。WebGIS實現(xiàn)了數(shù)據(jù)和應(yīng)用徹底分離,通過XML或SOAP等傳遞消息來構(gòu)建應(yīng)用。WebGIS將GIS與網(wǎng)絡(luò)相結(jié)合,具有系統(tǒng)的開放性、滿足數(shù)據(jù)的共享與遠(yuǎn)程操作、廣泛的訪問范圍以及平衡高效的計算負(fù)載等優(yōu)點,成為GIS開發(fā)的熱點。
根據(jù)不同的應(yīng)用,GIS與MIS二者結(jié)合的方式基本上分為3類,即:以MIS為主,集成GIS基本功能的信息系統(tǒng);結(jié)合GIS與MIS各自所長的專業(yè)應(yīng)用系統(tǒng);以實現(xiàn)GIS為中心的專業(yè)系統(tǒng)。
這種開發(fā)模式是以數(shù)據(jù)庫管理系統(tǒng)為主,集成GIS的查詢、顯示等基本功能,滿足用戶對數(shù)據(jù)可視化的基本要求,它適用于那些對GIS功能要求不高,只需要對空間信息進(jìn)行簡單的顯示、查詢等功能,對空間數(shù)據(jù)的精度不做過多要求的系統(tǒng)。在這種開發(fā)模式下,可采用完全的二次開發(fā)方式進(jìn)行開發(fā)。由于只需要實現(xiàn)簡單的GIS圖形顯示、查詢等功能,采用完全的底層開發(fā)的方式,在技術(shù)上并不難。而且能夠?qū)崿F(xiàn)MIS系統(tǒng)的功能,使得GIS與MIS系統(tǒng)能夠很好地結(jié)合起來,我們研究的旱農(nóng)決策管理信息系統(tǒng)就是這樣的一種應(yīng)用。在該系統(tǒng)中,要解決的問題是如何利用先進(jìn)的信息技術(shù)來管理不斷增加的旱農(nóng)項目管理信息,構(gòu)建一個基于Internet的多角色、多用戶的統(tǒng)一的旱農(nóng)信息交換平臺,從而提高旱農(nóng)項目決策的科學(xué)性和日常項目管理的效率。在深入分析ArcSDE和Oracle Spatial的存儲機制的基礎(chǔ)上,全面分析、比較二者的優(yōu)缺點,結(jié)合系統(tǒng)的實際情況,選用ArcSDE+SQL Server 2000的存儲方案,實現(xiàn)了空間和屬性數(shù)據(jù)的一體化存儲。
MIS功能由數(shù)據(jù)庫訪問控件來實現(xiàn),GIS功能則由GIS基本功能Web Service訪問空間數(shù)據(jù)服務(wù)器來實現(xiàn)。具體過程是:Web服務(wù)器收到請求后先分析該請求,如是業(yè)務(wù)數(shù)據(jù)請求,使用業(yè)務(wù)數(shù)據(jù)訪問控件訪問數(shù)據(jù)庫服務(wù)器,數(shù)據(jù)庫服務(wù)器根據(jù)用戶的請求進(jìn)行相應(yīng)的處理后,以XML數(shù)據(jù)流的形式逐級返回結(jié)果;如是地圖數(shù)據(jù)請求,使用GIS基本功能Web Service訪問空間數(shù)據(jù)服務(wù)器,空間數(shù)據(jù)服務(wù)器再訪問數(shù)據(jù)庫服務(wù)器,數(shù)據(jù)庫服務(wù)器根據(jù)用戶請求進(jìn)行相應(yīng)的處理后,以地圖數(shù)據(jù)流的形式逐級返回結(jié)果;如是模型計算請求,使用模型計算Web Service進(jìn)行相應(yīng)的處理,如有必要再通過業(yè)務(wù)數(shù)據(jù)訪問控件或GIS基本功能Web Service訪問數(shù)據(jù)服務(wù)器或空間數(shù)據(jù)服務(wù)器,處理結(jié)果以XML數(shù)據(jù)流或地圖數(shù)據(jù)流的形式逐級返回(圖1)。

在這種開發(fā)模式下,也可以采用組件的開發(fā)方式。由于大部分GIS功能都由GIS組件來提供,開發(fā)人員在開發(fā)MIS系統(tǒng)時直接調(diào)用這些組件,從而提高開發(fā)速度,降低開發(fā)難度。
一些專業(yè)模型的應(yīng)用系統(tǒng)在GIS與MIS功能的基礎(chǔ)上實現(xiàn)某專業(yè)模型。這種開發(fā)模型需求,可以結(jié)合數(shù)據(jù)庫管理系統(tǒng)與GIS各自的長處分別實現(xiàn),并集成到一起,這一類應(yīng)用系統(tǒng)的實現(xiàn)主要依賴于GIS組件的功能。專業(yè)模型應(yīng)用系統(tǒng)的核心在于其專業(yè)模型的實現(xiàn)上。針對不同的專業(yè)模型,可能對GIS與MIS的功能要求有所不同。比如我們現(xiàn)在正在開發(fā)的產(chǎn)業(yè)空間分析軟件,對于二者的要求都并不是很高,其核心是空間分析應(yīng)用模型的實現(xiàn)。因此,在開發(fā)中,我們將GIS的顯示功能及MIS的管理功能結(jié)合起來,將空間分析模型以Web服務(wù)的形式提供給客戶。其過程如圖2所示。用戶將數(shù)據(jù)以及所要進(jìn)行分析的請求發(fā)送到服務(wù)器端,服務(wù)器端應(yīng)用相關(guān)的分析模型對用戶所提交的數(shù)據(jù)進(jìn)行分析并將結(jié)果返回給用戶,用戶通過客戶端GIS瀏覽器查看分析結(jié)果。在本系統(tǒng)中處于核心部分的空間分析模型的實現(xiàn),既涉及到產(chǎn)業(yè)的空間屬性,又涉及到產(chǎn)業(yè)的屬性信息。因此,在實現(xiàn)模型時,就必須將GIS與MIS二者結(jié)合起來。將結(jié)果返回到用戶的客戶端時,還需要具有瀏覽GIS功能的瀏覽器瀏覽結(jié)果。

當(dāng)一些專業(yè)模型對MIS功能要求不高甚至沒有時,可以考慮在GIS系統(tǒng)上的二次開發(fā),在GIS軟件平臺上實現(xiàn)專業(yè)模型。如王若成等[5]在MapBasic開發(fā)環(huán)境中實現(xiàn)了由二維矢量地圖生成數(shù)字高程模型(DEM)和由數(shù)字高程模型(DEM)生成坡度圖和坡向圖。專業(yè)模型應(yīng)用系統(tǒng)的開發(fā)也可采用組件式的開發(fā)方式。魏加華等[6]在MapObjects技術(shù)上實現(xiàn)了GIS功能與地下水?dāng)?shù)值模型的完全整合。
以GIS為中心,由GIS管理所有的數(shù)據(jù),實現(xiàn)空間數(shù)據(jù)與屬性數(shù)據(jù)的一體化,利用GIS的各種空間分析與處理能力建立專業(yè)的應(yīng)用模型,滿足用戶的復(fù)雜需求。這一模式主要適合于具有超大空間數(shù)據(jù)(如大數(shù)據(jù)量的遙感圖像)的環(huán)境資源應(yīng)用領(lǐng)域。李航等[7-8]利用基于COM的GIS組件開發(fā)客戶端應(yīng)用程序,利用ArcSDE開發(fā)后臺遙感圖像數(shù)據(jù)庫,實現(xiàn)了對遙感圖像數(shù)據(jù)的有效存儲和管理。在這種開發(fā)模式下,也可采用基于已有GIS軟件的二次開發(fā)。由于所涉及到的MIS功能很少,在已有的專業(yè)GIS軟件上進(jìn)行二次開發(fā),能夠滿足MIS方面的需求。而且由于商業(yè)的GIS軟件在GIS功能的實現(xiàn)上有著極大的優(yōu)勢,進(jìn)行二次開發(fā),可以極大地提高開發(fā)效率。對于一些特殊的功能,選擇開源的開發(fā)方式也是一個不錯的選擇,如可以在開放源代碼OpenGL的基礎(chǔ)上實現(xiàn)山區(qū)地形地貌的跨平臺的三維瀏覽。
對于一些特殊的專業(yè)系統(tǒng),需要集成GIS功能,如多媒體數(shù)據(jù)與GIS空間數(shù)據(jù)集成等。羅平等[9-10]利用VB進(jìn)行MapGIS和Authorware二次開發(fā),完成了基于GIS和多媒體集成方式的佛山旅游信息系統(tǒng)的設(shè)計和開發(fā)。
根據(jù)GIS應(yīng)用系統(tǒng)的功能需求的側(cè)重點,GIS與MIS在結(jié)合的方式上可以分為3種類型:以GIS為主、以MIS為主以及二者都有側(cè)重。這3種結(jié)合方式在實際的開發(fā)過程中都有廣泛的應(yīng)用,而且都能夠取得不錯的效果。因此,開發(fā)GIS應(yīng)用系統(tǒng)過程中,應(yīng)根據(jù)功能需求確定開發(fā)模式。在技術(shù)層面上,每種開發(fā)模式都有多種技術(shù)開發(fā)方式供選擇。在技術(shù)開發(fā)模式中,基于組件式的技術(shù)開發(fā)模式有著廣泛的應(yīng)用,因而成為目前開發(fā)GIS應(yīng)用系統(tǒng)的主流。需要指出的是,開源技術(shù)也是開發(fā)GIS功能的一種不錯的選擇。
[1] 李翔,楊寶祝,郭天財,等.基于WebGIS和ES集成技術(shù)的農(nóng)作物管理地理信息系統(tǒng)研究 [J].華北農(nóng)學(xué)報,2003,18(2):106-109.
[2] 郭常蓮,樊蘭瑛,張愛蓮.山西農(nóng)業(yè)企業(yè)及資源配置分析系統(tǒng)研究與開發(fā)[J].山西農(nóng)業(yè)科學(xué),2008,36(5):93-96.
[3] 俞侃,盧俊波,鄧天平.GIS應(yīng)用軟件開發(fā)模式分析[J].計算機與數(shù)字工程,2005,33(3):24-27.
[4] 常樂,彰暉,陳宏盛.WebGIS應(yīng)用系統(tǒng)設(shè)計[J].計算機工程,2001,27(4):51-53.
[5] 王若成,董吉文.基于MapBasic下MapInfo地形分析功能的擴展[J].信息技術(shù)與信息化,2005(1):37-39.
[6] 魏加華,李慈君,王光謙,等.地下水?dāng)?shù)值模型與組件GIS集成研究[J].吉林大學(xué)學(xué)報,2003,33(4):532-538.
[7] 李航,岳麗華.基于COM和ArcSDE的遙感圖像數(shù)據(jù)庫開發(fā)[J].計算機應(yīng)用,2005,25(5):12-14.
[8] 白似雪.GIS與MIS結(jié)合的研究[J].南昌大學(xué)學(xué)報,2002,26(1):61-63.
[9] 許海成.GIS應(yīng)用軟件開發(fā)方法探討[J].蒙自師范高等專科學(xué)校學(xué)報,2001,3(4):15-20.
[10] 羅平,黃耀麗,何素芳.基于GIS和多媒體集成的旅游信息系統(tǒng)開發(fā)與實踐[J].測繪通報,2001(12):25-27.