郭力娜,崔 展,王曉紅
(河北聯(lián)合大學(xué) 礦業(yè)工程學(xué)院,河北 唐山063009)
隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展、空間技術(shù)的日新月異及計(jì)算機(jī)圖形學(xué)理論的日漸完善,GIS技術(shù)也日趨成熟,并逐漸被人們認(rèn)識和接受。然而,當(dāng)前GIS也處于急劇發(fā)展和變化之中,隨著技術(shù)的發(fā)展和市場的擴(kuò)張,GIS開始與其他IT應(yīng)用深度融合,信息技術(shù)的每一次進(jìn)步,都會給GIS帶來巨大影響,如PC之于桌面GIS,互聯(lián)網(wǎng)之于 WebGIS等,近幾年來在計(jì)算機(jī)領(lǐng)域出現(xiàn)的“云計(jì)算”更是產(chǎn)生了“云GIS”設(shè)計(jì)構(gòu)想[1-2]?!霸朴?jì)算”與GIS的結(jié)合也成為GIS領(lǐng)域里令人關(guān)注的技術(shù)方向之一[3]。
把“云計(jì)算”納入GIS領(lǐng)域的第一個(gè)應(yīng)用實(shí)例是由ESRI公司開發(fā)實(shí)現(xiàn)的ArcGIS10,它是第一次將GIS的應(yīng)用推向了云端[4]?!霸朴?jì)算”的興起和云GIS的發(fā)展,各類信息化建設(shè)也進(jìn)入了新的發(fā)展階段,智慧信息化階段,如智慧城市、智慧校園,其目的就是提供一個(gè)更加廣泛、安全、高校和環(huán)保的信息化系統(tǒng)。如智慧城市思想領(lǐng)導(dǎo)者IBM公司對智慧校園理念的定義:兩個(gè)充分,三化三提高。充分利用教學(xué)、科研的先發(fā)優(yōu)勢,充分利用信息及通信技術(shù),從物聯(lián)化、集成化、智能化出發(fā),提高教學(xué)科研水平,提高學(xué)校自身各項(xiàng)管理工作的效率、效果和效益,提高學(xué)校影響力,實(shí)現(xiàn)教育服務(wù)社會的職能,讓智慧校園成為智慧城市的有機(jī)的一部分[5],為廣大師生提供一個(gè)全面的智能感知環(huán)境和綜合信息服務(wù)平臺,提供基于角色的個(gè)性化定制服務(wù);同時(shí)將基于計(jì)算機(jī)網(wǎng)絡(luò)的信息服務(wù)融入學(xué)校的各個(gè)服務(wù)領(lǐng)域,實(shí)現(xiàn)互聯(lián)和協(xié)作;進(jìn)而通過智能感知環(huán)境和綜合信息服務(wù)平臺,為學(xué)校與外部世界提供一個(gè)相互交流和相互感知的接口。智慧校園的發(fā)展還離不開一個(gè)硬件設(shè)備,即移動通訊設(shè)備終端,而目前在移動通訊設(shè)備不斷更新?lián)Q代的今天,發(fā)展智慧校園的這一硬件基礎(chǔ)已基本具備。
基于上述發(fā)展趨勢和新技術(shù),為更好開拓GIS產(chǎn)品,本研究試借鑒利用云計(jì)算技術(shù),依托手機(jī)智能系統(tǒng)Window Phone平臺,并結(jié)合GIS技術(shù),設(shè)計(jì)手機(jī)校園GIS系統(tǒng),以其為智能校園建設(shè)提供一定參考和借鑒。
本設(shè)計(jì)預(yù)計(jì)完成的主要工作包括:(1)設(shè)計(jì)系統(tǒng)框架(采用WCF數(shù)據(jù)服務(wù)模式);(2)實(shí)現(xiàn)WCF框架下客戶端對服務(wù)端數(shù)據(jù)的訪問及操作;(3)實(shí)現(xiàn)手機(jī)端與GIS服務(wù)器ArcGIS Server10的信息交互。
本系統(tǒng)數(shù)據(jù)存放分為兩種:一是屬性數(shù)據(jù),二是空間數(shù)據(jù)??臻g數(shù)據(jù)類型包括地圖中的點(diǎn)、線、面等空間實(shí)體的圖形表達(dá)。本系統(tǒng)的空間數(shù)據(jù)比較簡單,主要是通過ArcGIS Desktop 10.0矢量化的校園地圖。屬性數(shù)據(jù)又分為三種存儲方式:1)保存在網(wǎng)站云端的數(shù)據(jù)(如校園新聞);2)保存在手機(jī)獨(dú)立存儲空間上的數(shù)據(jù)(如課程信息);3)來自于Google發(fā)布的 Web Service Reference數(shù)據(jù)(如天氣數(shù)據(jù))。
數(shù)據(jù)庫概念模型的表示方法很多,本系統(tǒng)設(shè)計(jì)中主要應(yīng)用的是實(shí)體聯(lián)系模型(E-R模型),數(shù)據(jù)庫的表結(jié)構(gòu)見圖1。
本系統(tǒng)主體功能主要包括校園新聞模塊(通過校園新聞模塊用戶可以時(shí)時(shí)獲得校園里的最新動態(tài))、課程安排模塊(用戶可以使用這個(gè)小模塊查看、記錄一周的課程安排信息)、校園地圖模塊(通過地圖讓用戶更直觀地了解校園)、我的日記模塊(用戶隨時(shí)隨地能夠記錄自己的學(xué)習(xí)生活,將數(shù)據(jù)保存到 WCF遠(yuǎn)程數(shù)據(jù)端)、最近天氣模塊(利用Google API查詢最近五天內(nèi)的天氣情況)等5個(gè)方面。設(shè)計(jì)的手機(jī)校園GIS系統(tǒng)用戶是在校師生,尤其是大一新生,目的是讓大一新生更快地適應(yīng)新的大學(xué)生活。本系統(tǒng)框架結(jié)構(gòu)與功能模塊劃分見圖2。
(1)開發(fā)環(huán)境的搭建。本系統(tǒng)開發(fā)需要安裝兩個(gè)關(guān)鍵開發(fā)工具:1)微軟 Windows Phone Developer Tools;2)ArcGIS API for Windows Phone。這兩個(gè)工具可以到相應(yīng)專業(yè)網(wǎng)站下載安裝。
(2)開發(fā)所用軟件平臺/技術(shù)。主要有 Visual Studio 2010旗艦版、ArcGIS Desktop 10,ArcGIS Server 10,ArcGIS API for Windows Phone,SQL Server 2008和 Microsoft Express Blend4。
本系統(tǒng)開發(fā)用到的主要技術(shù)有 Windows Phone[6-7]結(jié)構(gòu)和技術(shù)、WCF數(shù)據(jù)服務(wù)框架、XML數(shù)據(jù)存儲格式、Json數(shù)據(jù)傳 輸、REST 風(fēng) 格的 服 務(wù)[8-9]?;?于 Windows Phone平臺,以WCF為開發(fā)框架,并利用它來提供遠(yuǎn)程數(shù)據(jù)服務(wù),用相應(yīng)的方法對數(shù)據(jù)進(jìn)行增、刪、改、查等操作,同時(shí)進(jìn)一步簡單模擬云端;對于在手機(jī)獨(dú)立存儲空間中保存的部分?jǐn)?shù)據(jù)采用XML格式文件存儲;從其他網(wǎng)站獲得的數(shù)據(jù)分為XML格式和JSON格式兩種,用到REST(Representational State Transfer表述性狀態(tài)轉(zhuǎn)移)針對網(wǎng)絡(luò)應(yīng)用的設(shè)計(jì)和開發(fā)方式,以降低開發(fā)的復(fù)雜性,提高系統(tǒng)的可伸縮性[10-15]。
矢量化校園地圖用ArcGIS Server 10進(jìn)行發(fā)布,使用ArcGIS for Windows Phone API進(jìn)行開發(fā),進(jìn)而訪問 GIS服務(wù)器,瀏覽GIS服務(wù)器發(fā)布的MapService,RoutingService和GeometryService等服務(wù)來進(jìn)行空間查詢。通過Google發(fā)布的天氣預(yù)報(bào)Web Service訪問其天氣數(shù)據(jù),并進(jìn)行一定的美工將獲得的天氣數(shù)據(jù)展現(xiàn)在手機(jī)上。
數(shù)據(jù)庫主要通過SQL Server數(shù)據(jù)庫進(jìn)行數(shù)據(jù)建庫和數(shù)據(jù)存儲,地理信息系統(tǒng)主要采用 ArcGIS API for Windows Phone進(jìn)行移動端系統(tǒng)開發(fā)。
根據(jù)設(shè)置好的布局和模塊劃分,經(jīng)過UI設(shè)計(jì)美化后的界面見圖3。其中“校園手機(jī)通”為應(yīng)用程序名稱,“功能表”是本頁的頁標(biāo)題,其下是利用 Microsoft Express Blend工具制作的6個(gè)ImageButton,分別對應(yīng)系統(tǒng)的6個(gè)模塊,用戶進(jìn)入系統(tǒng)后可以瀏覽和選擇想要的系統(tǒng)功能。
校園新聞模塊分為兩個(gè)頁面,一個(gè)是呈現(xiàn)最近日期的新聞標(biāo)題,該數(shù)據(jù)通過查詢數(shù)據(jù)庫可得到,對應(yīng)數(shù)據(jù)庫中的NewsTable表;另一個(gè)是新聞內(nèi)容的詳細(xì)信息,當(dāng)用戶點(diǎn)擊新聞標(biāo)題時(shí)導(dǎo)航致該頁面,首先根據(jù)所點(diǎn)擊的新聞標(biāo)題查詢數(shù)據(jù)庫,然后將返回的新聞詳細(xì)信息顯示到第二個(gè)頁面中。
考慮到每個(gè)人課表的差異性,設(shè)計(jì)時(shí)將該模塊的數(shù)據(jù)保存到手機(jī)程序的獨(dú)立存儲空間中。該模塊由兩個(gè)頁面組成,一是課程信息瀏覽,可以通過左右滑動切換看到一周的課程安排,該頁的數(shù)據(jù)是通過讀取手機(jī)獨(dú)立存儲(手機(jī)本地存儲)中的XML文件得到的;二是課程編輯頁面,如果用戶第一次使用該系統(tǒng),點(diǎn)擊“課程安排”會首先跳轉(zhuǎn)到這個(gè)頁面。
本模塊主要是使用 ArcGIS for Windows Phone API進(jìn)行開發(fā),設(shè)計(jì)了三種地圖服務(wù),一種是MapService,可以進(jìn)行地圖的瀏覽和地物屬性信息的查看;一種是Network Analysis服務(wù),能夠進(jìn)行網(wǎng)絡(luò)分析;另外一種是GeometryService,可以提供緩沖區(qū)服務(wù)。地圖模塊主界面見圖4。
Map控件是 ArcGIS API for Windows Phone最基本的控件,所有能夠看見的與地圖有關(guān)的元素都將呈現(xiàn)在這個(gè)控件內(nèi)。但它本身是空的,所以需要給其中添加圖層。主要的圖層類型有:ArcGISTiledMapServiceLayer,它專門并且只能用于加載ArcGIS Server發(fā)布的經(jīng)過切片的緩存地圖服務(wù);與之相對應(yīng)的有ArcGISDynamicMapServiceLayer,專門并且只能用于加載ArcGIS Server發(fā)布的動態(tài)地圖服務(wù);ArcGISImageServiceLayer,用于加載 ArcGIS Server發(fā)布的影像服務(wù)。圖層中的Url屬性是一個(gè)地圖服務(wù)的REST方式的節(jié)點(diǎn),可通過ArcGIS Server的Service Directory查看。本設(shè)計(jì)中圖層的詳細(xì)信息及關(guān)系如圖5所示。
ArcGIS API中,提供了許多Task類,來完成一些常見的GIS功能,如屬性/控件查詢、幾何對象的拓?fù)涮幚?、特定工作流的地理任?wù)等。它們都是已經(jīng)封裝好的Task類,使用起來遵循3個(gè)步驟:為某個(gè)Task設(shè)置所需的相應(yīng)參數(shù);通過Task對象向服務(wù)器發(fā)送處理請求;接受服務(wù)器端返回的結(jié)果。按照上面3步可以完成路徑分析功能(見圖6)。查看地物信息功能通過手指點(diǎn)選地物查看地物詳細(xì)信息,該功能主要通過數(shù)據(jù)綁定實(shí)現(xiàn)的,即將選擇的地物的Name屬性綁定到InfoWindow的text屬性上顯示(地物查看實(shí)現(xiàn)見圖7)。模糊查詢功能通過用戶輸入的查詢關(guān)鍵字查詢所要查找的圖層的相關(guān)屬性字段的值,將設(shè)置好的FindParameters參數(shù)通過FindTask發(fā)送到服務(wù)器端進(jìn)行分析,將符合條件的地物要素以FindTask對象返回到客戶端,實(shí)現(xiàn)界面見圖8。緩沖區(qū)查詢就是利用QueryTask的空間查詢功能完成的,實(shí)現(xiàn)界面見圖9。
登錄可以使用該模塊,該模塊由5個(gè)頁面組成,首先是登錄頁面,有賬號和密碼的用戶可以直接輸入用戶名和密碼登錄,沒有注冊的可以點(diǎn)擊注冊跳轉(zhuǎn)到注冊頁面,當(dāng)用戶成功登錄或者成功注冊后就會跳轉(zhuǎn)到日記列表頁面,該頁面呈現(xiàn)用戶的所有日記,該頁面下有3個(gè)按鈕分別為添加日記、返回、幫助。
該模塊主要通過獲取Google發(fā)布的天氣預(yù)報(bào)Web Service Reference利用Google公布的API來實(shí)現(xiàn)的。模塊由四個(gè)頁面組成,首先進(jìn)入的是城市天氣列表頁面,用戶在這個(gè)頁面可以看到自己所選擇的所有城市的當(dāng)日天氣情況,點(diǎn)擊圖片按鈕首先是加載一個(gè)Loading頁面,加載完數(shù)據(jù)以后就會跳轉(zhuǎn)到所選城市的詳細(xì)天氣情況頁面,該頁面會呈現(xiàn)今天天氣的詳細(xì)信息和未來四天的天氣情況,在城市天氣列表頁面有編輯城市按鈕,點(diǎn)擊會跳轉(zhuǎn)到城市編輯頁面,用戶可以在該頁面添加刪除城市。
(1)關(guān)于開發(fā)平臺的選擇。目前手機(jī)操作系統(tǒng)眾多,本次設(shè)計(jì)選擇了Windows Phone為開發(fā)平臺,基于以下幾方面的考量:1)微軟的云+端戰(zhàn)略。Windows Azure是微軟自己的云平臺,拋開其優(yōu)劣,有一點(diǎn)可以肯定的是,它是微軟重金打造的戰(zhàn)略平臺,在未來數(shù)年內(nèi)會主導(dǎo)微軟其他產(chǎn)品的發(fā)展方向,微軟會不遺余力的推廣它。2)Windows Phone上有兩種開發(fā)架構(gòu),Silverlight和XNA。Silverlight和 WPF是微軟下一代的開發(fā)技術(shù),而XNA是微軟XBOX平臺上的游戲開發(fā)技術(shù)??梢姡徽撌荢ilverlight程序還是XNA的程序,基本上拿來就可在 Windows Phone上運(yùn)行,效果不打折扣,這得益于微軟統(tǒng)一的平臺策略。對于熟悉Silverlight或WPF的開發(fā)者來說,Windows Phone的開發(fā)門檻幾乎為零。
(2)關(guān)于開發(fā)移動GIS產(chǎn)品。GIS技術(shù)固然有其獨(dú)特的理論基礎(chǔ),但GIS的實(shí)際應(yīng)用離不開IT技術(shù),GIS應(yīng)用的發(fā)展更離不開主流IT技術(shù)的發(fā)展。GIS技術(shù)的應(yīng)用,從C/S到B/S,從SOAP到REST,從SOA到云,都印證了一說法。從臺式機(jī)到筆記本,從上網(wǎng)本到平板電腦和遍地開花的智能手機(jī),移動不僅是IT技術(shù)的發(fā)展趨勢之一,也是所有硬件的發(fā)展趨勢。
云計(jì)算的興起和云GIS的產(chǎn)生將服務(wù)端和客戶端這種開發(fā)模式推向了新的高潮,而隨著智能手機(jī)和平板電腦的普及都預(yù)示著移動不僅是硬件的發(fā)展趨勢更是IT的發(fā)展趨勢,而且手機(jī)隨身攜帶方便,隨著智能手機(jī)的手機(jī)系統(tǒng)功能越來越強(qiáng)大,手機(jī)CPU的處里能力越來越強(qiáng),手機(jī)已成了人們生活中不可缺少的一部分。因此以智能手機(jī)為移動端的GIS開發(fā)將會是未來GIS發(fā)展的主要趨勢之一。
(3)關(guān)于本產(chǎn)品設(shè)計(jì)。本系統(tǒng)是基于現(xiàn)在比較流行的Windows Phone手機(jī)操作,以智慧校園為背景,設(shè)計(jì)的手機(jī)校園GIS系統(tǒng),雖然系統(tǒng)的功能相對簡單,但卻是一次對未來智慧校園移動端很有意義的實(shí)踐,對智慧校園乃至智慧城市移動端開發(fā)也是一次有意義的探索。但本設(shè)計(jì)產(chǎn)品畢竟只是一個(gè)移動終端,還是需要依靠強(qiáng)大的服務(wù)端,如果學(xué)校有比較完備的關(guān)于學(xué)校設(shè)施的GIS數(shù)據(jù)庫,就可以利用移動終端開發(fā)出很多實(shí)用的功能,方便師生的學(xué)習(xí)生活。
[1]宋關(guān)福.云計(jì)算時(shí)代的 GIS技術(shù)發(fā)展漫談[EB/OL].http://www.supermap.com.cn/sup/xwtxpage.asp?orderID=420,2011-9-6.
[2]李少丹.“云 GIS”的發(fā)展趨勢分析[D].重慶:西南大學(xué),2011.
[3]ArcGIS云計(jì)算專題上線[EB/OL].http://www.esrichina-bj.cn/2011/1222/1623.html,2011-12-22.
[4]云計(jì)算及其在GIS中的發(fā)展[EB/OL].http://wenku.baidu.com/view/6331eac5bb4cf7ec4afed001.html,2011-12-22.
[5]程艷旗.浙江大學(xué)智慧型校園建設(shè)探索[EB/OL].http://www.edu.cn/html/info/c/cloud.shtml,2010-12-2.
[6]Windows Phone[EB/OL].http://baike.baidu.com/view/2708518.htm,2012-5-23.
[7]RIA[EB/OL].http://baike.baidu.com/view/706341.htm,2012-3-28.
[8]WCF[EB/OL].http://baike.baidu.com/view/1140438.htm,2012-4-9.
[9]WCF Web HTTP編程模型概述[EB/OL].http://msdn.microsoft.com/library/bb412172.aspx
[10]REST[EB/OL].http://baike.baidu.com/view/1077487.htm,2012-4-10.
[11]面向服務(wù)架構(gòu)[EB/OL].http://baike.baidu.com/view/6545280.htm,2012-5-14.
[12]開放數(shù)據(jù)協(xié)議 OData[EB/OL].http://www.oschina.net/p/odata,2011-6-21.
[13]OData[EB/OL].http://baike.baidu.com/view/3358034.htm,2010-3-22.
[14]JSON[EB/OL].http://baike.baidu.com/view/136475.htm,2012-5-30.
[15]可擴(kuò)展標(biāo)記語言[EB/OL].http://baike.baidu.com/view/63.htm,2012-5-23.