1.3.2 組件式GIS
組件式軟件技術(shù)已經(jīng)成為當今軟件技術(shù)的潮流之一,為了適應這種技術(shù)潮流,GIS軟件象其他軟件一樣,已經(jīng)或正在發(fā)生著革命性的變化,即由過去廠家提供了全部系統(tǒng)或者具有二次開發(fā)功能的軟件,過渡到提供組件由用戶自己再開發(fā)的方向上來。無疑,組件式GIS技術(shù)將給整個GIS技術(shù)體系和應用模式帶來巨大影響。
組件式GIS
基本思想是把GIS的各大功能模塊劃分為幾個控件,每個控件完成不同的功能。各個GIS控件之間,以及GIS控件與其它非GIS控件之間,可以方便地通過可視化的軟件開發(fā)工具集成起來,形成最終的GIS應用??丶缤欢迅魇礁鳂拥姆e木,他們分別實現(xiàn)不同的功能(包括GIS和非GIS功能),根據(jù)需要把實現(xiàn)各種功能的 “積木”搭建起來,就構(gòu)成應用系統(tǒng)。
組件式GIS系統(tǒng)的特點
(1) 小巧靈活、價格便宜
(2)無須專門GIS開發(fā)語言,直接嵌入MIS開發(fā)工具
(3) 開發(fā)簡捷
把GIS的功能適當抽象,以組件形式供開發(fā)者使用,將會帶來許多傳統(tǒng)GIS工具無法比擬的優(yōu)點。
(1) 小巧靈活、價格便宜 由于傳統(tǒng)GIS結(jié)構(gòu)的封閉性,往往使得軟件本身變得越來越龐大,不同系統(tǒng)的交互性差,系統(tǒng)的開發(fā)難度大。在組件模型下,各組件都集中地實現(xiàn)與自己最緊密相關(guān)的系統(tǒng)功能,用戶可以根據(jù)實際需要選擇所需控件,最大限度地降低了用戶的經(jīng)濟負擔。。組件化的GIS平臺
集中提供空間數(shù)據(jù)管理能力,并且能以靈活的方式與數(shù)據(jù)庫系統(tǒng)連接。在保證功能的前提下,系統(tǒng)表現(xiàn)得小巧靈活,而其價格僅是傳統(tǒng)GIS開發(fā)工具的十分之一,甚至更少。這樣,用戶便能以較好的性能價格比獲得或開發(fā)GIS應用系統(tǒng)。
(2) 無須專門GIS開發(fā)語言,直接嵌入MIS開發(fā)工具 傳統(tǒng)GIS往往具有獨立的二次開發(fā)語言,對用戶和應用開發(fā)者而言存在學習上的負擔。而且使用系統(tǒng)所提供的二次開發(fā)語言,開發(fā)往往受到限制,難以處理復雜問題。而組件式GIS建立在嚴格的標準之上,不需要額外的GIS二次開發(fā)語言,只需實現(xiàn)GIS的基本功能函數(shù),按照Microsoft的ActiveX控件標準開發(fā)接口。這有利于減輕GIS軟件開發(fā)者的負擔,而且增強了GIS軟件的可擴展性。GIS應用開發(fā)者,不必掌握額外的GIS開發(fā)語言,只需熟悉基于Windows平臺的通用集成開發(fā)環(huán)境,以及GIS各個控件的屬性、方法和事件,就可以完成應用系統(tǒng)的開發(fā)和集成。目前,可供選擇的開發(fā)環(huán)境很多,如Visual C++、Visual Basic、Visual FoxPro、Borland C++、Delphi、C++ Builder以及Power Builder等都可直接成為GIS或GMIS的優(yōu)秀開發(fā)工具,它們各自的優(yōu)點都能夠得到充分發(fā)揮。這與傳統(tǒng)GIS專門性開發(fā)環(huán)境相比,是一種質(zhì)的飛躍。 (3)、 強大的GIS功能
新的GIS組件都是基于32位系統(tǒng)平臺的,采用InProc直接調(diào)用形式,所以無論是管理大數(shù)據(jù)的能力還是處理速度方面均不比傳統(tǒng)GIS軟件遜色。小小的GIS組件完全能提供拼接、裁剪、疊合、緩沖區(qū)等空間處理能力和豐富的空間查詢與分析能力。 (4)、 開發(fā)簡捷 由于GIS組件可以直接嵌入MIS開發(fā)工具中,對于廣大開發(fā)人員來講,就可以自由選用他們熟悉的開發(fā)工具。而且,GIS組件提供的API形式非常接近MIS工具的模式,開發(fā)人員可以像管理數(shù)據(jù)庫表一樣熟練地管理地圖等空間數(shù)據(jù),無須對開發(fā)人員進行特殊的培訓。在GIS或GMIS的開發(fā)過程中,開發(fā)人員的素質(zhì)與熟練程度是十分重要的因素。這將使大量的MIS開發(fā)人員能夠較快地過渡到GIS或GMIS的開發(fā)工作中,從而大大加速GIS的發(fā)展。
(5) 更加大眾化 組件式技術(shù)已經(jīng)成為業(yè)界標準,用戶可以象使用其他ActiveX控件一樣使用GIS控件,使非專業(yè)的普通用戶也能夠開發(fā)和集成GIS應用系統(tǒng),推動了GIS大眾化進程。組件式GIS 的出現(xiàn)使GIS不僅是專家們的專業(yè)分析工具,同時也成為普通用戶對地理相關(guān)數(shù)據(jù)進行管理的的可視化工具。
(6)組件式GIS開發(fā)平臺的結(jié)構(gòu) 組件式GIS開發(fā)平臺通常可設計為三級結(jié)構(gòu):
基礎組件
面向空間數(shù)據(jù)管理,提供基本的交互過程,并能以靈活的方式與數(shù)據(jù)庫系統(tǒng)連接;
高級通用組件
由基礎組件構(gòu)造而成,面向通用功能,簡化用戶開發(fā)過程,如顯示工具組件、選擇工具組件、編輯工具組件、屬性瀏覽器組件等等。它們之間的協(xié)同控制消息都被封裝起來。這級組件經(jīng)過封裝后,使二次開發(fā)更為簡單。如一個編輯查詢系統(tǒng),若用基礎平臺開發(fā),需要編寫大量的代碼,而利用高級通用組件,只需幾句程序就夠了。面向通用功能;
行業(yè)性組件
抽象出行業(yè)應用的特定算法,固化到組件中,進一步加速開發(fā)過程。以GPS監(jiān)控為例。對于GPS應用,除了需要地圖顯示、信息查詢等一般的GIS功能外,還需要特定的應用功能,如動態(tài)目標顯示、目標鎖定、軌跡顯示等。這些GPS行業(yè)性應用功能組件被封裝起來后,開發(fā)者的工作就可簡化為設置顯示目標的圖例、軌跡顯示的顏色、鎖定的目標,以及調(diào)用、接受數(shù)據(jù)的方法等。
GIS組件的構(gòu)成
GIS軟件的模型包含若干功能單元:
空間數(shù)據(jù)獲取
坐標轉(zhuǎn)換
圖形編輯
數(shù)據(jù)存儲
數(shù)據(jù)查詢
數(shù)據(jù)分析
制圖表示 ……
可以想象要把這些所有的功能放在一個控件中幾乎是不可能的,即使實現(xiàn)也會帶來系統(tǒng)效率上的低下。一般可以認為GIS構(gòu)件的設計主要遵循應用領(lǐng)域地需求。例如ESRI地MapObjects就是以空間數(shù)據(jù)訪問、查詢、制圖為主要目標的GIS構(gòu)件。
評論