GIS 二次開發(fā)概述
地理信息系統(tǒng)根據(jù)其內(nèi)容可分為兩大基本類型:一是應(yīng)用型地理信息系統(tǒng),以某一專業(yè)、領(lǐng) 域或工作為主要內(nèi)容,包括專題地理信息系統(tǒng)和區(qū)域綜合地理信息系統(tǒng);二是工具型地理信息系統(tǒng),也就是GIS工具軟件包,如ARC/INFO等,具有空間數(shù)據(jù)輸入、存儲(chǔ)、處理、分析和輸出等GIS基本功能。隨著地理信息系統(tǒng)應(yīng)用領(lǐng)域的擴(kuò)展,應(yīng)用型GIS的開發(fā)工作日顯重要。如何針對(duì)不同的應(yīng)用目標(biāo),高效地開發(fā)出既合乎需要又具有方便美觀豐富的界面形式的地理信息系統(tǒng),是GIS開發(fā)者非常關(guān)心的問題。
? ? ? 1.1 GIS開發(fā)模式
獨(dú)立開發(fā)
指不依賴于任何GIS工具軟件,從空間數(shù)據(jù)的采集、編輯到數(shù)據(jù)的處理分析及結(jié)果輸出,所有的算法都由開發(fā)者獨(dú)立設(shè)計(jì),然后選用某種程序設(shè)計(jì)語言,如Visual C++、Delphi等,在一定的操作系統(tǒng)平臺(tái)上編程實(shí)現(xiàn)。這種方式的好處在于無須依賴任何商業(yè)GIS工具軟件,減少了開發(fā)成本,但一方面對(duì)于大多數(shù)開發(fā)者來說,能力、時(shí)間、財(cái)力方面的限制使其開發(fā)出來的產(chǎn)品很難在功能上與商業(yè)化GIS工具軟件相比,而且在購買GIS工具軟件上省下的錢可能還抵不上開發(fā)者在開發(fā)過程中絞盡腦汁所花的代價(jià)。
宿主型二次開發(fā)
指基于GIS平臺(tái)軟件上進(jìn)行應(yīng)用系統(tǒng)開發(fā)。大多數(shù)GIS平臺(tái)軟件都提供了可供用戶進(jìn)行二次開發(fā)的腳本語言,如ESRI的ArcView提供了Avenue語言,MapInfo公司的MapInfo Professional提供了MapBasic語言等等。用戶可以利用這些腳本語言,以原GIS軟件為開發(fā)平臺(tái),開發(fā)出自己的針對(duì)不同應(yīng)用對(duì)象的應(yīng)用程序。這種方式省時(shí)省心,但進(jìn)行二次開發(fā)的腳本語言,作為編程語言,功能極弱,用它們來開發(fā)應(yīng)用程序仍然不盡如人意,并且所開發(fā)的系統(tǒng)不能脫離GIS平臺(tái)軟件,是解釋執(zhí)行的,效率不高。
基于GIS組件的二次開發(fā)
大多數(shù)GIS軟件產(chǎn)商都提供商業(yè)化的GIS組件,如ESRI 公司的MapObjects、MapInfo公司的MapX等,這些組件都具備GIS的基本功能,開發(fā)人員可以基于通用軟件開發(fā)工具尤其是可視化開發(fā)工具,如Delphi、Visual C++、Visual Basic、Power Builder等為開發(fā)平臺(tái),進(jìn)行二次開發(fā)。 利用GIS工具軟件生產(chǎn)廠家提供的建立在OCX技術(shù)基礎(chǔ)上的GIS功能控件,如ESRI的MapObjects、MapInfo公司的MapX等,在Delphi等編程工具編制的應(yīng)用程序中,直接將GIS功能嵌入其中,實(shí)現(xiàn)地理信息系統(tǒng)的各種功能
三種實(shí)現(xiàn)方式的分析與比較
由于獨(dú)立開發(fā)難度太大,單純二次開發(fā)受GIS工具提供的編程語言的限制差強(qiáng)人意,因此結(jié)合GIS工具軟件與當(dāng)今可視化開發(fā)語言的集成二次開發(fā)方式就成為GIS應(yīng)用開發(fā)的主流。它的優(yōu)點(diǎn)是既可以充分利用GIS工具軟件對(duì)空間數(shù)據(jù)庫的管理、分析功能,又可以利用其它可視化開發(fā)語言具有的高效、方便等編程優(yōu)點(diǎn),集二者之所長,不僅能大大提高應(yīng)用系統(tǒng)的開發(fā)效率,而且使用可視化軟件開發(fā)工具開發(fā)出來的應(yīng)用程序具有更好的外觀效果,更強(qiáng)大的數(shù)據(jù)庫功能,而且
可靠性好、易于移植、便于維護(hù)。尤其是使用OCX技術(shù)利用GIS功能組件進(jìn)行集成開發(fā),更能表現(xiàn)出這些優(yōu)勢(shì)。 由于上述優(yōu)點(diǎn),集成二次開發(fā)正成為應(yīng)用GIS開發(fā)的主流方向。這種方法唯一的缺點(diǎn)是前期投入比較大,需要同時(shí)購買GIS工具軟件和可視化編程軟件,但“工欲善其事,必先利其器”,這種投資值得。 目前許多軟件公司都開發(fā)了很多ActiveX控件,合理選擇和運(yùn)用現(xiàn)成的控件,減少了開發(fā)者的編程工作量,使開發(fā)者避開某些應(yīng)用的具體編程,直接調(diào)用控件,實(shí)現(xiàn)這些具體應(yīng)用,不僅可以縮短程序開發(fā)周期,使編程過程更簡(jiǎn)潔,用戶界面更友好,可以使程序更加靈活、簡(jiǎn)便。
評(píng)論
查看更多