李熹微,李明峰,衡春杰,常小林
(南京工業(yè)大學測繪學院,江蘇南京210009)
基于GIS技術(shù)的信息管理系統(tǒng)可實現(xiàn)師生與校區(qū)間信息交互,是校園軟環(huán)境建設(shè)的重要組成部分[1]。國內(nèi)現(xiàn)有以傳統(tǒng)GIS實現(xiàn)的校園信息系統(tǒng),功能劃分不明確,局限于空間信息的可視化表現(xiàn),缺乏豐富的用戶體驗,交互應(yīng)用均集中在服務(wù)器端,混合傳輸交互數(shù)據(jù)和顯示信息,網(wǎng)絡(luò)負載重,響應(yīng)速度慢[2]。因此,本文擬采用基于Silverlight的富客戶端GIS技術(shù),提高系統(tǒng)運行效率,實現(xiàn)更具人性化界面操作的數(shù)字校園系統(tǒng)。
富客戶端技術(shù)是一種既能處理復雜的多媒體數(shù)據(jù)應(yīng)用,又能大大提高用戶的交互體驗的應(yīng)用技術(shù)。它能夠充分利用本地機器的資源處理數(shù)據(jù),將大部分業(yè)務(wù)邏輯從服務(wù)器端移植到客戶端,減少了服務(wù)器端壓力,保持了系統(tǒng)使用與部署的便攜性,提高了數(shù)據(jù)交互速度與豐富的用戶體驗,從而實現(xiàn)了網(wǎng)絡(luò)負載均衡[3]。
以Microsoft公司的Silverlight為基礎(chǔ),將富客戶端技術(shù)和GIS結(jié)合成富客戶端 GIS,采用 Model-ViewModel-View模型[4],不僅繼承了桌面應(yīng)用程序反應(yīng)快、交互性強的優(yōu)點,且具有Web應(yīng)用程序部署靈活、低成本的特性,簡化并改進了Web應(yīng)用程序的用戶交互[5-6]。界面內(nèi)容呈現(xiàn)與數(shù)據(jù)分離,適應(yīng)查詢內(nèi)容、校園定位及信息更新的特點(如圖1所示)?;诟豢蛻舳薌IS開發(fā)的應(yīng)用程序在圖像、視頻、音頻、雙向數(shù)據(jù)通信和復雜窗體創(chuàng)建等方面有著突出的優(yōu)勢[7],可提供內(nèi)容豐富、交互良好的用戶體驗,是真正實現(xiàn)跨瀏覽器、跨客戶平臺的應(yīng)用技術(shù)。
圖1 富客戶端GIS應(yīng)用系統(tǒng)的組織結(jié)構(gòu)
數(shù)字校園系統(tǒng)的應(yīng)用可提高師生學習辦公與校園信息管理效率。其具有明確的地理定位,并以校園建筑、交通道路為依托,將校園中的典型建筑物、公共設(shè)施等作為相應(yīng)的地理坐標,直接傳達校園信息。
系統(tǒng)總體框架結(jié)構(gòu)設(shè)計采用富客戶端GIS特有的C/S與B/S相結(jié)合的體系結(jié)構(gòu),并配合企業(yè)級WebGIS的應(yīng)用優(yōu)勢。
C/S結(jié)構(gòu)主要針對具有一定權(quán)限的校園管理人員,使其能根據(jù)需要在客戶機上管理相關(guān)數(shù)據(jù),而系統(tǒng)會根據(jù)指令將修改后的數(shù)據(jù)傳送到服務(wù)器保存。B/S結(jié)構(gòu)主要針對非管理人員,高校的普通用戶可以通過內(nèi)部局域網(wǎng)(校園網(wǎng))訪問和查詢相關(guān)數(shù)據(jù)。
系統(tǒng)整個框架包括3個部分:應(yīng)用層、服務(wù)層和數(shù)據(jù)層(如圖2所示)。數(shù)據(jù)層負責存儲與管理地理數(shù)據(jù),同時維護GIS數(shù)據(jù)之間的關(guān)系;服務(wù)層中使用ArcGIS Server作為地圖服務(wù)器,實現(xiàn)與數(shù)據(jù)庫(包括地圖數(shù)據(jù)庫和屬性數(shù)據(jù)庫)的連接和數(shù)據(jù)處理,應(yīng)用服務(wù)器則對外部提供數(shù)據(jù)的查詢和訪問接口;應(yīng)用層主要剪裁并集成下層提供的服務(wù),使開發(fā)人員得到滿足其需要的富客戶端GIS應(yīng)用系統(tǒng)。
顧及校區(qū)地理信息資料的多樣性,將系統(tǒng)數(shù)據(jù)分為空間數(shù)據(jù)、屬性數(shù)據(jù)和元數(shù)據(jù)3大類(如圖3所示)。對與地理位置相關(guān)的空間數(shù)據(jù)采用大分類小分層的方式進行組織,即把數(shù)據(jù)劃分為基礎(chǔ)數(shù)據(jù)和專題數(shù)據(jù)兩大類,然后對每類數(shù)據(jù)按層組織,將相同類型劃分為同一圖層,并由ArcSDE進行統(tǒng)一維護管理;屬性數(shù)據(jù)包括數(shù)據(jù)的名稱與形狀等,采用一般商用RDBMS(關(guān)系型數(shù)據(jù)庫系統(tǒng)),如SQLServer、Oracle等進行存儲;元數(shù)據(jù)是描述數(shù)據(jù)的數(shù)據(jù),是說明數(shù)據(jù)生產(chǎn)、內(nèi)容、質(zhì)量、狀況、使用等特征的數(shù)據(jù),它能促進數(shù)據(jù)的有效管理、維護及重利用,因此是數(shù)據(jù)管理不可缺少的[8];此外,一些不便于數(shù)據(jù)庫存儲管理的數(shù)據(jù)以文件的方式存放在服務(wù)器端,供應(yīng)用層調(diào)用。
圖3 數(shù)字校園系統(tǒng)數(shù)據(jù)庫設(shè)計
基于富客戶端GIS技術(shù)和Internet網(wǎng)絡(luò),圍繞院校的功能區(qū)域及公共設(shè)施等,將系統(tǒng)數(shù)據(jù)庫、應(yīng)用服務(wù)器、客戶端瀏覽器有機結(jié)合起來,分區(qū)設(shè)計出系統(tǒng)的功能框架(如圖4所示),實現(xiàn)了分布式校區(qū)信息化管理,能合理準確地傳達校園信息,體現(xiàn)校園的人文內(nèi)涵和文化底蘊。其總體功能如下:
1)地圖操作。以地圖方式表達空間數(shù)據(jù),供用戶瀏覽。通過導航工具欄拉框或滑動條拖動方式實現(xiàn)地圖的放大、縮小、全圖、漫游、測距等功能。系統(tǒng)服務(wù)端使用切片地圖緩存服務(wù),將地圖分級縮放,當達到最大比例尺時則無法再放大;反之,達到最小比例尺時無法再縮小。
圖4 系統(tǒng)功能設(shè)計
2)導向定位。即快速查找校園用戶所需的地物與路線,包括校園巴士路線、功能區(qū)域亮顯、公共設(shè)施定位等。可根據(jù)校園區(qū)域特點采用代表性的導向標識在地圖上引導定位,并在客戶端的視圖中顯示查詢結(jié)果,同時附帶基本信息。
3)信息查詢。用戶可通過關(guān)鍵字或下拉框內(nèi)選項指定查找對象,查詢校內(nèi)設(shè)施、道路、教學實驗樓、宿舍樓等,查詢結(jié)果則以列表形式顯示出來,用戶可點擊列表結(jié)果實現(xiàn)地圖定位,也可控制相應(yīng)彈出框查看基本信息和詳細數(shù)據(jù)。
4)校園管理。主要實現(xiàn)數(shù)字校園系統(tǒng)中的用戶管理、校區(qū)學生的宿舍區(qū)域管理、校車路線和校區(qū)路網(wǎng)的維護管理等。
為實現(xiàn)系統(tǒng)數(shù)據(jù)更新的實時性,提高服務(wù)端性能和多用戶并發(fā)訪問響應(yīng)能力,減輕服務(wù)端計算負載,系統(tǒng)中地圖服務(wù)采用GIS服務(wù)器動態(tài)地圖渲染與地圖切片技術(shù)相結(jié)合的方式來發(fā)布。
對于上層矢量數(shù)據(jù),因其實時性及數(shù)據(jù)更新頻繁,應(yīng)采用動態(tài)渲染,即客戶端發(fā)出請求后,地圖服務(wù)器按照用戶請求的地圖范圍動態(tài)繪制地圖,生成JPG、PNG等格式的柵格地圖圖片。
底層較固定的地圖數(shù)據(jù),可利用地圖切片技術(shù)進行地圖發(fā)布,最大限度地發(fā)揮動態(tài)地圖渲染技術(shù),以支持數(shù)據(jù)實時更新的優(yōu)點與地圖切片技術(shù)響應(yīng)速度快的性能優(yōu)勢。通過ArcGIS Server以四叉樹方式對地圖在n級比例尺等級下進行切分,由式(1)可得切分片數(shù)
系統(tǒng)實現(xiàn)過程中,各類型的地圖服務(wù)均被視為一個地圖圖層,通過 ArcGIS API for Silverlight的ArcGISDynamicMapServiceLayer接口,在地圖中添加動態(tài)渲染地圖圖層,ArcGISTiledMapServiceLayer添加切片地圖圖層(如圖5所示)。通過在地圖中添加不同的地圖服務(wù)圖層,實現(xiàn)動態(tài)渲染地圖服務(wù)與切片地圖服務(wù)的疊加。此外,為節(jié)約地圖切片預創(chuàng)建時間,以及便于切片地圖服務(wù)空間數(shù)據(jù)的后期更新,對訪問量大的中小比例尺等級,預先創(chuàng)建地圖切片緩存;對大比例尺等級,采用按需實時緩存。
圖5 四叉樹方式切片原理
本系統(tǒng)的查詢內(nèi)容主要針對校區(qū)建筑(點)、校園道路(線)、校園區(qū)塊(面)等圖層,查詢方式以鼠標點擊、區(qū)域定位為主。
首先,借助Services Directory查到所需地圖服務(wù),調(diào)用QueryLayer接口,輸入查詢條件,返回查詢結(jié)果。查詢數(shù)據(jù)庫時,考慮到用戶會指定一個或多個查詢條件篩選查詢數(shù)據(jù),系統(tǒng)采用表達式樹查詢法。雖然其與一般的LINQ查詢法等方法相比更為復雜,但靈活性強。在運行時動態(tài)構(gòu)建查詢語句,查詢所用到的參數(shù)、屬性和方法以字符串形式“傳入”表達式,從而實現(xiàn)動態(tài)查詢。
分別使用不同數(shù)據(jù)量對普通查詢方法和表達式樹查詢法進行測試(見表1),測試平臺是普通的2 GB雙核筆記本,操作系統(tǒng)為Windows XP,瀏覽器為IE7。
表1 查詢時間比較表
測試結(jié)果表明,系統(tǒng)提高了查詢速度,改進了運行效率。
根據(jù)以上研究,以南京工業(yè)大學江浦校區(qū)為應(yīng)用對象,實現(xiàn)了基于ArcGIS Server 10.0、Visual Studio 2010和Silverlight 4.0開發(fā)的數(shù)字校園系統(tǒng),系統(tǒng)具有地圖瀏覽、屬性查詢、空間定位、信息查詢、用戶管理等功能。Silverlight作為RIA應(yīng)用的開發(fā)技術(shù),具有豐富的媒體元素呈現(xiàn)能力、動畫和數(shù)據(jù)內(nèi)容的分離的其特點,與傳統(tǒng)Web應(yīng)用程序通過刷新頁面和彈出窗呈現(xiàn)詳細信息的方式相比,系統(tǒng)實踐過程中菜單、信息窗口等均動態(tài)浮現(xiàn)于總體視圖之上,用戶可對其進行拖拽、彈出、隱藏等操作。系統(tǒng)界面更加簡潔、美觀,解決了現(xiàn)有數(shù)字校園系統(tǒng)用戶交流情景體驗不足的問題,其在數(shù)字校園建設(shè)中有廣泛的應(yīng)用價值(如圖6所示)。系統(tǒng)運行結(jié)果表明,數(shù)據(jù)組織安全高效,功能較為完善,信息查詢方便快捷,實現(xiàn)了預期設(shè)計目標。
圖6 數(shù)字校園系統(tǒng)實現(xiàn)
基于富客戶端GIS技術(shù)實現(xiàn)的數(shù)字校園系統(tǒng)界面美觀友好,克服了傳統(tǒng)GIS開發(fā)中存在的交互性差、響應(yīng)速度慢等缺陷,顯著提高了系統(tǒng)可用性,加強了校園信息化建設(shè)。同時,在建設(shè)前期需進行詳細的系統(tǒng)分析與設(shè)計,搜集和整合現(xiàn)有資源,方能使系統(tǒng)達到預期效果。
[1]高翼生.當代高校校園規(guī)劃提示[J].新建筑,2002(4):10-12.
[2]曹小燕,孟志勇.基于GIS的校園信息化[J].北京測繪,2004(1):19-21.
[3]吳濤,戚銘堯,黎勇,等.WebGIS開發(fā)中的RIA技術(shù)應(yīng)用研究[J].測繪通報,2006(6):34-37.
[4]SMITH J.WPF Apps with the Model-View-ViewModel Design Pattern[DB/OL].[2012-04-16].http:∥msdn.microsoft.com/en-us/magazine/dd419663.aspx.
[5]程國雄,胡世清.基于 Silverlight的RIA系統(tǒng)架構(gòu)與設(shè)計模式研究[J].計算機工程與設(shè)計,2010,31(8):1706-1709.
[6]Microsoft.Silverlight Overview [EB/OL].[2012-04-20].http:∥msdn.microsoft.com/en-us/library.
[7]孫超,鐘珞.基于 Silverlight的富界面應(yīng)用研究[J].武漢理工大學學報,2008,30(12):101-103.
[8]張瑜.基于Flex和ArcGISServer的WebGIS設(shè)計與研究[D].南京:南京林業(yè)大學,2011.