王 琦 劉媛媛 萬 慶 陳文學(xué) 穆祥鵬
摘要:南水北調(diào)中線工程是我國最大的調(diào)水工程,其干線工程沿線建筑物眾多,運(yùn)行工況復(fù)雜。開發(fā)南水北調(diào)中線干線工程WebGIS系統(tǒng)能夠作為工程調(diào)度運(yùn)行的管理平臺(tái),提高系統(tǒng)運(yùn)行調(diào)度的信息管理水平。此外,該系統(tǒng)可在Internet發(fā)布工程地圖信息,供社會(huì)公眾瀏覽、查詢,更好地為社會(huì)經(jīng)濟(jì)服務(wù)。介紹了南水北調(diào)中線干線工程的WebGIS系統(tǒng),該系統(tǒng)是根據(jù)南水北調(diào)中線工程的特點(diǎn)采用Java為語言和Ajax技術(shù)以服務(wù)器動(dòng)態(tài)緩存地圖的形式開發(fā)的。南水北調(diào)中線干線工程WebGIS系統(tǒng)以ArcIMS9.2作為地圖引擎,Oracle10g為數(shù)據(jù)庫管理軟件,Tomcat5.0Web服務(wù)器。由于開發(fā)過程中采用了地圖瓦片存儲(chǔ)技術(shù),客戶端在瀏覽的時(shí)候直接加載生成好的地圖圖片,從而提高了瀏覽速度,也減輕了服務(wù)器的負(fù)荷。
關(guān)鍵詞:南水北調(diào)中線; WebGIS;信息平臺(tái);Ajax;地圖瓦片
中圖分類號(hào):TP391;TV68文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-1683(2009)05-0028-05
Development and Application on WebGIS of the Middle Route of South-to-North Water Diversion Project
WANG Qi1,LIU Yuan-yuan2,WAN Qing3,CHEN Wen-xue1,MU Xiang-peng1
(1.China Institute of Water Resources and Hydropower Research,a. The Department of Hydraulics;
b. The Department of Water Hazard Research,Beijing 100038,China;2.Institute of Geographic Sciences and Natural Resources Research,CAS,Beijing 100101,China;)
Abstract: The Middle Route of South-to-North Water Diversion Project,with many buildings and being operated under complex conditions,is the largest water diversion project in China. Developing WebGIS for this project can not only provide a platform for operation and management and improve the information management,but also provide project map on the Internet to the public for browsing and inquiry. A WebGIS system is introduced,which developed by Java language,and the map of the project is presented by Ajax technology in the form of server dynamic buffer map. ArcIMS9.2 is used as map engine,Oracle10g as database management tool,and Tomcat5.0 as web server software. A key technology,map tiles technology,is used in this system. Since the map tiles of the project are generated previously in the server,the clients can browse the map of the project quickly.
Key words: the Middle Route of South-to-North Water Diversion Project;WebGIS;infomation platform;Ajax;map tiles
1 引言
隨著社會(huì)經(jīng)濟(jì)的發(fā)展、人口的增長及城市化進(jìn)程的加快,人們對(duì)水資源的需求量越來越多,加之水資源時(shí)空分布不均,使得許多地區(qū)尤其是一些大中型城市都出現(xiàn)了水資源短缺的問題,嚴(yán)重制約著社會(huì)經(jīng)濟(jì)的發(fā)展。修建大型長距離調(diào)水工程是調(diào)節(jié)水資源時(shí)空分布不均,解決水資源供需矛盾的最有效、最直接的手段。
跨流域調(diào)水工程是一個(gè)復(fù)雜的系統(tǒng)工程,涉及到社會(huì)、經(jīng)濟(jì)、環(huán)境、地質(zhì)、水力學(xué)、調(diào)度控制等一系列復(fù)雜的技術(shù)問題。為了保證“安全、可靠、經(jīng)濟(jì)”輸水,實(shí)現(xiàn)水資源的優(yōu)化配置,需要研究分析調(diào)水工程自動(dòng)控制技術(shù)、工程模擬仿真技術(shù)、工程風(fēng)險(xiǎn)評(píng)估與應(yīng)急響應(yīng)技術(shù),對(duì)某些工程還要研究冰期輸水調(diào)度及冰情控制技術(shù)等。
南水北調(diào)中線工程從加壩擴(kuò)容后的丹江口水庫陶岔渠首閘引水,經(jīng)唐白河流域西部過長江流域與淮河流域的分水嶺方城埡口,沿黃淮海平原西部邊緣,在鄭州以西李村附近穿過黃河,沿京廣鐵路西側(cè)北上,可基本自流到北京、天津,局部采用泵站加壓管道輸水方式。工程總長約1 432 km(含天津干渠),穿越大小河流686條,沿線設(shè)61個(gè)節(jié)制閘控制渠道的輸水過程,由88個(gè)分水口門向用戶供水,51座退水閘避免渠道水流漫溢。對(duì)于這樣一個(gè)大型跨流域的調(diào)水工程,采用現(xiàn)代信息技術(shù),提高信息采集、傳輸、處理的時(shí)效性和自動(dòng)化水平,成為工程管理發(fā)展的新趨勢(shì)。作為一門新興信息技術(shù),地理信息系統(tǒng)適合分布式多數(shù)據(jù)源的數(shù)據(jù)管理,可與南水北調(diào)中線干線工程控制系統(tǒng)、模擬仿真系統(tǒng)、風(fēng)險(xiǎn)評(píng)估與應(yīng)急響應(yīng)系統(tǒng),以及其他系統(tǒng)耦合形成信息收集、處理的管理平臺(tái)。
地理信息是一種重要的分布式信息資源,是解決人口、資源、環(huán)境和災(zāi)害等重大社會(huì)可持續(xù)發(fā)展問題,以及促進(jìn)社會(huì)經(jīng)濟(jì)持續(xù)、快速和健康發(fā)展的基礎(chǔ)信息數(shù)據(jù)。所以,在地理信息領(lǐng)域,如何發(fā)布信息,建立信息的共享技術(shù)和開放技術(shù)就顯得尤為重要。隨著Internet技術(shù)的不斷發(fā)展和人們對(duì)GIS需求的日益增長,利用Internet在Web上發(fā)布空間數(shù)據(jù),為用戶提供空間數(shù)據(jù)瀏覽、查詢和分析的功能,已經(jīng)成為GIS發(fā)展的必然趨勢(shì)。于是,基于Internet技術(shù)的地理信息系統(tǒng)——WebGIS就應(yīng)運(yùn)而生。WebGIS擁有廣泛的應(yīng)用范圍,靈活的操作方式。建立南水北調(diào)中線干線工程WebGIS系統(tǒng),在Internet上發(fā)布地理數(shù)據(jù),管理工程數(shù)據(jù),為實(shí)現(xiàn)水資源優(yōu)化配置提供技術(shù)手段,為管理決策提供支持平臺(tái),同時(shí)實(shí)現(xiàn)調(diào)水信息的網(wǎng)上的直觀、圖像化發(fā)布,提高公眾的參與性,正是適應(yīng)了工程管理發(fā)展新趨勢(shì),也體現(xiàn)出采用現(xiàn)代信息技術(shù)改造傳統(tǒng)管理模式的目的。
韓念龍等[1]基于ArcIMS開發(fā)網(wǎng)絡(luò)化的地理信息系統(tǒng),實(shí)現(xiàn)長春市石頭口門水庫分布式監(jiān)測(cè)點(diǎn)的水質(zhì)監(jiān)控與管理。系統(tǒng)實(shí)現(xiàn)了包括地圖瀏覽、地圖查詢以及地圖空間分析等基本GIS功能;同時(shí)通過水質(zhì)監(jiān)測(cè)點(diǎn)動(dòng)態(tài)更新、水質(zhì)監(jiān)測(cè)預(yù)警可視化以及水污染動(dòng)態(tài)模擬等關(guān)鍵功能,了解水質(zhì)監(jiān)測(cè)點(diǎn)的屬性信息,為管理部門提供決策依據(jù)。段雪輝[2]以汾河灌區(qū)為研究對(duì)象,總結(jié)了目前汾河灌區(qū)灌溉管理系統(tǒng)存在的不足,分析將WebGIS應(yīng)用到灌區(qū)管理信息系統(tǒng)的優(yōu)勢(shì),提出了將地理信息系統(tǒng)與管理信息相結(jié)合的方案,并設(shè)計(jì)了系統(tǒng)的功能組成。丁繼紅等[3]采用ArcIMS,利用Servlet、JSP、動(dòng)態(tài)Web等技術(shù),建立了基于WebGIS的糧食作物品種動(dòng)態(tài)智能系統(tǒng),實(shí)現(xiàn)了糧食作物區(qū)域的信息發(fā)布。劉詩橋[4]實(shí)現(xiàn)了WebGIS在森林防火中的應(yīng)用,并與林業(yè)管理地理信息系統(tǒng)GIS(Client/Server模式)組成了完整的林業(yè)管理地理信息系統(tǒng)。劉東民等[3]在黑龍江省防汛指揮決策支持系統(tǒng)項(xiàng)目中實(shí)現(xiàn)了基于ArcIMS平臺(tái)的系統(tǒng)集成,在功能集成、數(shù)據(jù)集成、界面集成和平臺(tái)集成等方面都采用先進(jìn)技術(shù),取得了良好成果。
WebGIS作為一種新興技術(shù),在許多領(lǐng)域得到了應(yīng)用。歸納起來主要有以下優(yōu)點(diǎn)。
①無需不斷升級(jí)客戶端的硬件設(shè)備。與傳統(tǒng)的基于桌面或局域網(wǎng)的GIS相比,由于其客戶端軟件的更新,不斷地提高了對(duì)計(jì)算機(jī)性能的要求;而采用Browser/Server模式的WebGIS,系統(tǒng)主要運(yùn)行在服務(wù)器端,客戶端不需要購買或升級(jí)硬件,在相當(dāng)程度上拓展了計(jì)算機(jī)的生命周期。
②簡化了客戶端的安裝、配置。由于Browser/Server是建立在廣域網(wǎng)的基礎(chǔ)上,有比Client/Server更大的適應(yīng)范圍,客戶端只需安裝操作系統(tǒng)和通用瀏覽器即可,不必安裝特別的應(yīng)用軟件、數(shù)據(jù)庫接口等,有效節(jié)省了人力和物力。
③顯著降低了系統(tǒng)開發(fā)的費(fèi)用。Browser/Server模式允許在不依賴客戶端系統(tǒng)平臺(tái)的情況下,快速應(yīng)用開發(fā),并且應(yīng)用完全在服務(wù)器端(或中端事務(wù)邏輯)執(zhí)行,客戶端通過有效的網(wǎng)絡(luò)協(xié)議,向服務(wù)器發(fā)送請(qǐng)求,中端事務(wù)邏輯系統(tǒng)將請(qǐng)求的信息返回到客戶端顯示。
④大大減少系統(tǒng)維護(hù)的工作量。由于客戶端不再擔(dān)負(fù)數(shù)據(jù)訪問和復(fù)雜數(shù)據(jù)計(jì)算等任務(wù),只負(fù)責(zé)顯示或簡單的計(jì)算,而把事務(wù)邏輯處理放在服務(wù)器端,從而充分發(fā)揮了服務(wù)器的強(qiáng)大作用,這樣一方面大大降低了對(duì)客戶端的要求,另一方面也把技術(shù)人員從繁重的維護(hù)升級(jí)工作中解脫出來,使維護(hù)人員不再為維護(hù)工作奔波于各個(gè)客戶機(jī)之間,每一次的軟件升級(jí)只需要更新服務(wù)器端程序即可。
本文介紹了南水北調(diào)中線工程WebGIS平臺(tái)系統(tǒng)的開發(fā)方式、實(shí)現(xiàn)模式和實(shí)現(xiàn)方式,并描述了系統(tǒng)的架構(gòu)組成、運(yùn)行軟、硬件環(huán)境及數(shù)據(jù)庫設(shè)計(jì)。簡要介紹了系統(tǒng)功能。最后介紹了開發(fā)過程中用到的兩項(xiàng)關(guān)鍵技術(shù)。以期為WebGIS開發(fā)領(lǐng)域的研究提供參考[6]。
2 WebGIS相關(guān)技術(shù)
2.1 WebGIS平臺(tái)開發(fā)方式
目前WebGIS平臺(tái)開發(fā)方式有以下幾種。
①直接使用現(xiàn)有的WebGIS平臺(tái)進(jìn)行二次開發(fā)。比如ArcIMS,MapXtreme,SuperMapIS。這種開發(fā)方式只需要編寫客戶端功能代碼。開發(fā)過程相對(duì)簡單,功能比較強(qiáng)大,缺點(diǎn)是平臺(tái)價(jià)格較高。
②利用MapObjects,MapX,SuperMap等組件提供GIS功能,自己開發(fā)WebServer,封裝成類似ArcIMS或MapXtreme的WEB地圖服務(wù)器。這樣做需要開發(fā)的東西較多,有一定難度,不過只要購買MapObject或者M(jìn)apX,價(jià)格相對(duì)較低。
③全部從底層做起,包括自己實(shí)現(xiàn)GIS功能,自己實(shí)現(xiàn)WebServer,開發(fā)工作量大,對(duì)人員、時(shí)間要求高。
從開發(fā)周期和系統(tǒng)維護(hù)的角度考慮,本文選用基于商業(yè)WebGIS平臺(tái)進(jìn)行二次開發(fā)的方式?,F(xiàn)有的商業(yè)WebGIS平臺(tái)主要包括:ArcIMS,MapXtreme,SuperMapIS三家。經(jīng)過市場(chǎng)調(diào)研,同時(shí)考慮平臺(tái)的通用性和擴(kuò)展性,決定采用目前最流行的ArcIMS作為二次開發(fā)平臺(tái)。
2.2 WebGIS主要實(shí)現(xiàn)模式
WebGIS實(shí)現(xiàn)模式歸納起來主要有以下3種[7]。
①瘦客戶端/胖服務(wù)器模式。這是基于GIS服務(wù)器型,主要利用CGI方法來實(shí)現(xiàn)。這種處理模式簡化了客戶端,但加重了服務(wù)器端處理數(shù)據(jù)和網(wǎng)絡(luò)傳輸?shù)呢?fù)擔(dān)。
②胖客戶端/瘦服務(wù)器模式。這種模式需要配套的服務(wù)器端和客戶端軟件??蛻舳藦姆?wù)器端下載所需空間數(shù)據(jù),再由客戶端軟件處理。這種模式雖然減少了服務(wù)器端的負(fù)擔(dān),但由于客戶端軟件功能非常有限,限制了系統(tǒng)的性能。
③均衡客戶端/服務(wù)器模式。這是當(dāng)前最普遍的模式。它利用Plug-in、ActiveX、Java Applets等前端插件技術(shù)將WebGIS服務(wù)器上的部分處理功能轉(zhuǎn)移到客戶端,從而較好的平衡客戶和服務(wù)器兩端的數(shù)據(jù)處理量,減輕了網(wǎng)絡(luò)傳輸負(fù)擔(dān)。這種模式的代表應(yīng)屬ESRI公司的ArcIMS。
本系統(tǒng)采用當(dāng)前最普遍的均衡客戶端/服務(wù)器實(shí)現(xiàn)模式。通過異步請(qǐng)求/響應(yīng)機(jī)制,改變了傳統(tǒng)的Web應(yīng)用習(xí)慣,獲得了良好的用戶體驗(yàn)[8-9]。
2.3 WebGIS主要實(shí)現(xiàn)方式
在目前WebGIS的實(shí)現(xiàn)方式中,較常用的有通用網(wǎng)關(guān)接口 (Common Gateway Interface,CGI)、服務(wù)器應(yīng)用程序接口 (Server API)、插件法(plug-ins)、客戶端控件(ActiveX Control)和Java Applet等[10-11]。
CGI (Common Gateway Interface通用網(wǎng)關(guān)接口)是定義標(biāo)準(zhǔn)數(shù)據(jù)結(jié)構(gòu)和方法的規(guī)范,是外部應(yīng)用程序與Web服務(wù)器之間的接口標(biāo)準(zhǔn)。CGI實(shí)質(zhì)是駐留在Web服務(wù)器上,主要實(shí)現(xiàn)超文本文件和Web服務(wù)器應(yīng)用程序之間傳遞信息的一個(gè)可執(zhí)行文件。早期的WebGIS開發(fā)方法就是采用CGI和Server API (擴(kuò)充的CGI工具)來建立應(yīng)用程序和WebGIS服務(wù)器之間的接口。
Server API應(yīng)用程序是Web服務(wù)器應(yīng)用程序的擴(kuò)展。它的基本思想是基于動(dòng)態(tài)鏈接庫(DLL),使服務(wù)器程序運(yùn)行速度提高并減輕系統(tǒng)的負(fù)載。從而改進(jìn)了CGI技術(shù),消除了啟動(dòng)和關(guān)閉每一個(gè)單獨(dú)應(yīng)用程序所需的開銷,改善了Web服務(wù)的響應(yīng)性能。但它有移值性差,并且安全性能不好等缺點(diǎn)。
Plug-in技術(shù)主要利用網(wǎng)絡(luò)瀏覽器的API函數(shù)開發(fā)一個(gè)客戶端瀏覽器上的能識(shí)別矢量圖形格式數(shù)據(jù)的插件。GIS插件不但可以增加瀏覽器處理地理空間數(shù)據(jù)的能力,使人們更容易獲取地理數(shù)據(jù),而且插件處理和傳輸?shù)氖噶扛袷娇臻g數(shù)據(jù),數(shù)據(jù)量小,網(wǎng)絡(luò)也只需將GIS數(shù)據(jù)一次性傳輸,這樣就加快了用戶操作的反應(yīng)速度,減少網(wǎng)絡(luò)服務(wù)器的信息流量,從而使服務(wù)器更有效地為更多的用戶服務(wù)。但GIS插件受操作系統(tǒng)、運(yùn)行平臺(tái)、數(shù)據(jù)類型的限制。
ActiveX技術(shù)是在OLE控件上加了一些新的網(wǎng)絡(luò)交互界面函數(shù)發(fā)展起來的一個(gè)解決方案。它是利用嵌在瀏覽器上的ActiveX組件作為客戶端操作界面,當(dāng)用瀏覽器訪問包含ActiveX組件的WEB頁面時(shí),該組件自動(dòng)下載到客戶端,較成功地解決了CGI/HTTP瓶頸的約束。它是插件技術(shù)的一種,但無須將矢量圖形轉(zhuǎn)換成柵格圖形就能直接為用戶瀏覽、查詢和分析?;贕IS ActiveX控件的萬維網(wǎng)地理信息系統(tǒng),依賴GIS ActiveX來完成GIS數(shù)據(jù)的處理和顯示。利用這種技術(shù)可以把空間處理功能集成在ActiveX控件中,而客戶機(jī)可以下載安裝并能及時(shí)更新,因此充分利用了客戶機(jī)空間數(shù)據(jù)處理分析能力。再加上ASP(Active Server Pages)技術(shù)可以作為ActiveX技術(shù)中的服務(wù)器端技術(shù)使用,ASP設(shè)置對(duì)象可方便地和Web服務(wù)器和數(shù)據(jù)庫服務(wù)器交互,它存放并且運(yùn)行在服務(wù)器端,減輕了對(duì)客戶端的要求。但ActiveX控件存在著兼容性不好、安全性差等不足。目前許多GIS廠商都推出了ActiveX產(chǎn)品,如ESRI公司的MapObjects、ArcObjects,MapInfo公司的MapX以及Intergraph公司的GeoMedia Professional組件式GIS產(chǎn)品;國內(nèi)也開發(fā)了一批高質(zhì)量的組件式GIS產(chǎn)品,如中科院地理所的SuperMap,武漢大學(xué)的GeoSurf等。
Java技術(shù)是Sun公司于1995年推出的主要應(yīng)用于網(wǎng)絡(luò)應(yīng)用開發(fā)的、面向?qū)ο蟮某绦蛟O(shè)計(jì)語言。因它采用了Java虛擬機(jī)技術(shù)(JVM),實(shí)現(xiàn)了平臺(tái)獨(dú)立性,做到了“一次編譯,到處運(yùn)行”的效果,同時(shí)支持Internet/Intranet環(huán)境下數(shù)據(jù)分布和計(jì)算分布的功能,所以它是目前實(shí)現(xiàn)WebGIS較為理想的方案。Java通過URL(Universal Resource Locator)實(shí)現(xiàn)分布式訪問具有URL的數(shù)據(jù)對(duì)象,通過下載Java Applet小程序到客戶端,將服務(wù)器上的計(jì)算操作部分放到客戶機(jī)上執(zhí)行,從而實(shí)現(xiàn)分布計(jì)算。利用Java技術(shù)開發(fā)WebGIS有兩種方式:一種是只利用Java開發(fā)客戶端GIS功能,服務(wù)器端仍用其它傳統(tǒng)的開發(fā)方法或保持原有系統(tǒng)不變。這種方式在充分利用原有資源的基礎(chǔ)上,增強(qiáng)了客戶端的制圖和地理分析功能,并可以處理矢量數(shù)據(jù),具有開發(fā)周期短,開發(fā)成本低等優(yōu)點(diǎn)。另一種是服務(wù)器端和客戶端全都利用Java語言從底層開發(fā)。這是全新的開發(fā)方式,是未來WebGIS實(shí)現(xiàn)的主要方式。
本系統(tǒng)采用Java Applet技術(shù)。以Java為開發(fā)語言,采用Ajax技術(shù),以服務(wù)器動(dòng)態(tài)緩存地圖形式開發(fā)。
3 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
3.1 系統(tǒng)架構(gòu)設(shè)計(jì)
南水北調(diào)中線干線工程WebGIS平臺(tái)采用B/S模式,主體框架用WebGIS體系結(jié)構(gòu)構(gòu)建,分為四層:客戶層、Javascript引擎層、WebServer層&GISServer層、和數(shù)據(jù)層,系統(tǒng)總體結(jié)構(gòu)如圖1所示。
Client層作為最終客戶端,負(fù)責(zé)提交用戶請(qǐng)求和處理服務(wù)器返回的柵格數(shù)據(jù)、矢量數(shù)據(jù)。通過IE、Netscape等瀏覽器完成。
Javascript引擎層,負(fù)責(zé)連接Client層和WebServer層。該層擔(dān)負(fù)著與 WebServer層異步數(shù)據(jù)交互、電子地圖操作(如放大、縮小、漫游、移動(dòng)等)、空間測(cè)量、數(shù)據(jù)查詢等任務(wù),是整個(gè)體系的核心層。由用戶產(chǎn)生的頁面事件交由這個(gè)引擎處理,它負(fù)責(zé)向服務(wù)器發(fā)送請(qǐng)求,服務(wù)器傳回的是業(yè)務(wù)數(shù)據(jù)而非 HTML,引擎接收后,進(jìn)行渲染,通過瀏覽器的解析在頁面上顯示出來。就提供地理底圖的方式來講,不是傳統(tǒng)的服務(wù)器端將海量矢量地圖臨時(shí)生成柵格圖片發(fā)給客戶端,而是事先生成好柵格圖塊,用戶請(qǐng)求時(shí)不做任何處理直接發(fā)給客戶端,這大大減輕了服務(wù)器端計(jì)算及網(wǎng)絡(luò)傳輸負(fù)擔(dān),同時(shí)也避免了僅僅為了基本視圖而進(jìn)行的海量矢量數(shù)據(jù)傳輸。這樣將事件監(jiān)聽與頁面渲染的工作交給了瀏覽器,而后臺(tái)服務(wù)器只負(fù)責(zé)業(yè)務(wù)邏輯的處理。
WebServer層,負(fù)責(zé)處理Javascript引擎層異步請(qǐng)求、業(yè)務(wù)請(qǐng)求及響應(yīng)。業(yè)務(wù)請(qǐng)求包括常規(guī)業(yè)務(wù)請(qǐng)求、GIS業(yè)務(wù)請(qǐng)求。
GISServer層,負(fù)責(zé)GIS業(yè)務(wù)邏輯的處理。與WebServer通訊,接收WebServer層提出的GIS業(yè)務(wù)請(qǐng)求,完成數(shù)據(jù)分析,提供分析后的GIS業(yè)務(wù)數(shù)據(jù)。
數(shù)據(jù)層,負(fù)責(zé)數(shù)據(jù)庫及柵格圖的組織和管理。數(shù)據(jù)層包含兩種格式的數(shù)據(jù),柵格地圖切片數(shù)據(jù)及屬性數(shù)據(jù)。它們分別應(yīng)用于不同的功能模塊,柵格地圖切片數(shù)據(jù)應(yīng)用于地圖模塊,屬性數(shù)據(jù)應(yīng)用于信息顯示、查詢模塊。
3.2 系統(tǒng)軟、硬件環(huán)境
3.2.1 系統(tǒng)運(yùn)行硬件環(huán)境
①服務(wù)器端。HP xw8600工作站,CPU3.0GHz,2*4核,內(nèi)存16G,硬盤250G(4+1磁盤陣列)。
客戶端:DELL Optiplex 75,CPU2.26GHz,內(nèi)存2G,硬盤300G。
3.2.2 系統(tǒng)運(yùn)行軟件環(huán)境
①服務(wù)器端。
操作系統(tǒng):Windows XP中文版(服務(wù)器)。
數(shù)據(jù)庫管理系統(tǒng):Oracle10g企業(yè)版。
空間數(shù)據(jù)庫引擎:ArcSDE9.2。
地圖服務(wù)器軟件:ArcIMS9.2。
Web服務(wù)器:Microsoft Internet Information Services(IIS)5.0及以上
開發(fā)工具:Eclipse3.2,Apache Tomcat5.0,Dreamweaver MX,JavaScripts,JSP,ASP等。
②客戶端。
操作系統(tǒng):Windows XP中文版(客戶端)。
瀏覽器:IE,Firefox等。
3.3 數(shù)據(jù)庫設(shè)計(jì)
南水北調(diào)中線工程WebGIS平臺(tái)數(shù)據(jù)庫由空間數(shù)據(jù)和非空間屬性數(shù)據(jù)構(gòu)成。
空間型數(shù)據(jù)是具有公共空間定位基礎(chǔ)的數(shù)據(jù)。在本系統(tǒng)框架定義內(nèi)的空間數(shù)據(jù)庫,主要包括兩大部分:一部分是南水北調(diào)中線工程沿線區(qū)域內(nèi)的基礎(chǔ)空間數(shù)據(jù),包括行政區(qū)劃、水系、交通、山脈等及其注記圖層;另一部分是業(yè)務(wù)部門應(yīng)用的空間數(shù)據(jù),包括工程線路、節(jié)制閘、分水口、退水閘、倒虹吸、渡槽、隧洞、橋梁等專題圖層。
其中,基礎(chǔ)空間數(shù)據(jù)可看作整個(gè)系統(tǒng)的空間定位核心?;谡{(diào)水工程的特點(diǎn),在系統(tǒng)的使用過程中,業(yè)務(wù)空間數(shù)據(jù)作為信息展示的核心。盡管這些數(shù)據(jù)與基礎(chǔ)空間數(shù)據(jù)息息相關(guān),但在具體的業(yè)務(wù)功能開發(fā)中,參與直接應(yīng)用的不是基礎(chǔ)空間數(shù)據(jù),而是業(yè)務(wù)空間數(shù)據(jù)。所以,系統(tǒng)內(nèi)數(shù)據(jù)的使用是從基礎(chǔ)空間數(shù)據(jù)到業(yè)務(wù)空間數(shù)據(jù)再到業(yè)務(wù)應(yīng)用的一個(gè)層層遞進(jìn)的關(guān)系。
業(yè)務(wù)空間數(shù)據(jù)是通過工程管理部門提供的數(shù)據(jù),在基礎(chǔ)空間數(shù)據(jù)上設(shè)置和編輯相應(yīng)的專題圖層而實(shí)現(xiàn)。以SDE圖層的方式存儲(chǔ)在數(shù)據(jù)庫中。
非空間屬性數(shù)據(jù)包括沿線控制建筑物的尺寸、調(diào)水工程水情(水位、流量、各閘閘門開度等)、調(diào)水預(yù)期計(jì)劃與歷史記錄、及其他與工程相關(guān)的數(shù)據(jù)。以表格形式存儲(chǔ)在數(shù)據(jù)庫中。WebGIS系統(tǒng)數(shù)據(jù)庫結(jié)構(gòu)見圖2。
3.4 系統(tǒng)功能
系統(tǒng)的主要界面如圖3所示,系統(tǒng)界面包括工具欄,地圖顯示區(qū),圖層控制區(qū)和信息顯示區(qū)4大部分。在工具欄上用戶可進(jìn)行放大、縮小和測(cè)距等操作。圖層控制區(qū)則用于選擇顯示不同的圖層等。系統(tǒng)可實(shí)現(xiàn)的主要功能有如下幾種。
①地圖發(fā)布。能夠?qū)⑹噶康貓D轉(zhuǎn)化成GIF或JPG格式的柵格圖像,用戶可通過瀏覽器方便地訪問地圖,見圖3。
②地圖縮放。用戶可對(duì)地圖進(jìn)行放大或縮小,而地圖的分辨率不變。
③信息查詢。用戶可對(duì)地圖上的各建筑物信息進(jìn)行查詢。渠道斷面信息查詢見圖4。
④測(cè)量距離。用戶可對(duì)地圖上的任意多點(diǎn)測(cè)量其距離,見圖5。
⑤比例尺顯示及控制。地圖可顯示當(dāng)前的比例尺,同時(shí)用戶可按比例尺對(duì)地圖進(jìn)行縮放。
⑥圖層控制。用戶可選擇性的顯示圖層,見圖6。
4 關(guān)鍵技術(shù)
4.1 “瓦片地圖”技術(shù)
本系統(tǒng)地圖生成引擎采用ESRI的ArcIMS,它負(fù)責(zé)向網(wǎng)絡(luò)用戶發(fā)布GIS地圖、數(shù)據(jù)和元數(shù)據(jù)。在系統(tǒng)實(shí)際應(yīng)用中,為了加快地圖顯示時(shí)間,提高數(shù)據(jù)執(zhí)行效率,采用了“瓦片地圖”技術(shù)。瓦片地圖實(shí)際就是采用“預(yù)生成”技術(shù)將地圖數(shù)據(jù)根據(jù)事先預(yù)定的范圍或比例進(jìn)行切片,把切好的地圖圖片保存在服務(wù)端,然后借助客戶端直接提取圖片來顯示?;谕咂貓D服務(wù)框架的系統(tǒng)響應(yīng)速度要快于傳統(tǒng)的WebGIS系統(tǒng),同時(shí)對(duì)服務(wù)器的負(fù)載也相應(yīng)小一些。由于ArcIMS響應(yīng)并發(fā)請(qǐng)求能力有限,所以在請(qǐng)求過多的情況下性能會(huì)受到影響,基于瓦片地圖服務(wù)的特點(diǎn),將底圖數(shù)據(jù)切割成瓦片保存,需要做圖層控制的圖層實(shí)時(shí)生成,這樣ArcIMS實(shí)時(shí)生成的數(shù)據(jù)大量減少,即能減小服務(wù)器負(fù)載,又不影響圖層控制等功能使用。
4.2 Ajax技術(shù)
Ajax(Asynchronous JavaScipt and XML)是Jesse James Garrett于2005年2月提出的。在短短的四年多時(shí)間里,Ajax技術(shù)蓬勃發(fā)展。Ajax技術(shù)是由幾項(xiàng)技術(shù)合成而形成的一項(xiàng)功能強(qiáng)大的新技術(shù)。
①文檔對(duì)象模型DOM(Document Object Model):用來表示顯示在瀏覽器上的整個(gè)文檔對(duì)象及其層次結(jié)構(gòu)。Ajax中使用JavaScript訪問文檔中的所有結(jié)點(diǎn)。通過對(duì)改變結(jié)點(diǎn)的屬性或者增加、刪除結(jié)點(diǎn),控制頁面的局部行為,實(shí)現(xiàn)界面元素的動(dòng)態(tài)變化,從而實(shí)現(xiàn)客戶端的動(dòng)態(tài)顯示和交互。
②定義元素樣式的CSS(Caseading Style Sheets):在Web開發(fā)中CSS被用來定義標(biāo)記的顯示樣式,實(shí)現(xiàn)標(biāo)準(zhǔn)的呈現(xiàn)界面。
③數(shù)據(jù)交換格式XML:服務(wù)器端與客戶端之間交換的數(shù)據(jù)被序列化成為文本格式,通常選擇XML作為數(shù)據(jù)交換的格式。XML是標(biāo)準(zhǔn)的數(shù)據(jù)表示方式,在服務(wù)器端和客戶端都可以得到很好的解釋。它為跨平臺(tái)、跨領(lǐng)域的應(yīng)用提供了一種通信手段。Ajax中,XML是服務(wù)器端與客戶端規(guī)范的數(shù)據(jù)傳輸格式。
④XMLHttpRequest:它是Ajax最核心的部分。它用來幫助開發(fā)者實(shí)現(xiàn)客戶端與服務(wù)器端的異步通訊。通過XMLHttpRequest,客戶端可以在任何時(shí)刻與服務(wù)器端進(jìn)行通訊,而不只是在頁面提交時(shí)。服務(wù)器執(zhí)行其他程序的同時(shí),用戶可以進(jìn)行其他操作。
⑤客戶端腳本語言JavaScript: JavaScript是一種基于對(duì)象和事件驅(qū)動(dòng)并具有安全性能的腳本語言。Ajax中利用JavaScript實(shí)現(xiàn)Web應(yīng)用程序?qū)τ脩粜袨榈膶?shí)時(shí)響應(yīng)和處理,例如鼠標(biāo)事件,頁面載入、異步請(qǐng)求的發(fā)起和響應(yīng)等。JavaScript將Ajax中的各對(duì)象融合在一起。
5 總結(jié)與展望
南水北調(diào)中線干線工程WebGIS系統(tǒng)是采用ArcIMS9.2地圖引擎,Oracle10g數(shù)據(jù)庫管理軟件,Tomcat5.0Web服務(wù)器軟件,以Java為開發(fā)語言開發(fā)的具有二維網(wǎng)絡(luò)信息發(fā)布功能的地理信息系統(tǒng)。該系統(tǒng)主要包括地圖操作和業(yè)務(wù)功能兩大部分功能。地圖操作部分包括地圖瀏覽、縮放復(fù)位、距離量算、地圖定位等功能。業(yè)務(wù)功能部分包括工程信息顯示和工程信息查詢。該系統(tǒng)可作為工程管理系統(tǒng)的平臺(tái)或者與管理平臺(tái)進(jìn)行無縫銜接,輔助南水北調(diào)管理部門實(shí)時(shí)掌握渠道運(yùn)行情況,實(shí)現(xiàn)輸水系統(tǒng)的實(shí)時(shí)調(diào)度控制,更好地為工程運(yùn)行管理服務(wù)。同時(shí),提供方便快捷的網(wǎng)上服務(wù),使公眾足不出戶就能了解工程相關(guān)情況,更好地為經(jīng)濟(jì)社會(huì)發(fā)展服務(wù)。
參考文獻(xiàn):
[1] 韓念龍,陳圣波,王雪峰,等.基于ArcIMS的水資源環(huán)境管理信息系統(tǒng)[J].微計(jì)算機(jī)信息,2008,24(3):1-3.
[2] 段雪輝.WebGIS 在汾河灌區(qū)灌溉管理中的應(yīng)用[J].科技情報(bào)開發(fā)與經(jīng)濟(jì),2006,16(14):216-217.
[3] 丁繼紅,楊長保,馬生忠,等.基于WebGIS地理信息網(wǎng)絡(luò)發(fā)布的技術(shù)實(shí)現(xiàn)與應(yīng)用[J].吉林大學(xué)學(xué)報(bào)(信息科學(xué)版),2006,2(24):210-214.
[4] 劉詩橋.WebGIS 在森林防火中的應(yīng)用[A]. ESRI中國(北京)有限公司.第七屆ArcGIS暨ERDAS中國用戶大會(huì)論文集(2006):下冊(cè)[C].北京:地震出版社,2006:651-655.
[5] 劉東民,陳 熠,劉 舒.黑龍江省防汛指揮決策支持系統(tǒng)基于ArcIMS平臺(tái)的系統(tǒng)集成[A]. ESRI中國(北京)有限公司.
第七屆ArcGIS暨ERDAS中國用戶大會(huì)論文集(2006):下冊(cè)[C].北京:地震出版社,2006:849-853.
[6] 徐 罡,許舒人.南水北調(diào)工程信息管理系統(tǒng)數(shù)據(jù)交換平臺(tái)的研究與設(shè)計(jì)[J].南水北調(diào)與水利科技,2005,3(3):1-3.
[7] 鄧凱,藺啟忠,王菁.基于XML的實(shí)時(shí)WebGIS優(yōu)化模型的研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2003,24 (6): 4-7.
[8] 李舜才,李軍治.南水北調(diào)中線干線工程施工信息管理系統(tǒng)建設(shè)與應(yīng)用[J].南水北調(diào)與水利科技,2005,4(2):6-7.
[9] 魯小新,王育紅.南水北調(diào)中線干線工程運(yùn)行維護(hù)管理系統(tǒng)分析與設(shè)計(jì)[J].南水北調(diào)與水利科技,2007,5(1):16-18.
[10] 嬌樹春.基于SVG的WebGIS設(shè)計(jì)[D].蘭州大學(xué)碩士學(xué)位論文,2006.
[11] 馮艷杰.基于SVG的WebGIS實(shí)現(xiàn)技術(shù)[D].武漢大學(xué)碩士學(xué)位論文,2006.