韓 寧,李 威
(1.湖南工程學(xué)院 計(jì)算機(jī)與通信學(xué)院,湘潭411104;2.湖南工程學(xué)院 應(yīng)用技術(shù)學(xué)院,湘潭411104)
隨著 “3S”集成技術(shù)的迅猛發(fā)展,GIS作為“3S”集成技術(shù)的核心,其應(yīng)用和開發(fā)必將廣泛增加,有著重要的研究意義.地理信息系統(tǒng)(Geographic Information System,GIS)是一種具有采集、傳輸、存儲(chǔ)、管理、處理、分析、表達(dá)等相關(guān)地理空間數(shù)據(jù)的計(jì)算機(jī)系統(tǒng).由于互聯(lián)網(wǎng)技術(shù)的迅速發(fā)展與普及使得GIS的技術(shù)也發(fā)生了質(zhì)的變化.基于網(wǎng)絡(luò)的地理信息系統(tǒng)(WebGIS)由此而誕生.互聯(lián)網(wǎng)成為GIS新的操作平臺(tái).
設(shè)計(jì)開發(fā)的湖南工程學(xué)院校園地理信息系統(tǒng)可作為校園數(shù)字化建設(shè)的一部分,不僅為學(xué)生的學(xué)習(xí)、生活提供方便,還可以與傳統(tǒng)的管理信息系統(tǒng)相結(jié)合,利用GIS提供的空間管理和空間分析功能去解決常規(guī)管理方法難以解決的許多問題.本文是結(jié)合湖南工程學(xué)院的實(shí)際情況,設(shè)計(jì)與實(shí)現(xiàn)校園地理信息系統(tǒng),并對(duì)WebGIS進(jìn)行相關(guān)研究和探討.
目前WebGIS的相關(guān)研究與系統(tǒng)開發(fā)主要表現(xiàn)為三種途徑:一是基于GIS系統(tǒng)平臺(tái)的開發(fā)模式;二是基于GIS組件的集成開發(fā)模式;三是完全自主的開發(fā)模式;這三種方式各有其特點(diǎn);結(jié)合本系統(tǒng)設(shè)計(jì)和集成要求,我們采用Microsoft Visio Studio平臺(tái)利用C#語言和ESRI公司的ArcGIS產(chǎn)品進(jìn)行二次開發(fā).
本系統(tǒng)的設(shè)計(jì)目的是建立在學(xué)校地理空間基礎(chǔ)上,集地圖、標(biāo)記等管理一體化的校園管理信息系統(tǒng),將學(xué)校的各個(gè)組成部分模塊化,把學(xué)校的所有信息集中在統(tǒng)一的信息平臺(tái)上,為整個(gè)學(xué)校的發(fā)展以及資源有效利用等決策性問題提供信息上的支持.同時(shí)也方便廣大師生查詢所需地理位置和導(dǎo)航服務(wù)信息.該系統(tǒng)的任務(wù)是實(shí)現(xiàn)“任意面積、任意距離的計(jì)算”、“最優(yōu)路徑選擇方案”和 “任意地點(diǎn)的查詢”等目標(biāo).
更重要的是其具有很高的實(shí)用價(jià)值,比如,師生和校外人員通過互聯(lián)網(wǎng)即可查詢校園的基本設(shè)施位置情況,學(xué)校教學(xué)資源使用情況等.尤其是讓新生在短時(shí)間里熟悉學(xué)校環(huán)境有突出的優(yōu)勢(shì),為校園數(shù)字化建設(shè)貢獻(xiàn)力量.
具體設(shè)計(jì)思路如圖1所示.
圖1 系統(tǒng)設(shè)計(jì)思路
用戶通過Web瀏覽器向Web服務(wù)器發(fā)送空間請(qǐng)求,Web服務(wù)器將請(qǐng)求發(fā)送給Map服務(wù)器,而后Map服務(wù)器與數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互,再將結(jié)果通過Web服務(wù)器以HTML的形式反饋給Web瀏覽器.
(1)通過配置 Web服務(wù)器,利用ASP.NET技術(shù)編寫實(shí)現(xiàn)動(dòng)態(tài)頁面,瀏覽器通過發(fā)送空間請(qǐng)求,與Web服務(wù)器進(jìn)行連接.
(2)利用SQL server數(shù)據(jù)庫軟件建立屬性信息數(shù)據(jù)庫,用來管理校園信息資料的屬性數(shù)據(jù).
Ajax(Asynchronous JavaScript and XML),即異步JavaScript和XML技術(shù).
Ajax技術(shù)真正的作用使瀏覽器可以為用戶提供更為自然的瀏覽體驗(yàn).WebGIS往往需要頻繁地與服務(wù)器進(jìn)行交互,不刷新頁面就能獲得數(shù)據(jù),可以大大減少響應(yīng)的時(shí)間,Ajax的特點(diǎn)正好符合這種需求.
實(shí)際上,Ajax是由幾種技術(shù)組合而成,并不是一項(xiàng)新的技術(shù).其工作原理相當(dāng)于在用戶和服務(wù)器之間加了-個(gè)中間層,使用戶操作與服務(wù)器響應(yīng)異步化.Ajax包含:基于XHTML和CSS標(biāo)準(zhǔn)的表示,另外其使用Document Object Model進(jìn)行動(dòng)態(tài)顯示和交互,并使用XMLHttpRequest與 Web服務(wù)器進(jìn)行異步通信.它允許用戶和應(yīng)用程序之間的交互異步發(fā)生,用戶在提交相應(yīng)的操作后,無須等待頁面刷新,可以繼續(xù)做其他操作,由于具有上述特點(diǎn),Ajax目前應(yīng)用最普遍的領(lǐng)域是 WebGIS方面.
ArcGIS Server是一個(gè)分布式系統(tǒng),由分布在多臺(tái)或一臺(tái)機(jī)器上的各個(gè)角色協(xié)同工作如圖2所示.一般來講GIS Server包含兩個(gè)部分,SOM(Server Object Manager,服務(wù)器對(duì)象管理器)和SOCs(Server Object Containers,服務(wù)器對(duì)象容器).SOM用于管理運(yùn)行在服務(wù)器上的所有服務(wù).一個(gè)SOM連接一個(gè)或多個(gè)SOC.當(dāng)客戶端發(fā)來請(qǐng)求時(shí),SOM通過分配以后,由某個(gè)SOC來負(fù)責(zé)完成.
其具有如下特點(diǎn):①ArcGIS Server具有靈活的編輯和強(qiáng)大的分析能力.② 通過客戶端瀏覽器也可以享受到高級(jí)的GIS服務(wù).③由于ArcGIS Server采用分布式組件技術(shù),可以將大量用戶的并發(fā)訪問均衡地分配到多個(gè)服務(wù)器上,提高響應(yīng)速度.
圖2 Ajax系統(tǒng)圖
由于ArcGIS Server強(qiáng)大的二次開發(fā)功能方式和靈活性,其實(shí)現(xiàn)最短路徑方法有多種 ,這里以輸入最短路徑起止點(diǎn)名稱查找其間最短路徑為例說明使用ArcGIS Server提供的ADF控件及方法實(shí)現(xiàn)最短路徑.其具體流程可分為以下三個(gè)步驟:獲取網(wǎng)絡(luò)分析服務(wù);取得網(wǎng)絡(luò)分析參數(shù);設(shè)置網(wǎng)絡(luò)分析參數(shù).
2.3.1 網(wǎng)絡(luò)分析服務(wù)
通過MapResourceManager控件將已經(jīng)發(fā)布的“ROUTE_SERVICE_NAME”服務(wù)加載進(jìn)程序 ,然后通過MapResourceManager控件與Map控件進(jìn)行綁定.程序中獲取網(wǎng)絡(luò)數(shù)據(jù)的方法為:
NAServerProxy naServerProxy=NAServer-Proxy.Create(SERVER _NAME ,“ROUTE_SERVICE_NAME”,null);
其中,NAServerProxy是ArcGIS Server
ADF提供的實(shí)現(xiàn)網(wǎng)絡(luò)分析的主要類.
private void ViewMap_OnMouseDown
(object sender,ESRI.ArcGIS.MapControl.IMapControlEvents2_OnMouseDownEvent e)
//獲取地圖上鼠標(biāo)輸入的點(diǎn)
2.3.2 頁面請(qǐng)求獲取地址參數(shù)
對(duì)于地址參數(shù)的獲取即對(duì)所定義的search()即為所加按鈕的onclick對(duì)應(yīng)的函數(shù)使用AJAX技術(shù).程序如下:
2.3.3 設(shè)置網(wǎng)絡(luò)分析參數(shù)
最短路徑分析功能主要是通過ADF控件中的NAServerProxy類實(shí)現(xiàn)的.
關(guān)鍵程序如下:
通過以上相關(guān)技術(shù)的探索和研究 ,可以初步實(shí)現(xiàn)WebGIS的相關(guān)功能.
通過本系統(tǒng)可以實(shí)現(xiàn)要素查詢、模糊查詢、以及空間查詢,不管是通過這三種查詢方式中的任意一種,系統(tǒng)都會(huì)將查詢的信息顯示給用戶,同時(shí)還可以實(shí)現(xiàn)任意面積、任意距離的計(jì)算以及對(duì)所提供的圖層進(jìn)行任意放大和縮小功能、地圖的漫游功能,可以對(duì)地圖中需要重點(diǎn)觀察的區(qū)域,進(jìn)行局部放大,同時(shí)也可以選擇放大的倍數(shù)、圖層管理以及地圖的輸出打印功能,效果圖如圖3所示.
圖3 系統(tǒng)效果圖
隨著WebGIS與3S的發(fā)展,可將無線通信技術(shù)、計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)、3D技術(shù)等結(jié)合,地理信息系統(tǒng)及數(shù)字校園的發(fā)展必將進(jìn)一步深入與完善.
校園地理信息系統(tǒng)可以結(jié)合學(xué)校教務(wù)處的學(xué)生成績(jī)、選課,后勤處的地下線纜管理,人事處的人事管理以及校團(tuán)委的學(xué)生活動(dòng),服務(wù)于高校的規(guī)劃和建設(shè),可為學(xué)校的數(shù)字化發(fā)展做出一定的貢獻(xiàn).
[1] 朱振華,趙 剛,馮 強(qiáng),ARCGIS三維數(shù)字校園系統(tǒng)的設(shè)計(jì)與開發(fā)[J].軟件導(dǎo)刊,2007(17).
[2] 劉 南,劉仁義,WebGIS原理及其應(yīng)用——主要WebGIS平臺(tái)開發(fā)實(shí)例[M].科學(xué)出版社,2002.6.
[3] 烏口倫,劉 瑜,等.地理信息系統(tǒng)——原理、方法和應(yīng)用[M].科學(xué)出版社,2001.
[4] 李金亮.基于ArcGISServer與.NET的 WebGIS服務(wù)研究[D].重慶大學(xué)碩士論文,2012.
[5] 薛 雷,李 琳,王龍鶴,等.基于ArcGIS Server和Ajax的WebGIS系統(tǒng)開發(fā)[J].農(nóng)業(yè)網(wǎng)絡(luò)信息,2008(7).
[6] 陳宏飛,等.基于SVG與Ajax技術(shù)的 WebGIS的研究與設(shè)計(jì)[J].陜西師范大學(xué)學(xué)報(bào),2009(6).