謝中凱,李飛雪,柳 林,任沂斌
(1. 南京大學(xué) 江蘇省地理信息技術(shù)重點(diǎn)實(shí)驗(yàn)室,江蘇 南京 210023;2. 山東科技大學(xué) 測繪學(xué)院,山東 青島 266590)
本文設(shè)計的旅游公眾服務(wù)系統(tǒng)由三層框架[1-5]組成,包括客戶端表現(xiàn)層、服務(wù)器中間層、數(shù)據(jù)層,如圖1所示。
圖1 系統(tǒng)框架結(jié)構(gòu)
1)客戶端表現(xiàn)層。客戶端使用Silverlight構(gòu)建,以地圖作為用戶獲取旅游信息的入口。客戶端展現(xiàn)系統(tǒng)界面,還可完成一定的數(shù)據(jù)計算,減少客戶端與服務(wù)器端的交互,提高系統(tǒng)響應(yīng)速度[6,7]??蛻舳擞袃煞N獲取信息的方式:第一種為通過ArcGIS API for Silverlight提供的相關(guān)Task從ArcGIS Server發(fā)布的地圖服務(wù)中提取空間信息,這個過程即GIS空間分析的過程;第二種為通過Web Service完成與后臺數(shù)據(jù)庫的交互??蛻舳双@取的信息可通過Silverlight的可視化手段展現(xiàn)出來。
2)服務(wù)器中間層。服務(wù)器由GIS服務(wù)器和Web服務(wù)器組成。ArcGIS Server作為GIS服務(wù)器,發(fā)布地圖服務(wù)和進(jìn)行投影、緩沖等幾何操作的Geometry服務(wù);IIS(internet information services,互聯(lián)網(wǎng)信息服務(wù))作為Web服務(wù)器,發(fā)布自定義的Web Service服務(wù)。
3)數(shù)據(jù)層。數(shù)據(jù)庫由SQL Server數(shù)據(jù)庫和多媒體數(shù)據(jù)庫組成。通過空間數(shù)據(jù)引擎ArcSDE將空間數(shù)據(jù)和景點(diǎn)屬性數(shù)據(jù)統(tǒng)一存儲于SQL Server數(shù)據(jù)庫中;多媒體數(shù)據(jù)庫以文件夾形式存在,存儲景點(diǎn)的圖片、視頻等多媒體信息。
在分析公眾對旅游信息需求的基礎(chǔ)上,確定旅游公眾服務(wù)系統(tǒng)應(yīng)當(dāng)具有的功能如下:
1)地圖服務(wù)。提供旅游城市地圖的瀏覽、放大、縮小等視圖操作功能,并提供與Bing地圖、衛(wèi)星地圖的切換功能。
2)景點(diǎn)展示。通過旅游景點(diǎn)的圖片、360°全景圖片、視頻等信息展示城市旅游景點(diǎn)的特色。
3)景點(diǎn)動態(tài)。主要介紹各旅游景點(diǎn)最新發(fā)生的事件、新增加的活動內(nèi)容,例如招商、折扣等內(nèi)容。
4)旅游攻略。查看當(dāng)日及未來兩天的天氣狀況;通過圖表對比不同月份不同景點(diǎn)的旅游熱度、同一月份不同景點(diǎn)的旅游熱度,幫助游客進(jìn)行旅游時間和路線的規(guī)劃,為旅游出行提供優(yōu)化方案。
5)搜索查詢。進(jìn)行旅游景點(diǎn)、賓館、飯店、車站等旅游興趣點(diǎn)的搜索,并將結(jié)果在地圖上進(jìn)行氣泡顯示,提供景點(diǎn)圖片、景點(diǎn)視頻等詳細(xì)資料。同時,根據(jù)用戶選擇的地點(diǎn)和范圍,查詢其周邊一定范圍內(nèi)的旅游興趣點(diǎn)信息。
6)旅游導(dǎo)航。根據(jù)用戶輸入或在圖形上選擇的起止地點(diǎn),提供公交路線查詢,查詢兩景點(diǎn)之間的公交旅游路線。同時,提供自駕車旅游導(dǎo)航,用戶可根據(jù)自己的喜好,選擇自駕游路線,系統(tǒng)將對旅游路線提供模擬旅游。
7)三維模擬。利用Silverlight 5提供的三維場景構(gòu)建技術(shù),對景點(diǎn)重點(diǎn)建筑進(jìn)行仿真建模,并將三維模型進(jìn)行網(wǎng)絡(luò)發(fā)布,實(shí)現(xiàn)Web端的景點(diǎn)三維展示[8]。
系統(tǒng)數(shù)據(jù)庫包括空間數(shù)據(jù)庫、屬性數(shù)據(jù)庫、多媒體數(shù)據(jù)庫3個部分??臻g數(shù)據(jù)庫存儲的空間圖形數(shù)據(jù)是本系統(tǒng)的特色。系統(tǒng)遵循空間數(shù)據(jù)建庫原則和方法,采用分層方式來對各種空間數(shù)據(jù)進(jìn)行管理。部分屬性信息,諸如景點(diǎn)名稱、景點(diǎn)地址等可通過圖層的屬性表記錄??臻g數(shù)據(jù)主要包括兩大部分:一是基礎(chǔ)空間數(shù)據(jù),包括河流、綠地、道路、城市地塊等圖層;二是專題數(shù)據(jù),它是旅游公眾服務(wù)系統(tǒng)的主題,也是公眾應(yīng)用該系統(tǒng)所關(guān)注的核心部分[9],主要包括旅游景點(diǎn)、酒店賓館、飯店、醫(yī)療、車站等圖層。景點(diǎn)屬性數(shù)據(jù)庫記錄與景點(diǎn)相關(guān)的文字介紹、旅游統(tǒng)計信息等,可用于旅游信息挖掘。多媒體數(shù)據(jù)庫存儲反映景點(diǎn)特色的圖片和視頻,便于景點(diǎn)進(jìn)行旅游推廣。
ArcGIS API for Silverlight是用于在客戶端開發(fā)WebGIS應(yīng)用的一組類庫,可以通過Rest接口訪問ArcGIS Server發(fā)布的各種服務(wù)。旅游公眾服務(wù)系統(tǒng)的開發(fā)屬于客戶端開發(fā),其與服務(wù)器端的交互通過兩種方式進(jìn)行。
1)Silverlight API提供 的Tasks。Tasks是提供公共結(jié)果的一組通用GIS操作。Task的用法遵循幾個步驟:實(shí)例化Task對象,注冊Task完成、失敗的監(jiān)聽事件,提交Task所需參數(shù),等待服務(wù)器完成任務(wù)后處理返回的結(jié)果。Silverlight API目前提供了QueryTask、FindTask、IdentityTask、Locator、Geometry Service、Geoprocessor等Task功能。
2)Web Service或WCF。大量旅游景點(diǎn)的屬性信息都存放在服務(wù)器端的數(shù)據(jù)庫中,Silverlight搭建的客戶端平臺無法直接操作后臺數(shù)據(jù)庫,但是可以使用Web Service或者WCF(windows communication foundation)[10,11]進(jìn)行數(shù)據(jù)庫的訪問。
Silverlight 5通過引入一個輕量級的XNA Graphics Framework 4.0實(shí)現(xiàn)了網(wǎng)頁三維場景的構(gòu)建。它依靠DrawingSurface控件渲染3D圖形,并且增加了一些新類來支持3D,比如Microsoft.Xna.Framework包含能被3D圖形類使用的Color和Rectangle類。虛擬三維場景中逼真的三維模型,如建筑物、樹木等,不能使用普通3D圖形(如矩形、球形)進(jìn)行組合制作,需要通過專業(yè)建模軟件生成。本系統(tǒng)使用Google SketchUp進(jìn)行三維建模。
為了能夠在網(wǎng)頁上生成三維虛擬旅游場景,需要在地圖上將各種地物要素模型放到合適的地理位置上。三維場景的構(gòu)建包括以下步驟:
1)從ArcMap中導(dǎo)出CAD格式的地圖作為SketchUp中模型放置的底圖。
2)對重點(diǎn)建筑物進(jìn)行三維建模,并使用貼圖作為紋理。
3)在SketchUp中設(shè)置與ArcMap相同的地圖單位,并調(diào)整CAD底圖到正確的地理尺度,將建筑物模型擺放到正確的地理位置,如圖2。
圖2 CAD格式底圖的三維場景
4)在SketchUp中將坐標(biāo)軸平移到某一位置作為場景的坐標(biāo)原點(diǎn),將三維模型導(dǎo)出為.fbx格式的模型和貼圖文件,模型自身將帶有相對坐標(biāo)。
5)將模型和貼圖添加到系統(tǒng)中。首先以文本形式打開模型,將模型貼圖的絕對路徑修改為相對路徑,然后以代碼形式實(shí)現(xiàn)模型加載。
本系統(tǒng)主頁界面(圖3)設(shè)計遵循實(shí)用性和可操作性雙重原則,以創(chuàng)建友好、大眾的用戶界面為目標(biāo),將地圖作為系統(tǒng)入口。在使用Silverlight搭建客戶端時,模仿C/S結(jié)構(gòu)的桌面程序,將功能模塊按鈕分門別類地集中放置,在菜單切換、窗體彈出時加入動畫效果,提高用戶交互性體驗(yàn)。地圖制作使用了ArcGIS 10新增的制圖表達(dá)功能,使得地圖要素顏色清新、均衡,符號形象直觀,為公眾提供了良好的地圖服務(wù)。
圖3 系統(tǒng)主界面
系統(tǒng)采用ArcSDE 10和SQL Server 2005創(chuàng)建和管理空間、屬性數(shù)據(jù)庫,由ArcGIS Server 10發(fā)布地圖服務(wù)和幾何服務(wù),由Silverlight 5.1搭建客戶端,由Google SketchUp 8.0制作地物三維模型。部分功能實(shí)現(xiàn)如下。
1)模擬游覽??梢愿鶕?jù)用戶喜好,選擇要瀏覽的景點(diǎn),生成這幾個景點(diǎn)間的最短路徑。系統(tǒng)根據(jù)生成的最短路徑,自動查詢路徑周圍一定距離內(nèi)的旅游景點(diǎn),以棕色氣泡的形式顯示在地圖上。在生成的最短路徑上會出現(xiàn)一個模擬游客,沿路徑行走,當(dāng)走到代表旅游景點(diǎn)的氣泡附近時,模擬游客做短暫停留,同時彈出此處旅游景點(diǎn)的介紹面板(圖4)。
圖4 模擬游覽
2)三維場景構(gòu)建。選擇五四廣場作為景點(diǎn)試點(diǎn),實(shí)現(xiàn)了景點(diǎn)的三維場景瀏覽(圖5)。通過三維工具條進(jìn)行控制,可進(jìn)行場景的四周觀察、旋轉(zhuǎn)、移動、添加天空盒等操作。
圖5 三維場景
三維場景選定“青島市市委市政府”模型為坐標(biāo)原點(diǎn),在二維地圖上劃定的游覽路線通過相對坐標(biāo)可映射到三維場景中,實(shí)現(xiàn)三維虛擬飛行漫游。
本系統(tǒng)由ArcGIS Server與富客戶端技術(shù)Silverlight搭建,利用GIS技術(shù)挖掘空間旅游信息,利用富客戶端技術(shù)提升景點(diǎn)信息展示效果,實(shí)現(xiàn)了青島市空間地理信息與旅游信息的有機(jī)結(jié)合。同時,進(jìn)行網(wǎng)頁三維開發(fā)嘗試,在SketchUp中進(jìn)行三維建模,在客戶端加載模型,實(shí)現(xiàn)了三維場景基本操作,初步實(shí)現(xiàn)了一套基于ArcGIS Server的WebGIS旅游自助原型系統(tǒng)。旅游公眾服務(wù)系統(tǒng)可以作為旅游信息資源共享平臺的一部分,與其他子系統(tǒng),如旅游服務(wù)熱線、移動旅游網(wǎng)等進(jìn)行集成,更好地服務(wù)于城市旅游。
[1]程國雄,胡世清.基于Silverlight互動學(xué)習(xí)RIA平臺的研究與實(shí)現(xiàn)[J]. 計算機(jī)工程與科學(xué), 2010(7):27-30
[2]青島市旅游公共服務(wù)系統(tǒng)建設(shè)方案:旅游公共服務(wù)系統(tǒng)建設(shè)可研報告[R]. 青島市旅游局,2010
[3]王偉志.基于ArcGIS Server的桂林旅游信息服務(wù)系統(tǒng)的設(shè)計與實(shí)現(xiàn)[D].昆明:昆明理工大學(xué),2009
[4]白玉,楊前進(jìn),龔遠(yuǎn)紅,等.基于ArcGIS Server平臺的旅游公眾服務(wù)系統(tǒng)[J]. 寧夏師范學(xué)院學(xué)報, 2009(6): 70-76
[5]陸亞剛,邱知,游先祥,等.基于Silverlight和REST的富網(wǎng)絡(luò)地理信息系統(tǒng)框架設(shè)計[J]. 地球信息科學(xué)學(xué)報,2012(2):54-60
[6]朱振華,朱云,周勤,等.基于Silverlight的危廢車輛實(shí)時監(jiān)控系統(tǒng)[J]. 計算機(jī)工程與設(shè)計, 2011(4):359-362
[7]付華,鐘勇.富因特網(wǎng)應(yīng)用程序在Web數(shù)據(jù)展現(xiàn)中的應(yīng)用[J].計算機(jī)應(yīng)用, 2009(增刊): 292-295
[8]韓增軍.基于GIS的數(shù)字濟(jì)南旅游信息服務(wù)系統(tǒng)的設(shè)計與實(shí)現(xiàn)[D].濟(jì)南:山東大學(xué),2008
[9]周磊.平樂旅游信息管理系統(tǒng)的設(shè)計與實(shí)現(xiàn)[D].西安:電子科技大學(xué),2009
[10]趙成福.基于ArcGIS的富客戶端WebGIS的開發(fā)研究[J]. 測繪技術(shù)裝備, 2010(2): 6-9
[11]譚淇.基于WCF服務(wù)框架與Silverlight的Web應(yīng)用研究[J].計算機(jī)與現(xiàn)代化, 2011(1):83-85