劉洪江,施仲添
(1.杭州市勘測設(shè)計(jì)研究院,浙江杭州 310012; 2.杭州市城市規(guī)劃信息中心,浙江杭州 310012)
基于WebService的坐標(biāo)系統(tǒng)實(shí)時(shí)轉(zhuǎn)換問題的研究與探討
劉洪江1?,施仲添2
(1.杭州市勘測設(shè)計(jì)研究院,浙江杭州 310012; 2.杭州市城市規(guī)劃信息中心,浙江杭州 310012)
坐標(biāo)系統(tǒng)的轉(zhuǎn)換參數(shù)通常不能對外提供,故GIS應(yīng)用中的坐標(biāo)實(shí)時(shí)轉(zhuǎn)換問題難以解決。本文在分析WebService技術(shù)的基礎(chǔ)上,提出了基于WebService的坐標(biāo)實(shí)時(shí)轉(zhuǎn)換方案,將坐標(biāo)轉(zhuǎn)換參數(shù)和公式封裝成WebService,以能在Web服務(wù)器端提供實(shí)時(shí)的坐標(biāo)轉(zhuǎn)換服務(wù)。為GIS應(yīng)用中坐標(biāo)系統(tǒng)實(shí)時(shí)轉(zhuǎn)換問題提供了一個(gè)解決思路。
WebService;坐標(biāo)系統(tǒng);實(shí)時(shí)轉(zhuǎn)
經(jīng)過近30年的時(shí)間,我國的GIS技術(shù)得到了長足的發(fā)展,地理信息應(yīng)用已逐步發(fā)展到社會(huì)化、網(wǎng)絡(luò)化階段。坐標(biāo)系統(tǒng)和空間參考是地理信息的基礎(chǔ)空間數(shù)據(jù)框架,異構(gòu)地理信息的集成應(yīng)用必須對不同空間數(shù)據(jù)的坐標(biāo)系統(tǒng)進(jìn)行轉(zhuǎn)換。目前基于Internet技術(shù)的WebGIS應(yīng)用越來越普遍,尤其是移動(dòng)式GIS的發(fā)展,對坐標(biāo)系統(tǒng)轉(zhuǎn)換(如WGS-84坐標(biāo)轉(zhuǎn)為地方坐標(biāo))提出了更高的要求,系統(tǒng)應(yīng)用往往需要能實(shí)時(shí)轉(zhuǎn)換坐標(biāo),但坐標(biāo)轉(zhuǎn)換參數(shù)通常不能對外提供,使這一問題難以得到合理的解決。
Web服務(wù)的出現(xiàn),給坐標(biāo)系統(tǒng)實(shí)時(shí)轉(zhuǎn)換方案的實(shí)現(xiàn)提供了技術(shù)基礎(chǔ)。WebService是分布式計(jì)算領(lǐng)域發(fā)展的前沿技術(shù),具有很多其他技術(shù)無法比擬的優(yōu)勢。如Web服務(wù)可以提供基于XML消息交換的、跨平臺(tái)、跨語言的解決方案;可以基于 J2EE、CORBA、COM、.NET等多種平臺(tái)進(jìn)行創(chuàng)建和部署;可以實(shí)現(xiàn)異源(heterogene-ous)應(yīng)用程序之間的互操作等等。所以將坐標(biāo)轉(zhuǎn)換參數(shù)和公式封裝成WebService,以便能在服務(wù)器端提供基于Web的坐標(biāo)轉(zhuǎn)換服務(wù)。該技術(shù)為坐標(biāo)系統(tǒng)實(shí)時(shí)轉(zhuǎn)換問題的解決提供了可行的方案。
2.1 基本概念
WebService即Web服務(wù),就是系統(tǒng)提供一組接口,并通過接口使用系統(tǒng)提供的功能。WebService是一種通過Web部署提供對業(yè)務(wù)功能訪問的技術(shù),它具有跨平臺(tái)、簡單和高度可集成等特點(diǎn),Microsoft在.NET中將WebService定位為溝通未來軟件的基礎(chǔ)。WebService采取簡單易理解的標(biāo)準(zhǔn)Web協(xié)議作為組件界面描述和協(xié)同描述規(guī)范。通過XML、SOAP、WSDL、UDDI等技術(shù)手段,屏蔽不同軟件平臺(tái)的差異。無論是CORBA、DCOM還是EJB都可以通過這一標(biāo)準(zhǔn)的協(xié)議進(jìn)行互操作,解決計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)無序性、異構(gòu)性和封閉性等問題。
2.2 標(biāo)準(zhǔn)和協(xié)議
WebService是建立在一些通用協(xié)議基礎(chǔ)上的,如HTTP、XML、SOAP、WSDL、UDDI協(xié)議等。下面簡要介紹這些協(xié)議:
(1)XML
XML(Extensible Markup Language),可擴(kuò)展標(biāo)記語言,是一種把數(shù)據(jù)表示為一個(gè)文本字符串的結(jié)構(gòu)化語言,用來在Web上的應(yīng)用與應(yīng)用或者用戶之間來交換數(shù)據(jù)信息。
(2)SOAP
SOAP(Simple Object Access Protocol),簡單對象訪問協(xié)議,是一個(gè)簡單的、輕量級的基于XML的協(xié)議,用于交換Web上結(jié)構(gòu)化和模式化的信息。
(3)WSDL
WSDL(Web Service Define Language),Web服務(wù)描述語言,它是一個(gè)建議性標(biāo)準(zhǔn),用于描述Web服務(wù)的技術(shù)調(diào)用方法。它向調(diào)用者提供服務(wù)地址、端口信息、接口名稱、調(diào)用參數(shù)等內(nèi)容。
(4)UDDI
UDDI(Universal Description Discovery and Integration),統(tǒng)一描述發(fā)現(xiàn)和集成協(xié)議,定義了一種發(fā)布和發(fā)現(xiàn)網(wǎng)絡(luò)服務(wù)信息的方式,起目錄服務(wù)器的作用。
2.3 WebService創(chuàng)建與調(diào)用
WebService是.NET戰(zhàn)略的一個(gè)比較重要的部分,.NET對其進(jìn)行了封裝,使WebService的創(chuàng)建和調(diào)用變得比較簡單。利用WebService可以創(chuàng)建真正的分布式應(yīng)用程序,WebService創(chuàng)建在服務(wù)端,客戶端通過HTTP協(xié)議向服務(wù)器發(fā)送SOAP請求,WebService返回客戶端XML格式的數(shù)據(jù)。服務(wù)端的WebService是必需的,中間層的SOAP、XML不必去關(guān)心,客戶端由代理對象(Proxy)負(fù)責(zé)與服務(wù)器端WebService的通信。所以在客戶端使用WebService,完全和使用一個(gè)本地對象是一樣的。
坐標(biāo)轉(zhuǎn)換參數(shù)(轉(zhuǎn)換公式)應(yīng)封裝為DLL或COM對象,并安裝在Web服務(wù)器端。Web服務(wù)器上建立WebService,在WebService中實(shí)現(xiàn)坐標(biāo)轉(zhuǎn)換的方法,該方法接收客戶端傳遞的輸入?yún)?shù)(如X,Y;B,L等),調(diào)用封裝在DLL或COM對象中的坐標(biāo)轉(zhuǎn)換公式,計(jì)算出需要的結(jié)果,并以XML格式返回給客戶端。
客戶端根據(jù)提供的身份驗(yàn)證,決定調(diào)用的WebService,并通過引用而使遠(yuǎn)程的WebService成為“本地”對象,以完成調(diào)用,從而獲取Web服務(wù)器計(jì)算返回的結(jié)果。
體系結(jié)構(gòu)圖如圖1所示。
圖1 坐標(biāo)實(shí)時(shí)轉(zhuǎn)換體系結(jié)構(gòu)
4.1 概述
某WebGIS系統(tǒng)運(yùn)行于政務(wù)內(nèi)網(wǎng),應(yīng)用中需要將GPS接收的WGS-84經(jīng)緯度坐標(biāo)實(shí)時(shí)轉(zhuǎn)換為地方坐標(biāo)。由于坐標(biāo)轉(zhuǎn)換參數(shù)不能直接提供,故采用Web-Service方案解決。首先要反算WGS-84與地方坐標(biāo)之間的轉(zhuǎn)換參數(shù),然后對參數(shù)進(jìn)行封裝,構(gòu)建WebService,提供給客戶端調(diào)用。
4.2 轉(zhuǎn)換參數(shù)的計(jì)算與封裝
WGS-84坐標(biāo)系與地方坐標(biāo)系的轉(zhuǎn)換已有成熟的技術(shù)方法,可按照公共點(diǎn)已知坐標(biāo)反算轉(zhuǎn)換參數(shù),經(jīng)典方法是采用Bursa-Wolf模型(七參數(shù))或Molodensky模型(三參數(shù))。在一定的區(qū)域范圍內(nèi),反算的坐標(biāo)轉(zhuǎn)換參數(shù)可以作為固定值。轉(zhuǎn)換參數(shù)應(yīng)封裝成動(dòng)態(tài)鏈接庫(DLL)或COM對象,在.NET環(huán)境中,封裝成.NET類庫是最合適的。編譯生成的文件是“?.dll”,如“coordTransDLL.dll”。
4.3 構(gòu)建WebService
在.NET環(huán)境中創(chuàng)建“ASP.NET Web服務(wù)”類型的網(wǎng)站,添加“Web服務(wù)”。在項(xiàng)目中要引用“coordTrans-DLL.dll”類庫,坐標(biāo)轉(zhuǎn)換函數(shù)即封裝在該類庫中。Web服務(wù)中坐標(biāo)轉(zhuǎn)換的實(shí)現(xiàn)代碼如圖2所示。
圖2 坐標(biāo)轉(zhuǎn)換的實(shí)現(xiàn)代碼
4.4 客戶端調(diào)用
客戶端調(diào)用亦在.NET環(huán)境中實(shí)現(xiàn)。在項(xiàng)目中添加Web引用,命名為“coordWebRef”,于是對遠(yuǎn)程的坐標(biāo)轉(zhuǎn)換WebService的使用就像使用本地對象一樣。實(shí)現(xiàn)代碼如圖3所示。
圖3 WebService調(diào)用的實(shí)現(xiàn)代碼
由于坐標(biāo)轉(zhuǎn)換參數(shù)的保密性質(zhì),空間數(shù)據(jù)坐標(biāo)系統(tǒng)的實(shí)時(shí)轉(zhuǎn)換在傳統(tǒng)計(jì)算技術(shù)的支持下難以實(shí)現(xiàn),WebService技術(shù)的發(fā)展為這一問題的解決提供了很好的方案。WebService支持真正的分布式計(jì)算,坐標(biāo)轉(zhuǎn)換工具以Web服務(wù)的形式運(yùn)行在特定的Web服務(wù)器上,用戶可以通過遠(yuǎn)程調(diào)用的方式將坐標(biāo)轉(zhuǎn)換工具集成到自己的應(yīng)用系統(tǒng)中,從而實(shí)現(xiàn)坐標(biāo)的實(shí)時(shí)轉(zhuǎn)換。本文對該方法進(jìn)行了具體的實(shí)現(xiàn),實(shí)踐證明能達(dá)到使用要求,該方案是可行的。
[1]明日科技.Visual C#開發(fā)技術(shù)大全[M].北京:人民郵電出版社,2007
[2]胡澤,廖聞劍,彭艷兵.WebService技術(shù)研究及應(yīng)用[J].硅谷,2009(5):48,8
[3]馬東青,張山山.基于WebService和oracle Spatial的數(shù)據(jù)的集成方案[J].西部探礦工程,2008(6):246~247
[4]廖超明,姜衛(wèi)平,覃允森.一種有效的WGS84坐標(biāo)系與地方坐標(biāo)系轉(zhuǎn)換方法[J].測繪通報(bào),2008(3):18~2
Research and Discussion on Real-Time Transformation of Coordinate System Based on WebService
Liu HongJiang1,Shi ZhongTian2
(1.Hangzhou Geotechnical Engneering and Surveying Institute,Hangzhou 310012,China;2.Hangzhou Urban Planning Information Center,Hangzhou 310012,China)
The transformation parameters of coordinate system usually can not be provided to the outside,so the problem that coordinate is real-timely converted in GIS application is difficult to solve.In this paper,after analyzing webservice technology,the scheme of real-time transformation has been proposed,which is based on webservice.The parameters and formula of coordinate transformation is packaged into webservice,and the real-time coordinate transformation service in the server-side can be provided.the new idea put forward in the paper has some reference,which is about real-time transformation of coordinate.
WebService;Coordinate System;Real-Time Transformation
1672-8262(2010)05-115-03
P226.3
B
2010—03—16
劉洪江(1973—),男,高級工程師,主要從事城市測繪與地理信息系統(tǒng)技術(shù)的應(yīng)用與研究工作。