劉 凱
(湖北理工學(xué)院 計(jì)算機(jī)學(xué)院,湖北 黃石 435003)
隨著計(jì)算機(jī)信息技術(shù)和高等教育事業(yè)的高速發(fā)展,越來(lái)越多的高等院校開(kāi)始進(jìn)行各自數(shù)字化校園的建設(shè)。數(shù)字化校園是以互聯(lián)網(wǎng)絡(luò)為基礎(chǔ),利用先進(jìn)的信息化方法和軟、硬件工具,實(shí)現(xiàn)從學(xué)校資源、校園環(huán)境到師生活動(dòng)的全面數(shù)字化。數(shù)字化校園是各類校園應(yīng)用系統(tǒng)、管理系統(tǒng)、辦公系統(tǒng)的集成[1]。
WebGIS是GIS技術(shù)與Web技術(shù)集成的產(chǎn)物,它繼承了GIS的部分功能,側(cè)重于地理信息與空間處理的共享,是一個(gè)基于Web計(jì)算平臺(tái)實(shí)現(xiàn)地理信息處理與地理信息分布的網(wǎng)絡(luò)化軟件系統(tǒng)。與傳統(tǒng)的GIS技術(shù)相比,它具有訪問(wèn)范圍廣、平臺(tái)獨(dú)立、大規(guī)模降低系統(tǒng)成本、維護(hù)及升級(jí)方便等特點(diǎn);在運(yùn)行環(huán)境上,WebGIS基于Web計(jì)算平臺(tái),運(yùn)行于Internet多用戶并發(fā)訪問(wèn)的分布式環(huán)境;在技術(shù)上,WebGIS是GIS發(fā)展與組件技術(shù)、互操作技術(shù)、分布式技術(shù)的集成。隨著地理信息互操作和Web服務(wù)技術(shù)的發(fā)展,WebGIS技術(shù)已經(jīng)從初始的在Web上簡(jiǎn)單地發(fā)布地理信息轉(zhuǎn)換成為實(shí)現(xiàn)地理信息互操作和地理信息Web服務(wù)的關(guān)鍵技術(shù)[1]。
利用WebGIS系統(tǒng)直觀易用、交互性強(qiáng)、分布式管理等特點(diǎn),將它作為數(shù)字化校園的平臺(tái)載體具有較強(qiáng)的實(shí)用性,可以提供良好的用戶體驗(yàn)。本文主要設(shè)計(jì)了一個(gè)基于WebGIS的數(shù)字校園平臺(tái)模型,其中包含了地理信息系統(tǒng)的結(jié)構(gòu)、原理以及部署應(yīng)用方法;探討了如何在GIS系統(tǒng)軟件上進(jìn)行圖形矢量化及數(shù)據(jù)入庫(kù)等數(shù)據(jù)生產(chǎn)工作、空間數(shù)據(jù)庫(kù)的建立和應(yīng)用方法、地理信息發(fā)布平臺(tái)的搭建方式、基于Silverlight技術(shù)的GIS應(yīng)用程序接口等內(nèi)容[2]。
WebGIS平臺(tái)將對(duì)整個(gè)校園資源進(jìn)行統(tǒng)一整合,為各類應(yīng)用管理系統(tǒng)提供鏈接接口,此外WebGIS系統(tǒng)本身必須具備以下功能:
1)地圖瀏覽功能:地圖放大、縮小功能和地圖漫游功能。
2)信息查詢功能:查詢結(jié)果顯示功能和查詢結(jié)果定位功能。
3)標(biāo)注測(cè)距功能:地圖標(biāo)注功能和地圖測(cè)距功能。
4)圖層開(kāi)關(guān)控制功能:允許用戶控制每個(gè)圖層是否顯示。
系統(tǒng)由服務(wù)器端和客戶端2部分構(gòu)成,服務(wù)器端包括數(shù)據(jù)庫(kù)服務(wù)器和Web服務(wù)器,數(shù)據(jù)庫(kù)服務(wù)器安裝有Window服務(wù)器版本操作系統(tǒng)和SQL Server數(shù)據(jù)庫(kù)管理系統(tǒng)。Web服務(wù)器同樣需要Windows服務(wù)器版本操作系統(tǒng)并安裝和配置IIS信息服務(wù)。為了連接數(shù)據(jù)庫(kù)和發(fā)布空間數(shù)據(jù),Web服務(wù)器還需要安裝ArcSDE數(shù)據(jù)引擎和ArcGIS Server軟件。
客戶計(jì)算機(jī)為普通個(gè)人計(jì)算機(jī),安裝有Web瀏覽器Silverlight運(yùn)行時(shí)環(huán)境。客戶端計(jì)算機(jī)需要具有與Web服務(wù)器較高速的網(wǎng)絡(luò)連接。服務(wù)器及客戶端軟件構(gòu)架圖如圖1所示。
圖1 服務(wù)器及客戶端軟件構(gòu)架圖
本文中討論的校園WebGIS平臺(tái)所需要的數(shù)據(jù)為湖北理工學(xué)院及其校園周邊的地理信息數(shù)據(jù)。通過(guò)Google衛(wèi)星遙感影像進(jìn)行矢量化操作,可以將柵格形式的衛(wèi)星地圖轉(zhuǎn)換成為ArcGIS可以接受并存儲(chǔ)在空間數(shù)據(jù)庫(kù)中的矢量數(shù)據(jù)。
計(jì)算機(jī)中顯示的圖形一般可以分為2大類:矢量圖和位圖,位圖也稱為柵格圖。矢量圖使用直線和曲線來(lái)描述圖形,這些圖形的元素是一些點(diǎn)、線、矩形、多邊形、圓和弧線等,它們都是通過(guò)數(shù)學(xué)公式計(jì)算獲得的。由于矢量圖形可通過(guò)公式計(jì)算獲得,所以矢量圖形文件體積一般較小。矢量圖形最大的優(yōu)點(diǎn)是進(jìn)行放大、縮小或旋轉(zhuǎn)等都不會(huì)失真。
柵格圖像也稱光柵圖像、柵格圖形,是指在空間和亮度上都已經(jīng)離散化了的圖像??梢园岩环鶘鸥駡D像考慮為一個(gè)矩陣,矩陣中的任一元素對(duì)應(yīng)于圖像中的一個(gè)點(diǎn),而相應(yīng)的值對(duì)應(yīng)于該點(diǎn)的灰度級(jí),數(shù)字矩陣中的元素叫做像素。數(shù)字圖像與馬賽克拼圖相似,是由一系列像素組成的矩形圖案,如果所有的像素有且僅有2個(gè)灰度級(jí)(黑或白),則稱其為二值圖像,即柵格圖像[3]。
Google所提供的衛(wèi)星遙感影像為柵格圖像,這些圖像無(wú)法直接導(dǎo)入至空間數(shù)據(jù)庫(kù)中。使用Google開(kāi)發(fā)的地球衛(wèi)星圖瀏覽軟件“Google Earth”可以瀏覽和處理地球衛(wèi)星影像圖。
在Google Earth中,放大圖像并定位至湖北理工學(xué)院區(qū)域,點(diǎn)擊軟件工具欄中的“新建”多邊形按鈕,當(dāng)鼠標(biāo)變成田字框時(shí),按住鼠標(biāo)左鍵不動(dòng),拖動(dòng)成研究區(qū)的形狀,盡量保持多邊形區(qū)域與衛(wèi)星圖像輪廓吻合。完成后將多邊形保存為KML格式的文件。Google Earth衛(wèi)星圖像矢量化如圖2所示,使用多邊形勾畫出湖北理工學(xué)院的校園輪廓,并保存為KML文件。KML文件中保存了多邊形的矢量化特征,通過(guò)這樣的方法,就可以將柵格衛(wèi)星圖上的指定部分進(jìn)行矢量化。
圖2 Google Earth衛(wèi)星圖像矢量化
根據(jù)數(shù)據(jù)庫(kù)的概念設(shè)計(jì),將整個(gè)校區(qū)的地理對(duì)象分為:建筑物(如教學(xué)樓、院系辦公樓、體育場(chǎng)館等)、綠地、停車場(chǎng)、道路、管線、通信接口等圖層。
根據(jù)數(shù)據(jù)的數(shù)據(jù)形態(tài)將基礎(chǔ)數(shù)據(jù)庫(kù)中的數(shù)據(jù)分為點(diǎn)狀數(shù)據(jù)、線狀數(shù)據(jù)和面狀數(shù)據(jù)。
1)點(diǎn)狀數(shù)據(jù):主要包括能夠反映湖北理工學(xué)院的基礎(chǔ)設(shè)施建設(shè)信息的圖層數(shù)據(jù)。
2)線狀數(shù)據(jù):主要包括道路交通線這一類信息,大路中心線圖層主要是用單線段代替?zhèn)鹘y(tǒng)意義上的雙線道路,這樣的表達(dá)方式使得數(shù)據(jù)查找方便、圖形美觀。
3)面狀數(shù)據(jù):主要包括能反映區(qū)域特征的面狀信息的數(shù)據(jù),其中,校內(nèi)、校外片區(qū)圖層表達(dá)的空間信息能夠反映出微觀區(qū)位條件下區(qū)域特征。具體圖層分類及命名如表1所示。
通過(guò)制定統(tǒng)一的分類代碼標(biāo)準(zhǔn),將多格式基礎(chǔ)地理信息數(shù)據(jù)統(tǒng)一整理轉(zhuǎn)換進(jìn)行入庫(kù)形成統(tǒng)一的數(shù)據(jù)庫(kù)的過(guò)程稱為數(shù)據(jù)入庫(kù)。數(shù)據(jù)入庫(kù)要經(jīng)過(guò)規(guī)范及標(biāo)準(zhǔn)的制定、基礎(chǔ)地理信息數(shù)據(jù)整理、基礎(chǔ)地理信息數(shù)據(jù)檢查等步驟。嚴(yán)格按照地理信息數(shù)據(jù)入庫(kù)的步驟可以最大程度地保持源數(shù)據(jù)的完整性和準(zhǔn)確性。
在本系統(tǒng)的開(kāi)發(fā)過(guò)程中,數(shù)據(jù)入庫(kù)的操作主要是通過(guò)程序?qū)ML文件中的地理矢量信息在ArcMap中進(jìn)行重繪,并將圖形存放到元素相對(duì)應(yīng)的圖層中。
表1 圖層分類及命名
在ArcToolbox的轉(zhuǎn)換工具(Conversion Tools)中選擇由KML轉(zhuǎn)出(From KML),再選擇KML轉(zhuǎn)圖層工具(KML to Layer)。此工具將會(huì)把KML或KMZ文件的數(shù)據(jù),轉(zhuǎn)換到FileGDB中的數(shù)據(jù)集中,數(shù)據(jù)的展現(xiàn)符號(hào)化等信息存儲(chǔ)在同名的圖層文件(.lyr)中。
將校園各個(gè)要素圖層導(dǎo)入,需要填寫物標(biāo)相應(yīng)字段的信息,為道路物標(biāo)填寫相應(yīng)的屬性。
對(duì)圖形進(jìn)行修整和接邊處理后,圖形就可以提交保存至空間數(shù)據(jù)庫(kù)中。圖形編輯完成后整體效果如圖3所示。
圖3 圖形編輯完成效果
數(shù)據(jù)庫(kù)作為空間數(shù)據(jù)的管理和控制中心在整個(gè)系統(tǒng)中顯得至關(guān)重要,正確的安裝和配置數(shù)據(jù)庫(kù)管理系統(tǒng)可以提高整個(gè)系統(tǒng)的穩(wěn)定性和安全性。數(shù)據(jù)庫(kù)軟件選擇Microsoft SQL Server 企業(yè)版本進(jìn)行搭建。數(shù)據(jù)庫(kù)的安裝根據(jù)安裝向?qū)Ъ纯赏瓿?。?shù)據(jù)庫(kù)安裝完畢后需要在SQL Server Configuration Manager中配置網(wǎng)絡(luò)連接的參數(shù),主要是在設(shè)置中啟用對(duì)TCP/IP協(xié)議的支持,配置完畢后可以在命令提示符下使用netstat命令檢查3306端口是否處于開(kāi)放狀態(tài)[4]。
ArcGIS Server將地理數(shù)據(jù)以服務(wù)的形式發(fā)布,供上層應(yīng)用訪問(wèn)。服務(wù)的發(fā)布如果配置不正確將導(dǎo)致上層應(yīng)用無(wú)法讀取地理信息數(shù)據(jù)。ArcGIS Server根據(jù)平臺(tái)語(yǔ)言劃分為.Net和Java 2個(gè)版本,由于Silverlight是基于.Net平臺(tái)的組件,所以需要安裝.Net版本ArcGIS Server[5]。安裝過(guò)程中需要新建SOM用戶作為安全訪問(wèn)控制用戶,使用此用戶可以登錄ArcGIS Server Manager和REST服務(wù)管理器。
發(fā)布服務(wù)可以通過(guò)ArcGIS Server Manager和ArcGIS Catalog來(lái)實(shí)現(xiàn)。
客戶端使用Microsoft Visual Studio開(kāi)發(fā),需要安裝Silverlight SDK和Silverlight開(kāi)發(fā)運(yùn)行時(shí)環(huán)境,以提供Silverlight應(yīng)用程序的開(kāi)發(fā)和調(diào)試功能。開(kāi)發(fā)時(shí)需要先建立一個(gè)Web應(yīng)用程序作為Silverlight應(yīng)用程序的容器,開(kāi)發(fā)完成后,編譯好的Silverlight應(yīng)用程序可以嵌入到任何已存在的網(wǎng)頁(yè)中運(yùn)行[6]。Silverlight應(yīng)用程序源代碼由前臺(tái)XAML資源描述文件和CS后臺(tái)邏輯代碼組成。
通過(guò)服務(wù)器端和客戶端的設(shè)置,可具體實(shí)現(xiàn)以下功能:
1)信息查詢功能。地圖查詢功能提供一個(gè)搜索框,用戶在搜索框中輸入感興趣的關(guān)鍵字,點(diǎn)擊按鈕后將查詢結(jié)果顯示在列表框中,點(diǎn)擊列表框中的信息后將查詢結(jié)果所在位置在地圖中以高亮顯示。
2)地圖瀏覽功能。地圖瀏覽功能是本系統(tǒng)的主要功能,為用戶提供基本的地圖瀏覽、放大縮小、漫游功能。使用ESRI Silverlight SDK中提供的地圖控件ESRI:Map作為地圖容器。在地圖容器中嵌套層容器,并指定地圖服務(wù)REST接口的URL地址作為顯示地圖的源。
3)標(biāo)注測(cè)距功能。此功能的實(shí)現(xiàn)原理是在繪圖層中繪制一條折線,并獲取折線的起始和終止點(diǎn)的坐標(biāo)信息,通過(guò)屏幕坐標(biāo)到地理坐標(biāo)的換算關(guān)系計(jì)算出折線所代表的實(shí)際距離。
4)圖層開(kāi)關(guān)控制功能。圖層開(kāi)關(guān)控制功能提供圖層列表,通過(guò)選擇或取消選擇圖層名前的選擇框?qū)崿F(xiàn)控制圖層開(kāi)關(guān)的功能。圖層控制的核心控件是一個(gè)列表控件,通過(guò)讀取地圖信息獲取圖層名稱。
以ArcGIS為基礎(chǔ)的地理信息系統(tǒng)解決方案功能強(qiáng)大、擴(kuò)展性強(qiáng),在大型系統(tǒng)開(kāi)發(fā)中具有很廣泛的應(yīng)用前景。利用WebGIS技術(shù)將校園信息發(fā)布到網(wǎng)上,方便了學(xué)生、教師及校外人士對(duì)校園信息的查詢,使其如同置身于校園中一般,從而提高師生的工作和學(xué)習(xí)效率,增加學(xué)校的知名度,給學(xué)校的各項(xiàng)運(yùn)轉(zhuǎn)維護(hù)工作帶來(lái)很大方便,可為學(xué)校創(chuàng)造可觀的社會(huì)效益。
參考文獻(xiàn)
[1] 馮恒棟,杜會(huì)石,雷軍.基于ArcGIS Server的數(shù)字校園系統(tǒng)設(shè)計(jì)[J].國(guó)土與自然資源研究,2013(2):40-42.
[2] 楊波,謝瑞蓮.基于WebGIS的數(shù)字咸陽(yáng)師范學(xué)院建設(shè)構(gòu)想[J].測(cè)繪與空間地理信息,2011,34(4):26-28,33.
[3] 張瑞軍,姜雪嬌,曾維周,等.一種基于WebGIS的網(wǎng)絡(luò)地圖數(shù)據(jù)采集方法研究[J].測(cè)繪科學(xué),2014,23(2):24-28.
[4] 徐卓揆.基于HTML5、Ajax和Web Service的WebGIS研究[J].測(cè)繪科學(xué),2012,37(1):145-147.
[5] 金靖.基于ArcGIS Engine的地理信息系統(tǒng)二次開(kāi)發(fā)原理和方法[J].測(cè)繪與空間地理信息,2012(3):46-49.
[6] 謝文軍.基于Silverlight的WebGIS開(kāi)發(fā)[J].測(cè)繪與空間地理信息,2013,36(7):94-96.