曾建剛,苗 放,陳建華
(成都理工大學(xué)地球探測(cè)與信息技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室,四川成都610059)
G/S模式下基于組件的地學(xué)瀏覽器設(shè)計(jì)與實(shí)現(xiàn)
曾建剛,苗 放,陳建華
(成都理工大學(xué)地球探測(cè)與信息技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室,四川成都610059)
針對(duì)空間信息網(wǎng)絡(luò)服務(wù)在現(xiàn)有 C/S、B/S模式下客戶端功能的不足和空間數(shù)據(jù)服務(wù)需求,采用一種新型的空間信息服務(wù)模式--G/S模式,即地學(xué)瀏覽器/空間信息服務(wù)器模式,并對(duì)其可視化客戶端G端地學(xué)瀏覽器(Geo-Browser)的系統(tǒng)架構(gòu)和關(guān)鍵技術(shù)進(jìn)行詳細(xì)論述。利用Google Earth COM API組件開發(fā)技術(shù),在國際標(biāo)準(zhǔn)KML支持下,對(duì)地學(xué)瀏覽器進(jìn)行詳細(xì)設(shè)計(jì)和實(shí)例驗(yàn)證,得出G/S模式下的地學(xué)瀏覽器在海量空間信息處理和三維展示方面具有明顯優(yōu)勢(shì)的結(jié)論。
地學(xué)瀏覽器/空間信息服務(wù)器模式;地學(xué)瀏覽器;Google Earth COM API;KML
隨著空間信息技術(shù)的發(fā)展,目前空間信息服務(wù)主要有客戶端/服務(wù)器(Client/Server)和瀏覽器/服務(wù)器(Brower/Server)兩種結(jié)構(gòu),代表軟件分別為ArcGIS和WebGIS。以C/S結(jié)構(gòu)為主的胖客戶端在處理海量的空間數(shù)據(jù),提供三維圖形體驗(yàn)等方面有明顯的優(yōu)勢(shì),但是部署麻煩,升級(jí)更新費(fèi)時(shí)[7]。后期出現(xiàn)的B/S結(jié)構(gòu),應(yīng)用程序可以統(tǒng)一部署在服務(wù)器端,維護(hù)工作只需要在服務(wù)器端進(jìn)行,客戶端僅需要一個(gè)Web瀏覽器即可,這樣極大地減少部署維護(hù)費(fèi)用。但是新的問題又出現(xiàn),統(tǒng)一的瀏覽器界面和鏈接操作方式無法為最終用戶提供豐富的圖形使用體驗(yàn),可操作性較差。
一種新型的空間信息服務(wù)模式——地學(xué)瀏覽器/空間信息服務(wù)器模式G/S模式[1]的出現(xiàn)較好地解決了上述問題,它以高性能可視化客戶端作為空間信息瀏覽器,以分布式服務(wù)集群對(duì)空間數(shù)據(jù)進(jìn)行統(tǒng)一、靈活、層次化的組織和管理。本文在此模式下對(duì)高性能可視化客戶端地學(xué)瀏覽器進(jìn)行了詳細(xì)論述,提出基于 Google Earth COM API設(shè)計(jì)地學(xué)瀏覽器(Geo-Browser)的思路,該瀏覽器不僅滿足了海量空間信息處理和為用戶提供真實(shí)三維體驗(yàn),而且部署以及操作簡(jiǎn)單方便。
1.1 G/S模式
隨著空間信息技術(shù)的應(yīng)用和發(fā)展,地理空間信息日益深入人們的生產(chǎn)、生活當(dāng)中,因此對(duì)于海量數(shù)據(jù)顯示和分析的需求變得越來越多。盡管傳統(tǒng)的GIS軟件可以解決部分需求,但部署、維護(hù)需專業(yè)人員來操作。以G/S模式[1]支持空間信息處理的地學(xué)瀏覽器在滿足需求的同時(shí),借鑒Web瀏覽器操作簡(jiǎn)單方便的特點(diǎn),可以提供海量空間數(shù)據(jù)展示等功能。
地學(xué)瀏覽器/空間信息服務(wù)器G/S模式是建立在以可擴(kuò)展標(biāo)記語言XML為基礎(chǔ)結(jié)構(gòu)的針對(duì)空間信息地理數(shù)據(jù)的超地理(或超圖形)標(biāo)記語言HGML之上,形成對(duì)空間數(shù)據(jù)進(jìn)行統(tǒng)一、靈活、層次化的組織和管理,以及統(tǒng)一的數(shù)據(jù)交換格式,以此為標(biāo)準(zhǔn),開發(fā)靈活、方便、功能強(qiáng)大的地學(xué)瀏覽器終端,使得在Internet范圍內(nèi),為各行業(yè)和廣大用戶提供有效和方便的空間信息網(wǎng)絡(luò)服務(wù)[1]。
1.2 地學(xué)瀏覽器
地學(xué)瀏覽器是一種新型的空間信息瀏覽器,所顯示內(nèi)容不僅涵蓋目前Web瀏覽器的全部功能,還有空間矢量模型重建、三維圖形互操作等新功能。結(jié)合空間信息服務(wù)器共同構(gòu)建新的空間信息服務(wù)模式[1],既可以提供Web瀏覽器擁有的文本、圖片、多媒體等信息瀏覽服務(wù),還可以實(shí)現(xiàn)矢量和柵格數(shù)據(jù)一次下載、多次建模顯示等功能,同時(shí)提供基于內(nèi)容和空間位置等多種搜索和查詢方式等功能。
與Web瀏覽器相比較,地學(xué)瀏覽器具有以下功能:
1)文本、圖片、多媒體等信息瀏覽;
2)支持加載衛(wèi)星遙感影像、地圖功能;
3)位置信息精確顯示功能;
4)三維場(chǎng)景建模,加載3D地形和建筑,提供瀏覽與互操作功能;
5)其他輔助功能,例如加載行業(yè)數(shù)據(jù)、提供相關(guān)服務(wù)等。
目前針對(duì)地學(xué)瀏覽器的開發(fā)已有很多種產(chǎn)品:例如Google公司的GoogleEarth,Yahoo公司的YahooMaps,法國的Geoportail,微軟公司的MSN VirtualEarth,ESRI公司的ArcGISExplorer,北大/北航的ChinaStar,武漢大學(xué)的GeoGlobe,中科院遙感所的DEPS CAS等,其中Google Earth是目前最能體現(xiàn)G/S模式的概念,功能最強(qiáng),性能最好,實(shí)用化和人性化的空間信息服務(wù)系統(tǒng)。
通過對(duì)以上產(chǎn)品的研究分析,目前地學(xué)瀏覽器按開發(fā)方式可以分為三種類型:針對(duì)開源軟件代碼來進(jìn)行研究,開發(fā)定制具有特定功能的地學(xué)瀏覽器;在現(xiàn)有GIS軟件提供平臺(tái)的基礎(chǔ)上進(jìn)行二次開發(fā),豐富和擴(kuò)展功能;采用Google Earth COM組件提供的API進(jìn)行開發(fā),定制開發(fā)功能強(qiáng)大的客戶端。
根據(jù)G/S模式的特點(diǎn),我們采用GoogleEarthCOM API來進(jìn)行地學(xué)瀏覽器的開發(fā),據(jù)此設(shè)計(jì)實(shí)現(xiàn)的地學(xué)瀏覽器(Geo-Browser)能夠提供較之相同類型更直觀、性能更高的可視化空間信息服務(wù)。事實(shí)上,其真正的功能,即它是G/S模式的一部分。這就意味著它的設(shè)計(jì)目的就是配合空間信息服務(wù)器,使地圖服務(wù)和地理處理任務(wù)能夠較容易地與行業(yè)數(shù)據(jù)和其他數(shù)據(jù)集成和融合。
因此地學(xué)瀏覽器具有以下的特點(diǎn):
1)地學(xué)瀏覽器在處理地學(xué)信息海量數(shù)據(jù)方面提供一個(gè)全新的解決辦法,結(jié)合 C/S結(jié)構(gòu)充分利用客戶機(jī)資源、高效處理客戶機(jī)數(shù)據(jù)和B/S結(jié)構(gòu)客戶端統(tǒng)一、數(shù)據(jù)展現(xiàn)豐富多彩的優(yōu)勢(shì)[3];
2)以GML/KML為統(tǒng)一開放標(biāo)準(zhǔn),將瀏覽器設(shè)計(jì)成通用、操作簡(jiǎn)單、可以處理地學(xué)信息的客戶端;
3)高效處理大量地學(xué)信息數(shù)據(jù),處理數(shù)據(jù)格式豐富,可以處理主流的數(shù)據(jù)格式;
4)地學(xué)瀏覽器類似Web瀏覽器一樣的簡(jiǎn)單方便,具備普通瀏覽器功能,包括網(wǎng)頁瀏覽、文件文檔顯示、媒體播放等,同時(shí)三維虛擬環(huán)境及場(chǎng)景漫游視覺效果直觀、逼真。
地學(xué)瀏覽器的實(shí)現(xiàn)架構(gòu)是一個(gè)三層結(jié)構(gòu),即G端(地學(xué)瀏覽器)、中間層(標(biāo)準(zhǔn)和協(xié)議)、S端(空間信息服務(wù)器),系統(tǒng)架構(gòu)如圖1所示。
圖1 系統(tǒng)架構(gòu)圖[1]
G端由用戶界面和功能鍵構(gòu)成,是用戶與系統(tǒng)交互的具體環(huán)境。地學(xué)瀏覽器基于GoogleEarth COM API進(jìn)行定制開發(fā),用戶界面主要由三維瀏覽與操作窗口構(gòu)成,用戶可以像在Web瀏覽器中輸入網(wǎng)址類似輸入KML格式的文件地址,即可實(shí)現(xiàn)在地學(xué)瀏覽器內(nèi)加載遙感影像,數(shù)據(jù)模型和相關(guān)地理信息。三維可視化、查詢檢索以及 GIS分析功能位于這一界面內(nèi)。用戶可以瀏覽空間目標(biāo),并進(jìn)行三維真實(shí)體驗(yàn)。簡(jiǎn)潔的功能界面和操作提示為普通大眾提供一個(gè)方便瀏覽空間信息的工具。
中間層主要處理瀏覽器端與服務(wù)器端之間的通信,像HTML一樣,KML使用包含名稱、屬性的標(biāo)簽(tag)來確定顯示方式,而地學(xué)瀏覽器可視為KML文件瀏覽器。中間層數(shù)據(jù)傳遞采用基于XML的KML技術(shù),OGC于08年4月正式發(fā)表申明,接受KML為地理信息系統(tǒng)行業(yè)標(biāo)準(zhǔn)[8]。KML,是 Keyhole標(biāo)記語言 Keyhole Markup Language的縮寫,是一種采用XML語法與格式的語言,用于描述和保存地理信息,可以被Google Earth和Google Maps識(shí)別并顯示。可以使用KML來與其他GoogleEarth或GoogleMaps用戶分享地標(biāo)與信息。處理KML文件的方式與網(wǎng)頁瀏覽器處理HTML和XML文件的方式類似?;贙ML的地學(xué)瀏覽器為空間數(shù)據(jù)讀取顯示提供新的應(yīng)用模式和解決方案。
S端則由不同功能的服務(wù)器 (基礎(chǔ)空間信息服務(wù)器、行業(yè)數(shù)據(jù)服務(wù)器等)以及相應(yīng)的服務(wù)構(gòu)成[1]。其中基礎(chǔ)空間信息服務(wù)器群以包括遙感、基礎(chǔ)地理底圖的空間信息基礎(chǔ)數(shù)據(jù)庫為支撐,通過基于XML的數(shù)據(jù)交換向Internet發(fā)布數(shù)據(jù)和提供基礎(chǔ)信息服務(wù);行業(yè)數(shù)據(jù)服務(wù)器群則提供實(shí)時(shí)獲取的行業(yè)相關(guān)的各類空間數(shù)據(jù)、屬性數(shù)據(jù)和時(shí)間數(shù)據(jù),也通過基于XML的數(shù)據(jù)交換向Internet發(fā)布數(shù)據(jù)和提供行業(yè)信息服務(wù)。
3.1 實(shí)現(xiàn)
2008年5月28日,谷歌發(fā)布一個(gè)新瀏覽器的插件程序和應(yīng)用程序接口(GE COM API)[9],它是一種基于COM的組件技術(shù)。利用Google Earth COM提供的API接口,通過代碼不僅可以使GoogleEarth浸入到任何Web頁中,而且可以嵌入到自己開發(fā)的窗體里?;谠揅OM組件可以靈活、方便定制開發(fā)G/S模式下的地學(xué)瀏覽器,在實(shí)現(xiàn)支持加載高分辨率圖像的同時(shí),實(shí)現(xiàn)處理KML文件,支持創(chuàng)建三維模型等功能。
隨著個(gè)人計(jì)算機(jī)硬件的迅速發(fā)展,Delphi通過調(diào)用底層的OpengGL、Direct3D等原生函數(shù)和自身的優(yōu)化機(jī)制,性能提高很快,而且該平臺(tái)支持 ActiveX技術(shù),所以本文在 Delphi2007集成開發(fā)環(huán)境下利用 GE COM API控件來進(jìn)行開發(fā)。基于COM組件提供的接口,進(jìn)行地學(xué)瀏覽器的定制開發(fā)。
基于Google Earth COM API的地學(xué)瀏覽器開發(fā)步驟如下:
1)將Google Earth地圖控件引用到自定義的瀏覽器中。針對(duì)Google Earth COM的開發(fā)是基于API提供的接口上進(jìn)行,利用API提供的接口函數(shù)可以將Google Earth地圖部分調(diào)用過來[9]。
}//初始化,加載Google Earth地圖控件
2)動(dòng)態(tài)數(shù)據(jù)更新。為地學(xué)瀏覽器提供動(dòng)態(tài)數(shù)據(jù),需要用到上面介紹的KML動(dòng)態(tài)數(shù)據(jù)更新技術(shù)。在這里提供一個(gè)比較好的解決方案,即G/S模式下架構(gòu)空間信息服務(wù)器。架設(shè)的服務(wù)器Server提供的是動(dòng)態(tài)的符合KML規(guī)范的數(shù)據(jù),Geo-Browser間隔一定時(shí)間去空間信息服務(wù)器上獲取一下數(shù)據(jù)。
3)加載KML文件。當(dāng)KML文件被加載進(jìn)入地學(xué)瀏覽器中后,這個(gè)文件也被當(dāng)作一個(gè)要素看待,文件中的這個(gè)幾何圖形、圖片、鏈接等都被當(dāng)成這個(gè)要素的子要素看待。在地學(xué)瀏覽器中只有通過要素名稱或者通過要素的鏈接地址才能獲取某個(gè)要素。
3.2 在數(shù)字旅游中的應(yīng)用
G/S模式是一個(gè)基于網(wǎng)絡(luò)環(huán)境的空間信息服務(wù)體系,將其應(yīng)用于數(shù)字旅游行業(yè),以其功能強(qiáng)大的三維可視化地學(xué)瀏覽器,為旅游管理和用戶提供有力支持。旅游線路和景點(diǎn)的虛擬現(xiàn)實(shí)和增強(qiáng)現(xiàn)實(shí)正成為新的熱門需求,地學(xué)瀏覽器帶給人們前所未有的真實(shí)感、體驗(yàn)感,它在系統(tǒng)建設(shè)、內(nèi)容組織、服務(wù)形式方面可以為管理部門提供輔助決策。地學(xué)瀏覽器在數(shù)字旅游中可以實(shí)現(xiàn)以下功能:三維瀏覽功能,利用三維地形數(shù)據(jù)、三維景觀數(shù)據(jù),進(jìn)行三維場(chǎng)景模擬顯示,結(jié)合景區(qū)景點(diǎn)視頻錄像,實(shí)現(xiàn)三維飛行、漫游,給人以真實(shí)場(chǎng)景感受;旅游信息發(fā)布、查詢和統(tǒng)計(jì)功能,實(shí)現(xiàn)星級(jí)賓館、餐飲、商店市場(chǎng)、醫(yī)療急救、大廈、旅行交通的查詢、統(tǒng)計(jì)和分析等功能,方便游客直觀地了解相關(guān)服務(wù)情況;智能導(dǎo)游功能,根據(jù)游客交互信息智能推薦旅游線路,提供沿線活動(dòng)和消費(fèi)項(xiàng)目,并可按照既定的旅游線路,在三維場(chǎng)景里飛行瀏覽(見圖2、3)。
圖2 九寨溝風(fēng)景區(qū)三維呈現(xiàn)
圖3 酒店預(yù)訂
地學(xué)瀏覽器是空間信息服務(wù)模式--G/S模式的高性能可視化客戶端,它在滿足海量空間信息處理和為用戶提供真實(shí)三維體驗(yàn)的同時(shí),部署以及操作簡(jiǎn)單方便,顯示內(nèi)容不僅涵蓋目前Web瀏覽器的全部功能,還有空間矢量模型重建、三維圖形互操作等。在Delphi2007集成環(huán)境中利用GE的COM API來對(duì)地學(xué)瀏覽器進(jìn)行開發(fā)是一種理想的技術(shù),COM組件提供接口可以便捷定制客戶端,并實(shí)現(xiàn)加載谷歌的高分辨率影像、加載KML文件和三維虛擬場(chǎng)景展示等功能,同時(shí)提供文本、圖片、多媒體等信息瀏覽服務(wù)。
地學(xué)瀏覽器以G/S模式的統(tǒng)一數(shù)據(jù)交換標(biāo)準(zhǔn)在行業(yè)開展應(yīng)用,可以靈活方便地定制開發(fā)功能強(qiáng)大的終端,為管理部門和廣大用戶提供方便的空間信息網(wǎng)絡(luò)服務(wù)。目前地學(xué)瀏覽器處于正在開發(fā)和提高的過程中,更有效的空間數(shù)據(jù)模型、GIS分析功能等已逐步加入研究和開發(fā)的日程。
[1] 苗放,葉成名,劉瑞,等.新一代數(shù)字地球平臺(tái)與“數(shù)字中國”技術(shù)體系架構(gòu)探討[J].測(cè)繪科學(xué),2007(32):157-158
[2] 陶闖,王全科.基于“地學(xué)信息服務(wù)(GIServices)”的Internet三維GIS:GeoEye 3D[J].測(cè)繪學(xué)報(bào),2002(1):123-126
[3] 許義星.基于G/S模式的開源數(shù)字地球平臺(tái)研究[D].成都:成都理工大學(xué),2006
[4] 李建民,陳永華,呂志慧.WebGIS三維可視化瀏覽器插件實(shí)現(xiàn)方法[J].測(cè)繪學(xué)院學(xué)報(bào),2002(2):147-149
[5] 高照忠,魏海霞.基于ArcGISEngine的三維瀏覽器的開發(fā)應(yīng)用[J].大眾科技,2009(6):59-60
[6] 張慧.基于瀏覽器的GoogleEarth交互式系統(tǒng)開發(fā)技術(shù)[J].山東國土資源,2008(12):30-32
[7] 熊瑾,陶俊才.瀏覽器/服務(wù)器結(jié)構(gòu)應(yīng)用系統(tǒng)的研究與開發(fā)[J].計(jì)算機(jī)與現(xiàn)代化,2005(8):113-115
[8] 上帝之眼[DB/OL].http://www.godeyes.cn.,2009-08-23
[9] Google Earth API.http://code.google.com/intl/zh-CN/apis/earth/, 2009-08-20
Design and Imp lementation of COM Geo-browser In G/S M odel
ZENG Jiangang,M IAO Fang,CHEN Jianhua
( key Lab of Earth Exploration&Information Techniques of M inistry of Education,Chengdu University of Technol ogy,Chengdu 610059,China)
The paper analyzed the lack of client functionality for the existing C/S,B/S model in spatial information service and the status of dem and s for spatial data services,adopted a new type of spatial information service model-G/Smodel,whichwas Geo-Browser/Spatial Information Server,also its system architecture and key techniqueswere discussed in detail.Using Google Earth COM API component technology,supported by the international st and ards of KML,designs and verifies of Geo-browser,it proofs theconclusion that in massive spatialinformation processing and real three-dimensional displaying have obvious advantages.
G/S model;Geo-Browser;Google Earth COM API;KML
2009-11-05
項(xiàng)目來源:四川省青年軟件創(chuàng)新基金資助項(xiàng)目(2007-63)。
P208
B
1672-4623(2010)02-0118-03
曾建剛,碩士,研究方向?yàn)橛?jì)算機(jī)軟件與理論。