馮彥同, 周子玥
(1.山東省國(guó)土測(cè)繪院, 山東 濟(jì)南 250102; 2.山東師范大學(xué) 附屬中學(xué), 山東 濟(jì)南 250014)
基于WebGIS的山東省CORS網(wǎng)服務(wù)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
馮彥同1, 周子玥2
(1.山東省國(guó)土測(cè)繪院, 山東 濟(jì)南 250102; 2.山東師范大學(xué) 附屬中學(xué), 山東 濟(jì)南 250014)
隨著我國(guó)各省級(jí)連續(xù)運(yùn)行參考站系統(tǒng)(CORS)的相繼建成,如何為CORS網(wǎng)所涵蓋的各行業(yè)用戶提供實(shí)時(shí)的外業(yè)服務(wù)平臺(tái)成為當(dāng)前CORS網(wǎng)業(yè)務(wù)中亟待解決的問(wèn)題之一.利用ArcGIS Server平臺(tái)發(fā)布的山東省CORS網(wǎng)空間數(shù)據(jù),設(shè)計(jì)并實(shí)現(xiàn)了山東省CORS網(wǎng)服務(wù)管理系統(tǒng).系統(tǒng)基于Flex開(kāi)發(fā)采用B/S結(jié)構(gòu),通過(guò)該系統(tǒng)可以為用戶提供實(shí)時(shí)監(jiān)控、查詢和定位等服務(wù).
WebGIS; CORS; 網(wǎng)絡(luò)服務(wù); Ajax
隨著高精度GNSS定位技術(shù)的發(fā)展,連續(xù)運(yùn)行參考站系統(tǒng)(CORS)作為城市現(xiàn)代測(cè)繪基準(zhǔn)的維持系統(tǒng)和定位服務(wù)系統(tǒng),已經(jīng)逐漸成為城市的測(cè)繪基礎(chǔ)設(shè)施[1].當(dāng)前,在已建成的CORS系統(tǒng)上如何為國(guó)土管理、規(guī)劃等不同行業(yè)部門的常規(guī)測(cè)繪應(yīng)用服務(wù),如何為用戶提供更好的外業(yè)用戶監(jiān)控及軌跡查詢服務(wù)是CORS網(wǎng)服務(wù)管理系統(tǒng)所面對(duì)的主要問(wèn)題[2-4].WebGIS技術(shù)已經(jīng)普遍應(yīng)用到礦產(chǎn)、水文、地質(zhì)、漁業(yè)等各行業(yè)[5-8],其在區(qū)域CORS網(wǎng)服務(wù)管理系統(tǒng)的應(yīng)用研究相對(duì)較少.
WebGIS是一種通過(guò)網(wǎng)絡(luò)來(lái)發(fā)布地理信息數(shù)據(jù)的一種GIS技術(shù),它能夠根據(jù)用戶的需求,在服務(wù)器端生產(chǎn)GIS數(shù)據(jù)并將這些數(shù)據(jù)顯示在瀏覽器中.CORS網(wǎng)服務(wù)管理系統(tǒng)中大量的外業(yè)工作均與地理位置相關(guān),建立一個(gè)基于WebGIS的CORS網(wǎng)服務(wù)管理系統(tǒng)可以更好地為各行業(yè)用戶提供定位服務(wù).
Ajax(Asynchronous Java Scriptand XML)是由HTML,JavaScript,DHTML和DOM等多種技術(shù)組合而成,通過(guò)組合使得多種技術(shù)相互合作達(dá)到簡(jiǎn)化Web應(yīng)用程序的目的.與傳統(tǒng)的Web系統(tǒng)不同,Ajax技術(shù)通過(guò)發(fā)送控件ID和信息的改變量來(lái)實(shí)現(xiàn)頁(yè)面的局部更新,使得客戶端可以在頁(yè)面向服務(wù)器發(fā)送了請(qǐng)求以后仍然在頁(yè)面上執(zhí)行其他操作,這樣不僅可以節(jié)約服務(wù)器及客戶端之間傳輸?shù)臄?shù)據(jù),同時(shí)也增強(qiáng)了網(wǎng)頁(yè)的用戶體驗(yàn).
為了滿足省級(jí)CORS網(wǎng)轄區(qū)范圍內(nèi)的上述測(cè)量定位服務(wù)和維持省級(jí)的地方測(cè)繪基準(zhǔn),本文基于WebGIS和Ajax設(shè)計(jì)并實(shí)現(xiàn)了山東省CORS網(wǎng)服務(wù)管理系統(tǒng),通過(guò)該系統(tǒng)的實(shí)現(xiàn)完成覆蓋整個(gè)省轄區(qū)的高精度定位服務(wù)監(jiān)控及查詢.
1.1 系統(tǒng)架構(gòu)設(shè)計(jì)
系統(tǒng)主要包括TOPNET、中間服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器、WEB服務(wù)器、流動(dòng)站等.TOPNET是省級(jí)CORS系統(tǒng)數(shù)據(jù)控制中心處理軟件,中間服務(wù)器實(shí)現(xiàn)實(shí)時(shí)坐標(biāo)測(cè)量的參數(shù)加密功能,數(shù)據(jù)庫(kù)服務(wù)器保存系統(tǒng)運(yùn)行的各種信息供用戶或管理員查詢統(tǒng)計(jì),WEB服務(wù)器提供用戶操作本平臺(tái)的WEB服務(wù),流動(dòng)站用戶通過(guò)接收機(jī)連接到本系統(tǒng),在符合參數(shù)安全的情況下實(shí)時(shí)測(cè)量獲取地方坐標(biāo).
整個(gè)CORS網(wǎng)服務(wù)管理系統(tǒng)從邏輯上劃分,采用三層B/S結(jié)構(gòu).基于.NET技術(shù)開(kāi)發(fā)系統(tǒng)應(yīng)用平臺(tái),整個(gè)系統(tǒng)分為表示層、邏輯層和數(shù)據(jù)層,如圖1所示.基于RIA和Rest技術(shù)[9],以山東省CORS網(wǎng)分布數(shù)據(jù)為基礎(chǔ),構(gòu)建相應(yīng)山東CORS網(wǎng)空間數(shù)據(jù)庫(kù),利用ArcGIS Server發(fā)布山東CORS網(wǎng)地圖服務(wù).
(1)表示層:通過(guò)Web瀏覽器的形式實(shí)現(xiàn)多用戶信息共享,該層主要包括信息查詢,實(shí)時(shí)用戶的監(jiān)控,數(shù)據(jù)服務(wù),坐標(biāo)轉(zhuǎn)換服務(wù)等向用戶開(kāi)放的服務(wù),也包括為管理員提供的管理與設(shè)置的接口.
(2)邏輯層:該層位于表示層和數(shù)據(jù)層之間,一是對(duì)各類數(shù)據(jù)請(qǐng)求進(jìn)行相應(yīng)的處理,包括負(fù)責(zé)向數(shù)據(jù)層發(fā)送數(shù)據(jù)請(qǐng)求或從數(shù)據(jù)層獲取有關(guān)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)查詢、顯示、坐標(biāo)參數(shù)轉(zhuǎn)換;二是主動(dòng)監(jiān)控CORS系統(tǒng)各部分的工作狀態(tài),包括用戶位置、軌跡、定位狀態(tài)和基站狀態(tài)等;三是生成系統(tǒng)運(yùn)維的管理日志,并實(shí)時(shí)存儲(chǔ)到數(shù)據(jù)庫(kù)中去.
(3)數(shù)據(jù)層:用來(lái)定義、維護(hù)、訪問(wèn)和更新數(shù)據(jù)并管理和滿足應(yīng)用服務(wù)對(duì)數(shù)據(jù)的請(qǐng)求,該層負(fù)責(zé)解析業(yè)務(wù)邏輯層所發(fā)出的數(shù)據(jù)請(qǐng)求,執(zhí)行相關(guān)的操作.
采用三層結(jié)構(gòu)模式,使系統(tǒng)各層協(xié)調(diào)工作,具備了很高的穩(wěn)定性、延展性和執(zhí)行效率,并且便于維護(hù)和升級(jí)擴(kuò)展.
圖1 系統(tǒng)總體設(shè)計(jì)
1.2 系統(tǒng)功能設(shè)計(jì)
山東省CORS網(wǎng)服務(wù)管理系統(tǒng)按功能劃分為兩大部分:一是管理,二是服務(wù),如圖2所示.該系統(tǒng)的管理功能包括用戶管理、系統(tǒng)管理、配置管理.其中,用戶管理包括:TOPNET用戶管理、WEB用戶管理、賬戶管理、用戶信息查詢報(bào)表、用戶位置/軌跡監(jiān)控、用戶區(qū)域/經(jīng)費(fèi)監(jiān)控等;系統(tǒng)管理包括:基礎(chǔ)GIS功能、用戶/基站狀態(tài)查詢、系統(tǒng)完好性監(jiān)測(cè)、系統(tǒng)/數(shù)據(jù)安全備份、系統(tǒng)運(yùn)維日志管理、系統(tǒng)運(yùn)維查詢統(tǒng)計(jì)等功能;配置管理包括系統(tǒng)平臺(tái)配置、系統(tǒng)平臺(tái)關(guān)聯(lián).該系統(tǒng)提供的服務(wù)主要為數(shù)據(jù)服務(wù),包括RTK實(shí)時(shí)坐標(biāo)測(cè)量、RTD實(shí)時(shí)坐標(biāo)測(cè)量、事后WEB坐標(biāo)轉(zhuǎn)換、基站/星歷數(shù)據(jù)下載等功能.
圖2 CORS服務(wù)管理系統(tǒng)功能設(shè)計(jì)
1.3 系統(tǒng)業(yè)務(wù)流程設(shè)計(jì)
CORS服務(wù)管理系統(tǒng)采用.NET平臺(tái)開(kāi)發(fā),業(yè)務(wù)數(shù)據(jù)和空間數(shù)據(jù)分別存儲(chǔ)管理,其中業(yè)務(wù)數(shù)據(jù)構(gòu)成關(guān)系型數(shù)據(jù)庫(kù)SQL Server,空間數(shù)據(jù)(專題圖數(shù)據(jù))通過(guò)ArcGIS SDE作為中間層驅(qū)動(dòng)SQL Server管理[10].中間層網(wǎng)絡(luò)地圖服務(wù)、Web服務(wù)由IIS服務(wù)器來(lái)負(fù)責(zé),主要完成對(duì)瀏覽器端請(qǐng)求的傳輸和處理.所以在本質(zhì)上整個(gè)系統(tǒng)有兩個(gè)主要的工作流程:業(yè)務(wù)數(shù)據(jù)的工作流和空間數(shù)據(jù)的工作流.
(1)業(yè)務(wù)數(shù)據(jù)的工作流:業(yè)務(wù)數(shù)據(jù)主要是一些屬性數(shù)據(jù),這些屬性數(shù)據(jù)服務(wù)主要調(diào)用IIS服務(wù)器上使用的一系列Web方法及服務(wù).如:用戶瀏覽一個(gè)HTML頁(yè)面并觸發(fā)應(yīng)用程序系統(tǒng)的一個(gè)事件,然后應(yīng)用系統(tǒng)則激活相應(yīng)的Web方法,并用其來(lái)處理保存在SQLServer的數(shù)據(jù)并將執(zhí)行結(jié)果返回到瀏覽器端.所有Web方法可以分為兩類:基本用戶的管理方法,該方法包括用戶驗(yàn)證、用戶密碼更改,用戶信息更新等;行政區(qū)域的管理方法,該方法允許用戶通過(guò)高級(jí)權(quán)限獲得下級(jí)區(qū)域名稱列表,或者獲得各級(jí)區(qū)域的所有名稱列表.
(2)空間數(shù)據(jù)工作流:在空間數(shù)據(jù)的工作流中,地圖服務(wù)會(huì)為不同的影像提供正確參數(shù)以使不同的影像顯示在瀏覽器中.WebGIS中的地圖服務(wù)是一個(gè)標(biāo)準(zhǔn)的web服務(wù),可使地圖請(qǐng)求從一個(gè)或多個(gè)分布式地理空間數(shù)據(jù)庫(kù)中生成一張地圖.
CORS網(wǎng)服務(wù)管理系統(tǒng)中采用基于HTTP協(xié)議的標(biāo)準(zhǔn)地圖服務(wù),在地理信息數(shù)據(jù)的無(wú)縫集成與互操作中起著重要作用.標(biāo)準(zhǔn)地圖服務(wù)定義了三個(gè)運(yùn)算:GetMap,GetCapabilities和GetFeatureInfo.它們會(huì)分別返回地圖、描述信息和要素屬性.標(biāo)準(zhǔn)地圖服務(wù)需要LAYERS,STYLES,CRS,BBOX,WIDTH,HEIGHT和FORMAT等參數(shù),用戶通過(guò)設(shè)置這些參數(shù)相應(yīng)的值并將它們發(fā)送到地圖服務(wù)器,服務(wù)器將返回帶地物要素的地圖影像,并采用統(tǒng)一方式來(lái)渲染同一圖層的這些影像.
ASP.NET框架提供了采用Ajax技術(shù)包裝的一些控件.這些控件隱藏了Ajax機(jī)制內(nèi)部過(guò)程的細(xì)節(jié).開(kāi)發(fā)者可以簡(jiǎn)單通過(guò)拖動(dòng)這些控件到Web站點(diǎn)來(lái)實(shí)現(xiàn)Ajax功能.但是,對(duì)于各種控件需要定義相應(yīng)參數(shù)并在服務(wù)器上自己運(yùn)行函數(shù).因此,在此系統(tǒng)中,我們采用IcallbackEventHandler這個(gè)輕量級(jí)的Ajax接口來(lái)產(chǎn)生需要的Ajax函數(shù).
在整個(gè)CORS服務(wù)管理系統(tǒng)中,各種專業(yè)用戶需要提交一些定位需求信息給服務(wù)器,然后服務(wù)器盡快將相應(yīng)的定位信息以及專業(yè)的地圖信息反饋給客戶端.所有這些高精度位置的服務(wù)都通過(guò)Ajax過(guò)程來(lái)完成.實(shí)現(xiàn)CORS服務(wù)管理系統(tǒng)的AJAX機(jī)制的例程如下所述.
2.1 定位區(qū)域的局部更新
為了實(shí)現(xiàn)局部更新函數(shù),首先,一個(gè)頁(yè)面應(yīng)該派生自ICallbackEventHandler接口,并實(shí)現(xiàn)該接口的兩個(gè)方法:GetCallbackResult和RaiseCallbackEvent(stringeventArgument).前一個(gè)方法將告訴系統(tǒng)將結(jié)果作為一個(gè)字符類型發(fā)送回來(lái),后一個(gè)方法用于從客戶端接收參數(shù)(比如,選中的城市名等),同時(shí),在服務(wù)器端調(diào)用Web服務(wù)來(lái)處理這些參數(shù)并返回結(jié)果(比如,需要定位服務(wù)的區(qū)域)給客戶端.山東省CORS服務(wù)管理系統(tǒng)瀏覽器端表單設(shè)計(jì)如圖3所示.
圖3 CORS服務(wù)管理系統(tǒng)瀏覽器端表單提交
2.2 異步地圖刷新
以地圖縮放為例,首先,客戶端腳本定義縮放函數(shù),該函數(shù)可以獲得地圖物件,縮放中心點(diǎn)以及響應(yīng)鼠標(biāo)事件的縮放時(shí)間;其次,腳本調(diào)用服務(wù)器函數(shù)并傳送參數(shù)到服務(wù)器.服務(wù)器上的地圖物件派生自ICallbackEventHandler接口,這樣,服務(wù)器可以根據(jù)這些參數(shù)生成一幅新地圖并將其傳回客戶端.山東省CORS服務(wù)系統(tǒng)地圖刷新設(shè)計(jì)如圖4所示.
圖4 CORS服務(wù)管理系統(tǒng)地圖刷新
隨著國(guó)土、交通、規(guī)劃、水利、海洋等行業(yè)對(duì)于高精度定位服務(wù)的需求增長(zhǎng),省級(jí)CORS系統(tǒng)的全面建設(shè)可以滿足這種需求.本文從系統(tǒng)架構(gòu)、系統(tǒng)功能模塊、系統(tǒng)業(yè)務(wù)流程及系統(tǒng)實(shí)現(xiàn)等4個(gè)方面給出了一個(gè)省級(jí)CORS網(wǎng)服務(wù)管理系統(tǒng)的設(shè)計(jì)及實(shí)現(xiàn)方法,可以為全國(guó)的區(qū)域CORS網(wǎng)服務(wù)系統(tǒng)建設(shè)提供參考.
[1]陳俊勇,張鵬,武軍酈,張全德.關(guān)于在中國(guó)構(gòu)建全球?qū)Ш叫l(wèi)星國(guó)家級(jí)連續(xù)運(yùn)行站系統(tǒng)的思考[J].測(cè)繪學(xué)報(bào),2007,36(4):366-369.
[2]李曉亮.CORS系統(tǒng)的構(gòu)建與應(yīng)用[D].北京:中國(guó)地質(zhì)大學(xué),2014.
[3]汪偉,史廷玉,張志全.CORS系統(tǒng)的應(yīng)用發(fā)展及展望[J].城市勘測(cè),2010(03):45-47.
[4]趙新秀,王解先.CORS用戶管理系統(tǒng)的研究與開(kāi)發(fā)[J].工程勘察,2010,38(9):74-76.
[5]朱巧玉,魏真,高志譽(yù).基于WebGIS與工作流的礦業(yè)權(quán)管理系統(tǒng)設(shè)計(jì)[J].煤炭工程,2014(12):141-143.
[6]吳建華.基于ArcGIS與ASP.NET的流域水質(zhì)監(jiān)測(cè)系統(tǒng)開(kāi)發(fā)研究[J].測(cè)繪與空間地理信息,2014(10):1-4.
[7]朱紹平.基于WebGIS的煤礦地測(cè)管理信息系統(tǒng)設(shè)計(jì)與應(yīng)用[J].現(xiàn)代礦業(yè),2015(02):77-80.
[8]年雁云,翟世常,薛晨光.基于WebGIS的渤海漁業(yè)服務(wù)系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)[J].遙感技術(shù)與應(yīng)用,2015(02):391-398.
[9]賈慶雷,萬(wàn)慶,邢超.ArcGISServer開(kāi)發(fā)指南——基于Flex和.Net[M].北京:科學(xué)出版社,2011.
[10]楊捷.基于ArcGISforFlexAPI的GIS查詢系統(tǒng)關(guān)鍵性技術(shù)研究[D].昆明:云南大學(xué),2010.
(編輯:姚佳良)
Design and implementation of WebGIS-basedCORS network service and management system
FENG Yan-tong1, ZHOU Zi-yue2
(1.Shandong Provincial Institute of Land Surveying and Mapping, Ji′nan 250102, China;2.High School Attached to Shangdong Normal University, Ji′nan 250014, China)
With the provincial Continuously Operating Reference Station (CORS) systems being expanded in our country, an issue, how to provide real-time services of high-accuracy positioning by CORS network for customers from various industries, is needed to be resolved. Shandong CORS spatial data are published by ArcGIS Server platform. Based on Flex development and Browser/Server Framework, CORS service and management system is designed and realized, through which better service such as real-time monitoring, querying and positioning can be provide for customers.
WebGIS; CORS; network service; Ajax
2015-01-10
國(guó)家測(cè)繪地理信息局2015年測(cè)繪地理信息公益性行業(yè)科研專項(xiàng)項(xiàng)目(201512004-04)
馮彥同,男,fengyantong0110@163.com
1672-6197(2015)06-0016-04
P208
A