1.獨立式GIS軟件開發(fā)方式
獨立式GIS軟件開發(fā)不依賴任何已有的軟件平臺,從GIS的功能需求出發(fā),從原始的底層結(jié)構(gòu)設(shè)計開始,應(yīng)用支持數(shù)據(jù)庫的圖形、圖像和屬性操作的程序語言如C、VC、C++、C#、Java、Delphi等,編程實現(xiàn)GIS的操作功能。這種開發(fā)方式因技術(shù)難度大、投入人力物力多、開發(fā)周期長等不利因素,在現(xiàn)有的GIS工程應(yīng)用中很少采用。但在某些技術(shù)難度要求較低、功能需求少或具有某些特定需求條件 (如保密應(yīng)用、軍事應(yīng)用等)不能基于已有的平臺進行二次開 *** 況下,可以采用這種方式,設(shè)計開發(fā)平 *** 立的GIS軟件。
2.宿主式GIS二次開發(fā)方式
所謂宿主式GIS二次開發(fā),是編寫的軟件不能獨立于所依托的平臺軟件獨立運行。一些平臺軟件,如ArcGIS、Maplnfo等都提供了MapBasic、Python等宿主開發(fā)語言,允許軟件開發(fā)者開發(fā)一些新的GIS功能部件或模塊補充到平臺GIS軟件。這種開發(fā)方式充分利用了平臺GIS軟件的操作環(huán)境和已有的功能,實現(xiàn)一些復(fù)雜操作、綜合操作、批處理操作、工具性操作等,具有宏語言編程和宏插件運行的特點。在GIS軟件的二次開發(fā)中具有一定的應(yīng)用市場。
3.組件式GIS二次開發(fā)方式
組件式GIS二次開發(fā)是基于平臺GIS軟件提供的組件模型,使用常用的程序開發(fā)語言,如C、VC、C++、C#、Java、Delphi等,開發(fā)在平臺軟件提供的Runtime運行庫環(huán)境支持下可以獨立于平臺軟件運行的開發(fā)方式。這種方式開發(fā)的軟件,是完全根據(jù)用戶的功能需求而定制軟件的結(jié)構(gòu)和功能,實現(xiàn)平臺軟件功能的個性化應(yīng)用。其另外一個優(yōu)點是可以與第三方平臺軟件提供的組件模型進行混合編程,或直接集成獨立的第三方組件,為實現(xiàn)GIS功能的客戶化定制提供了 靈活多樣的開發(fā)和集成 *** 。組件式GIS二次開發(fā)是基于面向?qū)ο蟮?程序設(shè)計和編程 *** 。多數(shù)平臺GIS軟件都提供組件開發(fā)環(huán)境,如ArcGIS軟件的ArcObject、ArcEngine,Maplnfo軟件的MapX等。在系統(tǒng)功能維護、更新和升級等方面具有諸多好處。組件式GIS二次開發(fā)方式是目前GIS工程應(yīng)用廣為采用的一種開發(fā)方式。
4.開源式GIS二次開發(fā)方式
現(xiàn)在市場上有一些開放源代碼的GIS軟件,這些軟件不僅已經(jīng)具備了一定的GIS功能,而且也提供了可供進一步開發(fā)的環(huán)境和接口。如OpenLayer、GRASS、QGIS、WorldWind等,以及像谷歌、天地圖等專業(yè)網(wǎng)站,都提供了可供第三方進行應(yīng)用開發(fā)的API接口,可以使用C++、C#、VC、Java,JavaScript等語言,在開源協(xié)議支持下進行二次開發(fā),并利用這些開源軟件或網(wǎng)站提供的運行和服務(wù)環(huán)境運行編寫的程序。這是一種程序二次開發(fā)具有活力和發(fā)展前途的開發(fā)方式,已經(jīng)受到越來越多的關(guān)注。它的優(yōu)點介于獨立式和組件式之間,為一些GIS的個性化應(yīng)用提供了另一條途徑。
添加微信好友, 獲取更多信息
復(fù)制微信號
來源:開源地理空間基金會中文分會
來源鏈接:https://www.osgeo.cn/post/152ea
本站聲明:網(wǎng)站內(nèi)容來源于 *** ,如有侵權(quán),請聯(lián)系我們,我們將及時處理。