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