摘要:本文將ArcIMS技術(shù)應(yīng)用于校園WebGIS查詢系統(tǒng)的開發(fā)過程,首先從系統(tǒng)的總體目標、總體結(jié)構(gòu)、系統(tǒng)功能和數(shù)據(jù)庫四個方面描述了系統(tǒng)的設(shè)計思想與過程,接著為系統(tǒng)的運行配置軟硬件環(huán)境并完成地圖服務(wù)的創(chuàng)建、設(shè)計和發(fā)布,最后利用ArcIMS定制HTML Viewer的瘦客戶端模式建立Web站點,由此開發(fā)和實現(xiàn)了系統(tǒng)的瀏覽、編輯及基本地圖操作等功能。
關(guān)鍵詞:WebGIS;ArcIMS;地圖服務(wù);查詢
中圖分類號:G202.271 文獻標識碼:A 文章編號:1007-9599 (2012) 15-0000-03
與傳統(tǒng)的單機或局域網(wǎng)的GIS相比,基于Internet技術(shù)的WebGIS可使用戶在Web任意節(jié)點中通過瀏覽器進行簡單易行的可視化查詢、瀏覽WebGIS站點的空間信息、制作各種需要的統(tǒng)計報表和統(tǒng)計專題圖以及發(fā)布地理空間數(shù)據(jù)等,并能夠進行相關(guān)的空間檢索與空間分析。ArcIMS作為一個在數(shù)據(jù)傳輸和瀏覽器端地圖操作方面表現(xiàn)優(yōu)異的WebGIS 應(yīng)用系統(tǒng)開發(fā)軟件,人們通過ArcIMS體系框架來搭建WebGIS應(yīng)用平臺則具有簡單實用、易于操作等特點。本文利用ArcIMS技術(shù)來設(shè)計實現(xiàn)一個基于服務(wù)的校園WebGIS查詢系統(tǒng),該系統(tǒng)實現(xiàn)了校園地理信息瀏覽、查詢、編輯及基本地圖操作等功能。
1 WebGIS查詢系統(tǒng)的設(shè)計
1.1 系統(tǒng)的總體目標
系統(tǒng)總體目標是以華南師范大學(xué)康大教育園區(qū)地圖數(shù)據(jù)庫為依據(jù)對象,對教育園區(qū)地理空間數(shù)據(jù)進行分層管理,使用戶通過任意網(wǎng)絡(luò)節(jié)點即可實現(xiàn)校園空間信息和屬性信息的瀏覽、查詢、空間選取、空間分析、縮放、測量以及顯示、打印統(tǒng)計報表、統(tǒng)計專題圖等功能;系統(tǒng)面向校園來訪的瀏覽器端用戶使用,為其提供交互式的地理信息服務(wù)以及相應(yīng)的網(wǎng)絡(luò)電子地圖服務(wù),要求系統(tǒng)運行安全、穩(wěn)定、可靠且能夠進行并發(fā)訪問;用戶可以通過電子地圖查詢定位目標、計算空間距離和進行路徑尋優(yōu)分析,使校園地圖數(shù)據(jù)庫能夠更好地為公眾服務(wù)。
1.2 系統(tǒng)的總體結(jié)構(gòu)
本W(wǎng)ebGIS查詢系統(tǒng)與教育園區(qū)內(nèi)各部門、各單位以及各終端用戶形成的局域網(wǎng)相連接,并通過路由器等設(shè)備與Internet連接起來,方便用戶通過網(wǎng)絡(luò)節(jié)點進行信息交換、空間信息數(shù)據(jù)的瀏覽以及相關(guān)信息的發(fā)布,同時有助于教育園區(qū)內(nèi)各行政、教學(xué)部門的統(tǒng)一管理。WebGIS查詢系統(tǒng)總體結(jié)構(gòu)如圖1所示。在分布式環(huán)境中運行的ArcIMS系統(tǒng),采用的是多層次的體系結(jié)構(gòu),主要構(gòu)成包括客戶端和服務(wù)器兩個部分。在本系統(tǒng)中處于核心樞紐的是ArcIMS空間服務(wù)器,大量的高負荷運算主要在這里完成,例如計算多個點之間的路徑距離;對大量的空間數(shù)據(jù)的處理,例如查找和檢索相匹配的地圖特征數(shù)據(jù)、創(chuàng)建影像文件等,對處理的結(jié)果如地圖、數(shù)據(jù)等轉(zhuǎn)化為正確的格式后傳遞給瀏覽器。ArcIMS應(yīng)用服務(wù)器對地圖服務(wù)以及運行著的ArcIMS空間服務(wù)器進行跟蹤和統(tǒng)一管理,并以此對來自客戶端的請求分配合適的ArcIMS空間服務(wù)器以及對應(yīng)的地圖服務(wù)。ArcIMS連接器一方面可作為Web服務(wù)器與ArcIMS應(yīng)用服務(wù)器連接的通道,另一方面可將來自不同類型的第三方服務(wù)引擎請求轉(zhuǎn)換為ArcXML格式后傳送給ArcIMS應(yīng)用服務(wù)器,并對ArcIMS應(yīng)用服務(wù)器處理的結(jié)果進行數(shù)據(jù)格式的轉(zhuǎn)換,形成正確的ArcXML格式或圖像格式后返回給瀏覽器。Web服務(wù)器對創(chuàng)建的Web頁面通過客戶端進行發(fā)布。ArcIMS管理器集成了三個獨立的工具:ArcIMS Author、ArcIMS Desiger、ArcIMS Administrator,通過它們既可以很方便的實現(xiàn)地圖服務(wù)的創(chuàng)建、設(shè)計和發(fā)布也可以進行遠程站點的管理。
當(dāng)客戶端向服務(wù)器發(fā)送查詢請求時,服務(wù)器接到請求后從數(shù)據(jù)庫中提取需要的空間數(shù)據(jù)和屬性數(shù)據(jù)并進行相應(yīng)的處理,之后將結(jié)果返回客戶端,由客戶端將所獲取的請求信息在終端用戶上顯示;Web服務(wù)器接受客戶端的數(shù)據(jù)請求,創(chuàng)建與地圖服務(wù)進行通訊的Web頁面并發(fā)布,將ArcIMS空間服務(wù)器處理的最終結(jié)果返回給用戶;通過ArcIMS連接器傳遞,ArcIMS應(yīng)用服務(wù)器接收到客戶端的請求后,為其分配合適的ArcIMS空間服務(wù)器以及對應(yīng)的地圖服務(wù);最后由ArcIMS空間服務(wù)器負責(zé)處理相應(yīng)的空間數(shù)據(jù)請求,并將地圖、數(shù)據(jù)等處理結(jié)果轉(zhuǎn)化為相應(yīng)的格式后返回客戶端。
1.3 系統(tǒng)的功能設(shè)計
本系統(tǒng)設(shè)計的主要功能就是實現(xiàn)WebGIS系統(tǒng)的校園地圖數(shù)據(jù)查詢,通過IE瀏覽器所提供的地圖顯示和系統(tǒng)的交互性能以及結(jié)合GIS對圖層控制和處理所具有的優(yōu)勢,系統(tǒng)的設(shè)計與開發(fā)功能包括:1.校園地圖數(shù)據(jù)的瀏覽與查詢。對校園地理空間數(shù)據(jù)的訪問,一方面把現(xiàn)有的地圖信息諸如園區(qū)道路狀況、道路布局、建筑物位置、教學(xué)區(qū)、宿舍區(qū)、各行政部門等地圖數(shù)據(jù)按某種方式進行分組管理,以便用戶查詢時能夠有的放矢,突出重點;另一方面,用戶進行系統(tǒng)查詢時瀏覽器的結(jié)果顯示中應(yīng)包含地理圖形信息與屬性信息的結(jié)合,這樣用戶在查詢空間信息時可同時獲取相關(guān)的屬性信息,反之亦然。兩者的結(jié)合有助于信息的互查與管理,既可顯示空間信息的屬性特征也可實現(xiàn)屬性信息的地理定位。用戶進行基本地圖操作應(yīng)具有如下功能:地圖分層瀏覽、縮放、漫游、回退、全幅顯示、距離測量、鷹眼導(dǎo)航、圖例圖層控制等;2.校園地圖數(shù)據(jù)的輸入輸出管理。在瀏覽器端輸入的請求數(shù)據(jù)以及服務(wù)器返回客戶端的空間信息和各種屬性數(shù)據(jù),能夠在終端用戶上顯示、瀏覽、標注和打印。例如:在瀏覽器端輸入校園地物屬性的查詢信息以及在輸出終端設(shè)備中顯示、打印統(tǒng)計報表、統(tǒng)計專題圖等信息;3.校園地圖數(shù)據(jù)的維護與后臺管理。為防止惡意攻擊對整個系統(tǒng)造成的破壞和影響,系統(tǒng)須對用戶訪問的權(quán)限提供合法性的校驗功能。系統(tǒng)的后臺數(shù)據(jù)維護與管理能夠?qū)崿F(xiàn)各種地理圖形數(shù)據(jù)和各種屬性數(shù)據(jù)的備份、還原、添加、修改等基本操作。
1.4 數(shù)據(jù)庫設(shè)計
本系統(tǒng)數(shù)據(jù)庫采用空間信息數(shù)據(jù)庫和非空間信息數(shù)據(jù)庫分別存儲的結(jié)合方式,非空間信息數(shù)據(jù)保存在SQL Server 2005數(shù)據(jù)庫中,空間信息數(shù)據(jù)庫存儲的是空間數(shù)據(jù)和屬性數(shù)據(jù),數(shù)據(jù)格式以ArcIMS的Shapefile和Coverage為主。非空間信息數(shù)據(jù)庫和空間信息數(shù)據(jù)庫通過地物對象序號id來連接和檢索,建立起來的數(shù)據(jù)庫通過中間件ArcSDE實現(xiàn)與ArcIMS的連接。
系統(tǒng)所有數(shù)據(jù)信息都通過ArcIMS組織,利用ArcIMS將數(shù)據(jù)按各層順序逐層疊加生成系統(tǒng)需要的AXL文件。對數(shù)據(jù)信息的錄入,分為空間信息數(shù)據(jù)的錄入和非空間信息數(shù)據(jù)的錄入兩種。本系統(tǒng)的非空間信息數(shù)據(jù)類似于圖書館的書目索引,是用來描述空間數(shù)據(jù)的名稱、存儲地址、類別等索引信息。對于空間信息數(shù)據(jù)的輸入可利用ArcMap來完成并由其來組織地圖數(shù)據(jù)。由于GIS地物類型所具有的復(fù)雜性,其所描述的屬性特征也會呈現(xiàn)多樣性。因此,對空間信息數(shù)據(jù)中屬性數(shù)據(jù)的錄入采用編輯、制作圖形時與空間數(shù)據(jù)一起輸入的方式,即將制作的多種專題圖與相同類別的屬性數(shù)據(jù)疊加在一起,以工程文件的形式保存。通過空間信息數(shù)據(jù)庫與非空間信息數(shù)據(jù)庫的關(guān)聯(lián)完成地圖數(shù)據(jù)庫的建立。本系統(tǒng)數(shù)據(jù)庫的設(shè)計,包括建筑物數(shù)據(jù)結(jié)構(gòu)、園區(qū)分布數(shù)據(jù)結(jié)構(gòu)、校園道路數(shù)據(jù)結(jié)構(gòu)等數(shù)據(jù)表的設(shè)計,下面以校園道路數(shù)據(jù)結(jié)構(gòu)表為例給出說明,其具體字段如下表2所示。
2 WebGIS查詢系統(tǒng)的實現(xiàn)
2.1 搭建系統(tǒng)運行平臺
基于本系統(tǒng)需要提供和實現(xiàn)并發(fā)訪問的服務(wù),對采用B/S結(jié)構(gòu)開發(fā)的校園WebGIS查詢系統(tǒng),為使其具有良好的請求處理速度及安全、穩(wěn)定、可靠的運行性能,本系統(tǒng)軟、硬件配置情況如下:
(1)軟件配置:服務(wù)器采用包含IIS的Windows Server 2003作為操作系統(tǒng);WebGIS服務(wù)器采用ArcIMS9.0;搭建Web技術(shù)應(yīng)用平臺:IIS6.0+j2sdk1.4.2+Servlet5.0;數(shù)據(jù)庫系統(tǒng)選用SQL Server 2005;地圖編輯軟件選用ArcGIS 9.0;使用Dreamweaver 8.0結(jié)合JavaScript腳本進行網(wǎng)頁編輯;客戶端采用操作系統(tǒng)Windows XP/7即可。
(2)硬件配置:采用戴爾服務(wù)器作為中心服務(wù)器;Cisco Catalyst 3550-12T交換機、Cisco 2651XM路由器各一臺;掃描儀、數(shù)字化儀和打印機。
完成配置后從服務(wù)器端啟動ArcIMS服務(wù),用戶在客戶端輸入URL地址即可瀏覽地圖、查詢空間信息。
2.2 生成矢量交通地圖
電子地圖是點、線、面等幾何圖形對象和對應(yīng)屬性數(shù)據(jù)的集合,將電子地圖進行矢量化處理而生成的矢量交通地圖,可為本系統(tǒng)提供基本的地理信息服務(wù),這個矢量地圖可以很好地應(yīng)用于我們的WebGIS查詢系統(tǒng)。在生成矢量地圖的過程中,首先將校園紙制的彩色地圖通過掃描的方式輸入到計算機中,通過道路識別的方法提取出校園地圖的道路、區(qū)域等信息以此生成黑白地圖,然后應(yīng)用地圖MapHandle矢量化軟件將所得到的線狀黑白地圖進行ArcGIS矢量化操作,提取出模式特征不同的圖層,接著通過MapEditor地圖編輯軟件將矢量化的地圖進行編輯和校正,添加地圖相關(guān)數(shù)據(jù),最后生成系統(tǒng)需要的矢量交通地圖。
由于系統(tǒng)需要實現(xiàn)地圖分析、地圖查詢等功能,因此在地圖矢量化過程中須對每一圖層進行嚴格建庫,把地圖空間數(shù)據(jù)和對應(yīng)的屬性數(shù)據(jù)以二維表的邏輯結(jié)構(gòu)形式建表并存儲到數(shù)據(jù)庫中。由ArcIMS管理器中的ArcIMS Author 工具所創(chuàng)建的AXL文件,可實現(xiàn)地圖定制、地圖投影、SQL查詢及專題地圖顯示等功能。AXL文件存儲了圖層數(shù)據(jù)的索引信息及顯示方式,并不真正存儲數(shù)據(jù)地圖。本系統(tǒng)基于ARCXML的配置文件AXL的部分代碼如下:
<?xml version=\"1.0\" encoding=\"UTF-8\"?>
……
…../.
……
在配置文件中,
2.3 創(chuàng)建和更新地圖服務(wù)
用戶根據(jù)選擇的地理數(shù)據(jù)通過Author來生成所需要的地圖。地圖文件生成之后,則通過地圖發(fā)布工具ArcIMS Administrator來創(chuàng)建和啟動地圖服務(wù),通過ArcIMS服務(wù)器將地圖文件作為一個服務(wù)進行發(fā)布。本系統(tǒng)使用的地圖服務(wù)方式為影像服務(wù)(Image Service),其所創(chuàng)建的影像服務(wù)就是根據(jù)AXL文件所定義的擬發(fā)布數(shù)據(jù)的視圖。
校園地理空間信息的發(fā)布有時會因校園道路或建筑物的改建而需要修改、添加或刪除相應(yīng)的空間信息,此時系統(tǒng)代碼也需要逐段進行修改,這樣導(dǎo)致了大量重復(fù)的工作。為解決這個問題,我們對系統(tǒng)數(shù)據(jù)的更新采用了Imagine或ArcInfo等工具軟件來更新和編輯圖形、圖像等空間數(shù)據(jù),然后將這些處理的數(shù)據(jù)直接關(guān)聯(lián)到非空間信息數(shù)據(jù)庫引擎中。由于在數(shù)據(jù)的更新過程中,所處理數(shù)據(jù)的文件名稱、圖層名字和屬性數(shù)據(jù)結(jié)構(gòu)等都沒有發(fā)生改變,因此系統(tǒng)仍然可以正常運行而不會受到任何影響。
2.4 系統(tǒng)界面的定制
安裝了Web Manager組件的ArcIMS Designer工具軟件不僅可以快速生成HTML或Java客戶端程序,還可以快速生成一個供用戶使用的Web地圖應(yīng)用程序。本系統(tǒng)采用基于Internet的瘦客戶端HTML Viewer模式。在 HTML Viewer中包含一組HTML頁和JavaScript文件,其中有一個重要的參數(shù)文件ArcIMSparam.js,里面包含了可以改變地圖服務(wù)、獲取站點布局、定義屬性字段顯示和修改工具條等一系列JavaScript變量。通過修改這些變量的取值,不但可以對站點外觀和工作方式產(chǎn)生影響,而且還可以實現(xiàn)更專業(yè)的Web站點定制。此外,使用ArcXML和JavaScript函數(shù)庫也可以實現(xiàn)系統(tǒng)功能的擴展和系統(tǒng)的深度定制。ArcXML可實現(xiàn)基本的地圖顯示和復(fù)雜的系統(tǒng)功能。例如ArcXML中的CONFIG元素可根據(jù)用戶給定的屬性數(shù)據(jù)和設(shè)定的圖層來進行地圖配置;REQUEST元素用來表示從客戶端向ArcIMS空間服務(wù)器發(fā)送操作請求。JavaScript函數(shù)庫包含有為數(shù)眾多的函數(shù)和全局變量,它們定義了用戶可操作的地圖功能。我們可以通過改寫或補充函數(shù)的方式來擴充JavaScript函數(shù)庫以添加對HTML Viewer的操作,從而完成定制和開發(fā)系統(tǒng)所需的功能。通過將擴充或改寫的函數(shù)進行歸類和功能分組,系統(tǒng)在使用JavaScript函數(shù)庫進行系統(tǒng)界面定制時,能夠達到簡易、快速、高效地完成HTML Viewer的定制。
2.5 系統(tǒng)基本地圖操作功能的實現(xiàn)
系統(tǒng)面向瀏覽器端用戶提供交互式的網(wǎng)絡(luò)電子地圖服務(wù),用戶可以對地圖圖形進行放大縮小、漫游、鷹眼、圖層控制與標注等基本操作以及實現(xiàn)雙向查詢、路徑尋優(yōu)和距離測量等功能。對地圖的縮放在不改變分辨率的情況下實現(xiàn)地圖的放大、縮小操作;圖層控制與標注可實現(xiàn)圖層選擇及著色標注等操作;雙向查詢可實現(xiàn)空間數(shù)據(jù)與屬性數(shù)據(jù)的相互查詢,查詢方式可采用條件查詢或非條件查詢。本系統(tǒng)SQL查詢代碼為:
case \"query\":
queryStartRecord=1;
if (canQuery) {
LayerFields.length=1;
LayerFieldType.length=1;
LayerFieldCount=0;
toolMode=8;
modeBlurb=modeList[15];
fieldIndex=0;
setQueryString=\"\";
hideLayer(\"measureBox\");
queryForm();
}
else {
alert(msgList[46]);
}
showGeocode=1;
showBuffer=1;
break;
路徑尋優(yōu)即是從初始位置開始從地圖中尋找最優(yōu)行進路徑并計算空間距離,給用戶提供最佳行進建議;距離測量則是通過系統(tǒng)提供的地圖測量工具進行多點距離的計算。本系統(tǒng)距離測量代碼為:
case \"measure\":
if (clickCount>0) {
if (totalMeasure==0) resetClick();
}
toolMode = 20;
setCursor(\"theTop\", \"crosshair\");
modeBlurb = modeList[12];
if (clickType==1) {
showLayer(\"measureBox\");
updateMeasureBox();
}
showGeocode=1;
break;
3 結(jié)束語
本文充分利用了ArcIMS技術(shù)強大的地圖處理、顯示、定位、距離測量等功能,圍繞校園地理空間數(shù)據(jù)查詢主題進行了較為深入的探索性研究與開發(fā)工作,初步完成了基于WebGIS的校園空間信息查詢系統(tǒng)平臺,實現(xiàn)了開發(fā)和創(chuàng)建具有地圖服務(wù)通訊功能的Web 頁面、制作和發(fā)布地圖,并進行有效的ArcIMS站點管理。系統(tǒng)采用瘦客戶端模式在Web上實現(xiàn)了地圖數(shù)據(jù)查詢業(yè)務(wù)中常用的目標查詢定位、空間距離計算和路徑尋優(yōu)分析等功能,大大提高了系統(tǒng)應(yīng)用的效用性和實用性。
參考文獻:
[1]彭法鑾,吳業(yè)福.基于WebGIS的電子地圖的設(shè)計與實現(xiàn)[J].交通與計算機,2006,24(1):125-126.
[2]周磊,劉強,戴昌禮,楊福斌.平樂古鎮(zhèn)旅游信息系統(tǒng)設(shè)計與實現(xiàn)[J].地理空間信息,2009,7(4),79-81.
[3]周濤,吳志偉,劉波.基于ArcIMS的交通基礎(chǔ)設(shè)施信息系統(tǒng)研建[J].地理信息論壇,2004,3.
[4]張長鎖,袁永博.基于WebGIS的校園地理信息系統(tǒng)的研究與應(yīng)用[J].地理空間信息,2008,6(2):108-111
[5]江利明,楊武年,韓玲玲.基于ArcIMS的校園WebGIS系統(tǒng)設(shè)計與實現(xiàn)_以數(shù)字成都理工大學(xué)為例[J].國土資源科技管理,2005.
[6]戴曉愛,葉際陽,簡季.基于B/S結(jié)構(gòu)的校園WebGIS設(shè)計與實現(xiàn)——以成都理工大學(xué)為例[J].測繪,2010,1.
[7]張書亮,閭國年.網(wǎng)絡(luò)地理信息系統(tǒng)[M].北京:科學(xué)出版社,2005,106-111.