楊澤運(yùn),楊金玲,李秀海,曹先革,霍春玲,梁 欣
(1.黑龍江工程學(xué)院 科研處,黑龍江 哈爾濱150050;2.黑龍江工程學(xué)院 測(cè)繪工程學(xué)院,黑龍江 哈爾濱150050)
隨著計(jì)算機(jī)技術(shù)、互聯(lián)網(wǎng)技術(shù)、信息技術(shù)的不斷發(fā)展,利用Internet在 WWW(萬(wàn)維網(wǎng))上發(fā)布空間信息,為用戶提供在線的數(shù)據(jù)瀏覽、查詢、分析功能已經(jīng)成為GIS發(fā)展的潮流,Web已經(jīng)成為地圖傳播的理想媒介[1-3]。21世紀(jì)將會(huì)是網(wǎng)絡(luò)地圖時(shí)代,網(wǎng)絡(luò)地圖也將成為地圖產(chǎn)品的主流。針對(duì)于網(wǎng)絡(luò)地圖服務(wù),傳統(tǒng)的4D產(chǎn)品遠(yuǎn)遠(yuǎn)不能滿足大眾在Web時(shí)代下的要求,網(wǎng)絡(luò)地圖服務(wù)正朝著多元化、個(gè)性化、實(shí)時(shí)化、動(dòng)態(tài)化的方向發(fā)展[2-6]。ArcGIS Server是一個(gè)用于構(gòu)建集中管理、支持多用戶的企業(yè)級(jí)GIS應(yīng)用的平臺(tái),使用ArcGIS Server可以構(gòu)建Web應(yīng)用、Web服務(wù)以及其它運(yùn)行在標(biāo)準(zhǔn)的.NET和J2EE Web服務(wù)器上的企業(yè)應(yīng)用,ArcGIS Server的出現(xiàn)為網(wǎng)絡(luò)地圖服務(wù)提供了一個(gè)全新的途徑[7-8]。本文基于ArcGIS Server采用當(dāng)前流行的RIA技術(shù)FLEX,搭建一個(gè)網(wǎng)絡(luò)地圖服務(wù)系統(tǒng),對(duì)地理空間數(shù)據(jù)在網(wǎng)絡(luò)中的發(fā)布應(yīng)用進(jìn)行研究。
網(wǎng)絡(luò)地圖服務(wù)系統(tǒng)在總體結(jié)構(gòu)上采用三層結(jié)構(gòu)體系:數(shù)據(jù)層、應(yīng)用邏輯層和應(yīng)用層,體系結(jié)構(gòu)見(jiàn)圖1。
數(shù)據(jù)層:使用關(guān)系型數(shù)據(jù)庫(kù)對(duì)系統(tǒng)所有數(shù)據(jù)進(jìn)行管理;
中間層:響應(yīng)應(yīng)用層提出的請(qǐng)求,調(diào)用封裝的具體處理模塊進(jìn)行處理,按照模塊要求對(duì)數(shù)據(jù)進(jìn)行存??;
應(yīng)用層:直接面向用戶,與用戶進(jìn)行交互,記錄用戶的操作,向中間層發(fā)出請(qǐng)求[9-10]。
網(wǎng)絡(luò)地圖服務(wù)系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)根據(jù)要求設(shè)計(jì)如圖1所示,將數(shù)據(jù)部署于單獨(dú)的數(shù)據(jù)服務(wù)器以保證讀取運(yùn)行速度,應(yīng)用部署于應(yīng)用服務(wù)器,以滿足用戶操作請(qǐng)求完成功能。通過(guò)中心交換機(jī)將網(wǎng)絡(luò)分為局域網(wǎng)和廣域網(wǎng),局域網(wǎng)用于部門(mén)內(nèi)部使用,部署管理系統(tǒng)以保證系統(tǒng)安全,廣域網(wǎng)經(jīng)過(guò)防火墻同互聯(lián)網(wǎng)連接,以保證系統(tǒng)面向公眾功能實(shí)現(xiàn)及外部系統(tǒng)交互整合。
圖1 系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)圖
本文以數(shù)字城市規(guī)劃業(yè)務(wù)為例實(shí)現(xiàn)網(wǎng)絡(luò)地圖服務(wù)系統(tǒng)的設(shè)計(jì)。規(guī)劃管理業(yè)務(wù)涉及城市基礎(chǔ)測(cè)繪、建設(shè)工程、建設(shè)用地、城市規(guī)劃編制、環(huán)境藝術(shù)工程、市政工程的報(bào)建審批等,該系統(tǒng)功能結(jié)構(gòu)如圖2所示。
圖2 系統(tǒng)功能結(jié)構(gòu)
基于REST+FLEX技術(shù)設(shè)計(jì)的數(shù)字城市規(guī)劃網(wǎng)絡(luò)地圖服務(wù)系統(tǒng)的功能包括地圖基本操作、查詢、書(shū)簽、空間分析、繪圖、打印等,下面對(duì)地圖基本操作、查詢等幾個(gè)功能及其代碼實(shí)現(xiàn)進(jìn)行簡(jiǎn)單介紹。
地圖基本操作功能包括放大、縮小、漫游、前一視圖、后一視圖、全幅顯示等導(dǎo)航操作。
實(shí)現(xiàn)導(dǎo)航功能部分函數(shù)代碼:
查詢功能用于查詢特定要素,本系統(tǒng)采用兩種查詢方式,空間查詢和屬性查詢,查詢后將結(jié)果高亮顯示并置于結(jié)果視圖,在結(jié)果視圖中可對(duì)每項(xiàng)查詢結(jié)果進(jìn)行定位,如圖3所示。
圖3 空間與屬性查詢
查詢功能通過(guò)QueryTask和Query類實(shí)現(xiàn)。在Declaration標(biāo)簽中聲明一個(gè)QueryTask類,實(shí)例化一個(gè)Query類用于設(shè)置查詢參數(shù),Qurey的屬性見(jiàn)表1。
表1 Query屬性表
設(shè)置完畢Query之后,調(diào)用QueryTask的execute方法執(zhí)行查詢,查詢結(jié)果以FeatureSet形式返回。
空間分析是GIS系統(tǒng)的重要功能,本系統(tǒng)以空間分析中的緩沖區(qū)分析為例結(jié)合規(guī)劃業(yè)務(wù)實(shí)現(xiàn)了道路拓寬功能。在此功能中首先選中一條欲要拓寬的道路,輸入拓寬距離,即緩沖區(qū)距離,然后選取目標(biāo)圖層,最終建立拓寬后結(jié)果顯示在結(jié)果視圖中,如圖4所示。
圖4 空間分析結(jié)果
采用GeometryService和BufferParameters兩個(gè)類實(shí)現(xiàn)空間分析的功能。在Declaration標(biāo)簽中聲明一個(gè)GeometryService,對(duì)選中線要素即道路要素使用GeometryService的buffer方法建立緩沖區(qū),參數(shù)為BufferParameters。以緩沖區(qū)生成結(jié)果對(duì)目標(biāo)圖層通過(guò)QueryTask進(jìn)行空間查詢以得到道路拓寬受到影響的目標(biāo)。
利用ArcGIS Server可以簡(jiǎn)單快速進(jìn)行服務(wù)器端的配置和服務(wù)的集中管理,在節(jié)省時(shí)間的同時(shí)也提供了大量的空間數(shù)據(jù)操作和分析的組件,使面向服務(wù)器端的開(kāi)發(fā)人員能夠結(jié)合城市規(guī)劃的業(yè)務(wù)需求在服務(wù)器端應(yīng)用ArcObjects包含的所有功能。文中對(duì)基于ArcGIS Server的網(wǎng)絡(luò)地圖服務(wù)系統(tǒng)進(jìn)行了總體設(shè)計(jì)、功能設(shè)計(jì)與實(shí)現(xiàn),通過(guò)構(gòu)建城市規(guī)劃的公眾服務(wù)實(shí)例表明了基于ArcGIS Server來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)地圖服務(wù)完全可行。
[1]李琳琳,曹凱濱,管斌,等.基于 ArcGISServer的城市規(guī)劃數(shù)據(jù)網(wǎng)絡(luò)發(fā)布的研究[J].北京測(cè)繪,2009(2):35-37.
[2]袁懷月,侯澄宇,楊恒.基于ArcGIS Flex API的工廠基礎(chǔ)地理信息共享服務(wù)系統(tǒng)設(shè)計(jì)[J].測(cè)繪工程,2011,20(2):61-65,69.
[3]孫啟亮,吳天余,高強(qiáng),等.基于JSF和 ArcGISServer的WebGIS實(shí)現(xiàn)方法研究:在哈爾濱植物園綠化系統(tǒng)中的應(yīng)用[J].林業(yè)科技情報(bào),2012(3):72-74.
[4]徐永龍.基于Flex和ArcGIS Server的 WGIS實(shí)現(xiàn)研究[D].西安:長(zhǎng)安大學(xué),2011.
[5]王昊.基于ArcGISServer的動(dòng)態(tài)電力空間數(shù)據(jù)優(yōu)化顯示[J].測(cè)繪與空間地理信息,2014,37(9):158-160.
[6]曹建明,程朋根,王海江,等.一種基于非典型P2P技術(shù)的地圖緩存更新方法[J].測(cè)繪通報(bào),2011(7):74-76.
[7]俞亮,洪勝.淺析基于Silverlight的 WebGIS客戶端應(yīng)用[J].浙江測(cè)繪,2010(3):26-27.
[8]夏元友,劉棱頒,張進(jìn).一種 WebGIS的底層實(shí)現(xiàn)方法研究[J].武漢理工大學(xué)學(xué)報(bào),2011,33(2):148-152.
[9]祝青,向南平.Ajax技術(shù)在 WebGIS中的應(yīng)用與研究[J].測(cè)繪工程,2007,16(5):39-41.
[10]欒紹鵬,朱長(zhǎng)青.基于Ajax的 WebGIS開(kāi)發(fā)新模式[J].測(cè)繪工程,2006,15(6):30-33.