隨著計算機和網(wǎng)絡技術已經(jīng)成為人們生活中不可或缺的一部分,地理信息系統(tǒng)的發(fā)展進入了一個新時期,各個行業(yè)對地理空間數(shù)據(jù)及其處理功能的需求日益增長,要求地理信息能夠廣泛地被共享、交換和訪問。因此,地理信息系統(tǒng)迫切需要發(fā)展成為面向大眾化的技術產(chǎn)業(yè),分布式異構環(huán)境下易于集成的地理信息服務應運而生。
地理信息服務是把地理空間數(shù)據(jù)和處理功能封裝為服務并發(fā)布在網(wǎng)絡上,允許通過網(wǎng)絡對地理信息進行集成和共享,為用戶構建分布式異構系統(tǒng)提供了有效資源,它主要包括數(shù)據(jù)服務和處理服務兩部分。在整個地理信息服務體系中,數(shù)據(jù)服務是基礎,任何服務都是基于海量、格式多樣的空間數(shù)據(jù)得以實現(xiàn)的。但是,大多數(shù)情況下人們真正需要的并不是各種地理數(shù)據(jù),而是數(shù)據(jù)中包含的信息及其提供的增值服務,最終實現(xiàn)空間處理和空間分析等功能,這就是地理信息處理服務的關鍵所在。
近年來,很多研究機構和部門相繼建立了公共或?qū)I(yè)的地理信息服務網(wǎng)站,但大多是基于專業(yè)3DGIS軟件的私有服務或OGC(Open GIS Con-sortium)中網(wǎng)絡地圖服務WMS ( Web Mapping Service)、網(wǎng)絡覆蓋服務WCS ( Web Cover Serv-ice)、網(wǎng)絡要素服務WFS(Web Feature Service)等服務,只提供了數(shù)據(jù)服務,沒有將地理信息處理服務作為其基本服務,缺少對處理服務的系統(tǒng)性研究。比如公共電子地圖中提供了地圖縮放、漫游、數(shù)據(jù)查詢等功能,但最短或最優(yōu)路徑查詢僅限于處理該網(wǎng)站的私有數(shù)據(jù),不支持用戶調(diào)用服務接口以完成自己的應用。
1、地理處理服務概述
1. 1處理服務定義
處理服務是在數(shù)據(jù)服務的基礎上,為了滿足客戶不同的需求,對本地數(shù)據(jù)或存放在網(wǎng)絡上的空間數(shù)據(jù)進行處理操作,并為用戶提供面向應用的增值服務,比如坐標轉(zhuǎn)換服務、柵格/矢量轉(zhuǎn)換服務、尺寸測量服務、路徑確定服務、地理編碼服務等。處理服務過程中用戶并不直接對空間信息資源操作,它強調(diào)過程,主要為用戶提供計算、分析、處理空間信息資源等功能。當用戶對同一數(shù)據(jù)有不同請求處理時,處理服務會針對用戶的請求從不同方面解讀該數(shù)據(jù),返回不同的處理結果。處理服務還遵循一定的通信機制,通過對空間數(shù)據(jù)建立計算和處理模型,既能夠為用戶提供通用的處理服務,也能靈活地針對某項具體應用提供特定處理服務,真正實現(xiàn)了處理服務多粒度、功能多樣化這一特性,滿足了用戶的不同需求。
1. 2處理服務基本原理
處理服務實現(xiàn)的整個過程中,對空間數(shù)據(jù)的分析、處理等操作在服務器端實現(xiàn)??蛻舳嘶诰W(wǎng)絡通信協(xié)議向服務器端發(fā)送請求,服務器端使用本地數(shù)據(jù)或共享網(wǎng)絡數(shù)據(jù),提供處理算法及計算模型,執(zhí)行處理服務,并將處理結果傳送給客戶端,具體實現(xiàn)過程如圖1所示。
服務客戶端主要有桌面GIS客戶端和Web-GIS客戶端兩種,可以基于HTTP傳輸協(xié)議或SOAP協(xié)議實現(xiàn)與服務器端的交互操作,通過網(wǎng)絡向服務器端傳送請求并得到相應返回結果;服務器端接收到用戶請求后,對地理空間數(shù)據(jù)進行格式轉(zhuǎn)換、投影轉(zhuǎn)換、坐標轉(zhuǎn)換等一系列操作,并提供空間數(shù)據(jù)分析處理算法和計算模型,支持用戶實現(xiàn)最優(yōu)路徑分析、緩沖區(qū)分析、疊加分析等處理服務;空間數(shù)據(jù)資源則為服務端執(zhí)行處理服務提供了有效數(shù)據(jù)源,包括標準的矢量數(shù)據(jù)、柵格數(shù)據(jù)和地理信息數(shù)據(jù),存在于處理服務的整個生命周期中,是成功完成處理服務的必要基礎。
1. 3處理服務主要實現(xiàn)方法
1. 3. 1 OGC WPS的服務標準
網(wǎng)絡處理服務規(guī)范WPS ( Web Processing Service)是OGC組織為所有地理處理服務提供的一個標準化協(xié)議,并指定了客戶端和服務器端實現(xiàn)的操作。它規(guī)定了處理服務的標準接口,并將處理功能模塊封裝為網(wǎng)絡服務,包括輸入?yún)?shù)、輸出參數(shù)和觸發(fā)方式,客戶端基于XML文檔通信方式,通過網(wǎng)絡可以共享空間信息及其處理功能。通過這三個接口,基于XML傳輸協(xié)議,可以實現(xiàn)客戶端與服務器端的互操作,客戶端可以通過網(wǎng)絡調(diào)用與空間數(shù)據(jù)處理相關的GIS函數(shù)功能。
1. 3. 2 ArcGIS Server的Geoprocessing Service
ESRI公司生產(chǎn)的ArcGIS Server軟件中Geoprocessing Service地理處理服務是將位于ArcGIS Server服務器端的地理數(shù)據(jù)處理模型或者包含一個處理模型工具圖層的地圖文檔發(fā)布為服務。它是一種地理數(shù)據(jù)處理工具,客戶端通過網(wǎng)絡向服務器端發(fā)送請求,服務器端提供了分析、計算模型,執(zhí)行空間分析和建模等功能,并將處理結果返回給客戶端,促進GIS功能從桌面向網(wǎng)絡方向發(fā)展。
1.3.3其他基于通用Web Service的處理服務
除了以上提到的基于OGC WPS服務標準的處理服務和ArcGIS Server軟件中Geopro-cessing Service地理處理服務外,還有一些基于通用Web Service的處理服務,比如企業(yè)服務總線ESB(Enterprise Service Bus)。企業(yè)服務總線ESB是一種基于面向服務架構SOA的處理服務技術,它是在分布式環(huán)境下,接受相關事件及消息的引導,并根據(jù)其內(nèi)容進行篩選,能夠傳送各種各樣的復雜數(shù)據(jù),還提供了一系列標準化接口,具有松耦合、易組合、可擴展、互操作等特點,有利于實現(xiàn)企業(yè)不同部門、不同業(yè)務單元、不同合作伙伴之間的應用集成。
2、處理服務構建的技術路線
本文首先對處理服務的定義及原理進行研究。其次,利用Visual Studio. NET開發(fā)平臺研究GIS算法封裝、服務流程編排及服務接口實現(xiàn)等內(nèi)容,關鍵是將處理功能封裝為Web服務及服務接口的實現(xiàn)??蛻舳讼蚍掌鞫税l(fā)送請求,服務器端接收并分析用戶請求,以XML文檔的形式返回處理結果,完成了客戶端與服務器端的互操作,幫助用戶根據(jù)需要調(diào)用相關處理服務。最后,結合全球地表覆蓋動態(tài)信息服務系統(tǒng)中變化檢測服務實現(xiàn)了將處理功能封裝為.asmx服務、基于JavaScript進行流程編排和服務調(diào)用等功能。技術路線圖如圖2所示。
3、基于.NET技術的處理服務構建方法
3. 1 GIS算法封裝
基于.NET平臺構建處理服務,為了提高Web處理服務中空間分析、空間處理等算法的可擴展性,建立算法注冊中心,開發(fā)人員可以將與處理功能有關的GIS算法封裝成為組件,通過在算法注冊中心注冊存放在算法庫內(nèi),便于GIS算法的查詢、集成和共享。
構建算法注冊中心的目的是維護算法類的元數(shù)據(jù)信息,這主要包括每個GIS算法的標識符、實現(xiàn)類的Qualified Name,算法的輸入、輸出參數(shù)等。為了能夠把所有GIS算法成功注冊到注冊中心,可以在服務初始化時將已有的算法模塊動態(tài)地加載到注冊列表中。接著,算法注冊中心將注冊列表中已注冊的算法類中定義的Annotation注釋信息提取出來,方便用戶搜索和使用GIS算法,實現(xiàn)處理功能的實時有效調(diào)用,如圖3所示。
3. 2處理服務流程編排
處理服務流程編排是通過流程驅(qū)動方式對有關Web服務組件進行組合和編排,以形成服務流程。由于Web服務具有松散耦合、分布式異構環(huán)境下易集成的特點,它要求服務流程編排應該滿足靈活、敏捷、可視化、個性化定制等特性。
處理服務流程編排實現(xiàn)過程中,分為前臺部分和后臺部分。前臺是優(yōu)化服務流程編排需求,包括流程的設計、替換、修改、保存等操作;后臺是利用前臺生成的XML文件對流程進行部署。用戶在前臺選擇新建流程后,首先根據(jù)自己的需要進行流程設計,并根據(jù)實際情況判斷是否需要對生成的XML文件進行調(diào)整和修改。然后,將符合要求的XML文件保存在后臺中,并且將此流程部署在數(shù)據(jù)庫中,便于外部系統(tǒng)以服務的形式調(diào)用該流程。由于外部系統(tǒng)發(fā)送的參數(shù)與本地參數(shù)存在差異,后臺會專門定義一個解析外部字符流的類來識別外部系統(tǒng)傳送過來的參數(shù),包括服務名稱、服務數(shù)據(jù)等內(nèi)容,最終完成該流程的順利執(zhí)行。處理服務流程編排的具體實現(xiàn)過程如圖4所示。
3. 3處理服務接口實現(xiàn)
處理服務接口是一組方法的邏輯組合,定義了外部可以調(diào)用的處理功能及其訪問方式,可作為客戶端調(diào)用Web處理服務的媒介。在設計處理服務接口時,接口描述文檔應該對接口的名字、參數(shù)、返回值等內(nèi)容進行詳細說明。其中,接口命名的方法尤其重要,它能幫助使用者快速了解該接口的用途。在定義接口參數(shù)時,參數(shù)要盡量簡單,不增加客戶端和服務器端的耦合性,仍舊保持松耦合、易集成的特性。當接口設計完成后,要能夠方便地對接口參數(shù)和返回值進行測試,保證返回值形式簡潔且與語言無關。若測試過程中出現(xiàn)異常,就需要提高XML文檔的靈活性,保證它不管是在正常情況還是異常情況下都能應對自如。處理服務接口的實現(xiàn)過程如圖5所示。
處理服務接口的實現(xiàn)需要通過Web Service描述語言WSDL ( Web Service Description Lan-guage)對接口信息進行說明,它基于XML語法描述Web服務,說明了服務所提供的操作方法、訪問協(xié)議、數(shù)據(jù)格式及服務的網(wǎng)絡地址等內(nèi)容。
4、處理服務的實例
全球地表覆蓋動態(tài)信息服務原型系統(tǒng)主要包括服務集成(Service Intergration)、服務搜索(Service Searching)、服務計算(Service Compu-tion)和變化標報(Making and Reporting)四個部分。本文主要研究實現(xiàn)服務計算部分,該部分實驗是基于.NET平臺,使用Visual Studio開發(fā)工具將變化檢測處理功能封裝為Web處理服務,用戶可以通過 Web瀏覽器發(fā)送請求,并得到相應的處理結果,實現(xiàn)處理功能的調(diào)用??蛻舳丝梢愿鶕?jù)自己的具體需求再做進一步處理。
4. 1變化檢測處理服務的實現(xiàn)
在全球地表覆蓋動態(tài)信息服務原型系統(tǒng)提供的變化檢測功能服務中,主要涉及到特征提取、特征匹配、最小二乘估計、仿射變換和變化檢測等算法函數(shù)。需將這些算法進行封裝為功能服務,其次基于JavaScript進行服務流程編排,最后進行處理服務調(diào)用。
4.1.1算法封裝為功能服務
本實驗中將特征匹配、最小二乘估計、仿射變換和變化檢測等遙感算法封裝在dll類庫中,在實現(xiàn)特征匹配、平差處理、影像糾正和變化檢測等處理功能時,可以通過編碼直接調(diào)用類庫中相對應的有關算法,并使用Visual Studio開發(fā)工具把處理功能封裝為服務。
4.1.2基于JavaScript的服務流程編排
本實驗中主要研究全球地表覆蓋動態(tài)信息服務系統(tǒng)中的遙感影像變化檢測服務,首先創(chuàng)建開始節(jié)點,選擇要進行變化檢測的兩幅原始遙感影像:原始影像1和原始影像2,接著按照特征匹配、平差處理、影響糾正、變化檢測的順序?qū)煞跋襁M行處理,最后指向結束節(jié)點。至此,就完成了變化檢測服務的流程編排。
4. 1. 3處理服務調(diào)用
以特征匹配服務為例,部分調(diào)用代碼如下:
4. 2變化檢測處理服務的檢測
打開變化檢測功能服務頁面后,會出現(xiàn)之前選擇的兩幅原始遙感影像:原始影像1和原始影像2,作為該處理過程的輸入數(shù)據(jù)。首先,對遙感影像分別進行特征提取,其結果如圖6所示。特征匹配完成后,進行平差處理和影像糾正,最后進行變形檢測,最終結果如圖7所示。
5、結束語
目前,在全球地表覆蓋動態(tài)信息服務系統(tǒng)中,只能在全球范圍內(nèi)搜索數(shù)據(jù)服務,不支持功能服務模塊中處理算法的搜索,服務流程編排中使用的功能服務選擇范圍較小,局限性比較強。接下來,將在該方向繼續(xù)研究,真正為使用者提供動態(tài)信息服務,實現(xiàn)服務的個性化定制。此外,隨著Internet網(wǎng)絡技術和計算機技術的快速普及和應用,Web Service開始由封閉、緊耦合向開放、松散耦合、異構環(huán)境下易于集成的方向發(fā)展。OGC提出的WPS規(guī)范就是針對Web處理服務指定的標準,但國內(nèi)對于WPS的研究現(xiàn)在處于起步階段,因此,對WPS的研究及應用還有很大的提升空間,可以作為今后研究方向之一。
原文來自:http://www.nutritioncertificationboard.com/blog/index.php/article/193.html