複製鏈接
請複製以下鏈接發送給好友

ComGIS

鎖定
ComGIS是一種GIS軟件開發中的應用。
COM是組件式對象模型(Component Object Model)的英文縮寫,ComGIS是面向對象技術和組件式軟件在GIS軟件開發中的應用。組件式軟件技術已經成為當今軟件技術的潮流之一,推動了地理信息系統的組件化發展,組件式GIS是GIS的發展新階段。
中文名
ComGIS
外文名
Component Object Model
領    域
計算機
技    術
面向對象技術

ComGIS基本思想

認識ComGIS,首先需要了解所依賴的技術基礎-組件式對象模型和ActiveX控件
COM是組件式對象模型,是OLE和ActiveX共同的基礎。COM不是一種面向對象的語言,而是一種二進制標準。COM所建立的是一個軟件模塊與另一個軟件模塊之間的鏈接,當這種鏈接建立之後,模塊之間就可以通過稱之為“接口”的機制來進行通信。COM標準增加了保障系統和組件完整的安全機制,擴展到分佈式環境。這種基於分佈式環境下的COM被稱作DCOM(Distribute COM)。DCOM實現了COM對象與遠程計算機上的另一個對象之間直接進行交互。
ActiveX是一套基於COM的可以使軟件組件在網絡環境中進行互操作而不管該組件是用何種語言創建的技術。作為ActiveX技術的重要內容,ActiveX 控件是一種可編程、可重用的基於COM的對象。ActiveX控件通過屬性、事件、方法等接口與應用程序進行交互。
一些軟件公司專門生產各種用途的ActiveX控件,比如:數據庫訪問、數據監視、數據顯示、圖形顯示、圖像處理,甚至三維動畫等等。幾個著名的GIS軟件公司把COM技術應用於GIS開發,紛紛推出由一系列ActiveX控件組成的ComGIS軟件,比如Intergraph公司的GeoMediaESRIMapObjectsMapInfo公司的MapX等。
ComGIS的基本思想是把GIS的各大功能模塊劃分為幾個控件,每個控件完成不同的功能。各個GIS控件之間,以及GIS控件與其它非GIS控件之間,可以方便地通過可視化的軟件開發工具集成起來,形成最終的GIS應用。控件如同一堆各式各樣的積木,他們分別實現不同的功能(包括GIS和非GIS功能),根據需要把實現各種功能的 “積木”搭建起來,就構成應用系統。

ComGIS組件技術

目前,在軟件開發領域,一場新的革命正在悄悄興起,這是由日趨成熟的組件技術引發的。幾年以前,當微軟公司首先使用OLE (Object Linking & Embedding)的時候,其初衷是為了增強軟件的互操作性。然而在使用過程中,人們逐漸認識到這一技術背後的實質性內容和它在軟件開發中所扮演的重要角色。組件技術將以前所未有的方式提高軟件產業的生產效率,這一點已逐步成為軟件開發人員的共識。傳統的Client/Server結構、羣件、中間件等大型軟件系統的構成形式,都將在組件的基礎上重新構造。
組件技術使近二十年來興起的面向對象技術進入到成熟的實用化階段。在組件技術的概念模式下,軟件系統可以被視為相互協同工作的對象集合,其中每個對象都會提供特定的服務,發出特定的消息,並且以標準形式公佈出來,以便其他對象瞭解和調用。組件間的接口通過一種與平台無關的語言IDL(Interface Define Language)來定義,而且是二進制兼容的,使用者可以直接調用執行模塊來獲得對象提供的服務。早期的類庫,提供的是原代碼級的重用,只適用於比較小規模的開發形式;而組件則封裝得更加徹底,更易於使用,並且不限於C++之類的語言,可以在各種開發語言和開發環境中使用。
由於組件技術的出現,軟件產業的形式也將會有所改變。大量組件生產商會湧現出來,並推出各具特色的組件產品;軟件集成商則利用適當的組件快速生產出用户需要的某些應用系統;大而全的通用產品將逐步減少;很多相對較為專業,但用途廣泛的軟件,如GIS、語音識別系統等,都將以組件的形式組裝和擴散到一般的軟件產品中。

ComGIS應用方式

GIS技術的發展,在軟件模式上經歷了功能模塊、包式軟件、核心式軟件,從而發展到ComGIS、WebGIS的過程。傳統GIS雖然在功能上已經比較成熟,但是由於這些系統多是基於十多年前的軟件技術開發的,屬於獨立封閉的系統。同時,GIS軟件變得日益龐大,用户難以掌握,費用昂貴,阻礙了GIS的普及和應用。組件式軟件是新一代GIS的重要基礎, ComGIS的出現為傳統GIS面臨的多種問題提供了全新的解決思路。
ComGIS是面向對象技術和組件式軟件在GIS軟件開發中的應用。
許多WebGIS軟件包均採用HTML標準,活動內容採用Java applets(SUN 標準)或者 ActiveX(Microsoft 標準)進行傳遞。新型的分佈式面向對象WebGIS可以採用CORBA/Java或者DCOM/ActiveX技術進行開發。ActiveX控件不僅可以用於一般的ActiveX容器程序 (比如Visual Basic、Delphi等) ,而且能嵌入Web頁面中。任何ActiveX控件都可以設計成Internet控件,作為Web頁面的一部分,Web頁面中的控件通過腳本(Script)互相通信。因此,ComGIS是WebGIS的一種解決方案,而基於這一方案的WebGIS通常比基於Java的運行速度快。
GIS的核心是 GIS軟件 ,GIS軟件的發展和 IT 技術,尤其是與主流軟件技術的發展緊密相關 。在組件技術出現之前,GIS軟件大多采用桌面 GIS加專用二次開發語言的方式,存在用户難學難用,擴展困難,無法與 MIS等其他系統集成等問題 。GIS僅限於測繪、土地等少數部門使用,無法為更多的領域行業和大眾服務,GIS 處於專家 GIS 階段。20 世紀90年代中期, 微軟推出COM組件技術, 並在GIS中得到廣泛應用, 形成了COMGIS。 COMGIS具備高效無縫集成、無須專門 GIS 開發語言、成本低等優點以及組件式軟件的可編程和可重用的特性,GIS也因此開始融人 IT 主流,使得 GIS進入到 COMGIS 階段。

ComGIS開發方式

(1)GIS 控件方式 所用的 GIS 組件多數是以 ActiveX 控件的形式存在,一般和專業應用系統在 Microsoft 平台上集成。這些控件將基礎的 GIS 組件封裝在一起,方便地嵌入Microsoft 平台的任何標準開發環境中。 使用 GIS 控件的目的是將 GIS功能引入其他系統中,這是 GIS 控件存在的意義.它屏蔽了所有功能的實現細節,對用户的編程技能要求很低。由於這種 GIS 開發方式簡單、快捷,並且控件提供的功能既滿足了用户的需要又充分利用了資料,因此這種開發方式得到了最為廣泛的應用。較有代表性的 GIS控件有:MapInfo 的
MapX和 ESRI的 MapObject。
(2)桌面 GIS平台方式 桌面 GIS本身是一個可以獨立使用的 GIS應用系統。系統由眾多不同的獨立的 GIS組件組成,各個 GIS組件提供的不同功能模塊共同實現系統的功能。這些組件基於同一組件開發平台,且滿足一定的協議,因而這些組件能無縫集成,從而構成完整的系統。用户可根據需要選擇適當的組件開發出滿足自己功能需求的應用系統。 最有代表性的 COMGIS 平台實現方式是 ArcGIS 系統平台開發的系統。 該系統平台使用的組件是 COM/DCOM, 用户在 Microsoft 平台上的標準開發環境中能方便地定製自身的專
業應用組件對其進行二次開發。
(3)基於 Web 的實現方式 COMGIS 在 Internet/Intranet 上的擴展,即網絡技術與COMGIS 技術相結合作為 COMGIS 的一種開發方式,同時也是實現 WebGIS的一種方案。 這種實現方式是基於 B/S的結構,通過擴展瀏覽器的功能,利用瀏覽器就能對圖像進行縮放、移動、選定等操作,實現基礎的 GIS 功能。目前,使用較廣泛的是在瀏覽器上安裝基於 COM/DCOM 的 ActiveX 控件擴展 Web 瀏覽器的動態模塊。最具有代表性的是ArcIMS。
(4)基於 GIS中間件的 COMGIS實現方式 這裏的 GIS中間件可以是一個產品或一種服務,它將眾多 GIS 組件融合在一起。作為產品它可方便地交付給用户使用,作為服務用户可通過互聯網快速獲得。它採用標準接口響應用户的功能請求和進行數據交換;它獨立存在,用户只需以嚮導的形式獲得相應的功能或決定數據的輸出方式,所有需要 GIS 功能的用户都能使用而無需掌握 GIS編程技能;它能屏蔽操作系統平台和 GIS數據間的異構性;它提供了統一的接口,任何人按照一定的規範都能將其擴充 。

ComGIS優點

把 GIS 的功能適當抽象,以組件形式供開發者使用,將會帶來許多傳統 GIS 工具無法比擬的優點。
(1)小巧靈活、價格便宜
組件化的 GIS 平台集中提供空間數據管理能力,並且能以靈活的方式與數據庫系統連接。在保證功能的前提下,系統表現得小巧靈活,而其價格僅是傳統 GIS 開發工具的十分之一,甚至更少。這樣,用户便能以較好的性能價格比獲得或開發 GIS應用系統。
(2)無須專門 GIS開發語言,直接嵌入 MIS開發工具
組件式 GIS 建立在嚴格的標準之上,不需要額外的 GIS 二次開發語言,只需實現 GIS的基本功能函數,按照 Microsoft 的 ActiveX 控件標準開發接口。GIS 應用開發者,不必掌握額外的 GIS 開發語言,只需熟悉基於 Windows 平台的通用集成開發環境,以及 GIS 各個控件的屬性、方法和事件,就可以完成應用系統的開發和集成。
(3)強大的 GIS功能
新的 GIS組件都是基於 32 位系統平台的,採用 InProc 直接調用形式,所以無論是管理大數據的能力還是處理速度方面均不比傳統 GIS 軟件遜色。小小的 GIS 組件完全能提供拼接、裁剪、疊合、緩衝區等空間處理能力和豐富的空間查詢與分析能力。
(4)開發簡捷
由於 GIS 組件可以直接嵌入 MIS 開發工具中,對於廣大開發人員來講,就可以自由選用他們熟悉的開發工具。而且,GIS 組件提供的 API 形式非常接近 MIS 工具的模式,開發人員可以像管理數據庫表一樣熟練地管理地圖等空間數據,無須對開發人員進行特殊的培訓。
(5)更加大眾化
組件式技術已經成為業界標準,用户可以象使用其他 ActiveX控件一樣使用 GIS控件,使非專業的普通用户也能夠開發和集成 GIS應用系統, 推動了 GIS大眾化進程。 組件式 GIS 的出現使 GIS 不僅是專家們的專業分析工具,同時也成為普通用户對地理相關數據進行管理的的可視化工具
COMGIS 有如下幾個特性:
①可複用性 它是組件式軟件最基本的特性,也是組件技術和 GIS技術相結合的最初驅動力。與傳統的複用技術(代碼段複用、類複用等)相比,組件的複用更注重於大範圍的軟件複用和軟件複用的容易程度。而對於 GIS軟件組件的複用還應着眼於和其他非計算機領域結合的專業應用領域中的組件複用。
②可封裝性 封裝的目的不僅是為了隱藏設計和實現細節, 使組件對外呈現相對獨立的實體, 而對於組件使用者來説,封裝還意味着提高組件複用的容易程度。對於 GIS 這樣複雜的專業應用更需要重視。
③可定製性 指組件在組裝過程中隨組裝環境的不同而作出適當的調整。由於 GIS 必須和專業應用結合才能發揮其潛在的功能,因此絕大部分 GIS 組件在開發的過程中必須考慮其方便的可定製性,這是開發的難點之一。④可組裝性 利用 GIS組件開發系統的過程是各種 GIS組件組裝的過程,組裝是實施複用的手段。⑤語言無關性 突破了傳統 GIS 開發時需要學習特殊開發語言的限制。一般標準開發語言都可用來開發 GIS。⑥無縫集成性 滿足一定規範的不同語言開發的具有不同功能的 GIS組件在同一標準開發環境下能夠集成,不僅如此,GIS組件還能和其他專業應用系統集成。這種集成是高效的、無縫的,降低了 GIS開發的成本,併為 GIS走向大眾化提供了有力的支持。