1. 程式人生 > >OGC WMS WCS WFS WPS 三大協議簡談

OGC WMS WCS WFS WPS 三大協議簡談

OGC WMS WCS WFS WPS 三大協議簡談

 

OGC1999年開始WMT1(Web Map Tested)和WMT2互操作專案。其中著名的GML來自WMT1的成果。
  
  在WMT2中OGC定義了三種地理參考資訊模型:Web Map Server(WMS) , Web Feature Server(WFS) ,Web Coverage Server(WCS) .
  
  1.Web 地圖服務(WMS)能夠根據使用者的請求返回相應的地圖(包括PNG,GIF,JPEG等柵格形式或者是SVG和WEB CGM等向量形式)。WMS支援網路協議HTTP,所支援的操作是由URL定義的。


  
  有三個重要操作GetCapabilities,GetMap,GetFeatureinfo。
  
  GetCapabilities返回服務級元資料。
  
  GetMap返回一個地圖影像。
  
  GetFeatureinfo返回顯示在地圖上的某些特殊要素的資訊。
  
  還有一些其它操作如DescribeLayer,GetLegendGraphic,GetStyles,SetSytles。
  
  事實上用傳統的觀點來解釋,GetMap獲得的就是在桌面程式中畫在控制元件上的裡的結果,是資料的表現。
  
  GetFeatureInfo更容易理解,它和幾乎所有的桌面程式上都用的Info按鈕功能相同,都是用來獲得螢幕座標某處的資訊,GetFeatureInfo中的引數是螢幕座標、當前檢視範圍等,在一定程度上也方便了客戶端的編寫。

  
  GetFeatureInfo可以同時返回多個圖層中的要素資訊,這一點和ArcGIS Desktop等也都是相同的。WMS還包括一些GetLegend之類的返回圖例資訊的請求,也是完全按照桌面既有的標準定義的。
  
  2.Web 要素服務(WFS)支援對地理要素的插入,更新,刪除,檢索和發現服務。該服務根據HTTP客戶請求返回GML資料。
  
  其基礎介面是:GetCapabilities,DescribeFeatureType,GetFeature
  
  GetCapabilities同上。
  
  DescribeFeatureType返回要素結構,以便客戶端進行查詢和其他操作。
  
  GetFeature可根據查詢要求返回一個符合GML規範的資料文件。GetFeature是最重要的介面。

  
  其它介面如Transaction 它不僅能提供要素讀取,同時支援要素線上編輯和事務處理。
  
  WFS對應於常見桌面程式中的條件查詢功能,WFS通過OGC Filter構造查詢條件,支援基於空間幾何關係的查詢,基於屬性域的查詢,當然還包括基於空間關係和屬性域的共同查詢。
  
  在Web上,WFS的請求不是以SQL實現的,而是通過Filter XML來實現,可擴充套件性更強。WFS所返回的是查詢的結果集,從某種程度上說,區別於WMS的“資料的表現”,WFS的結果集是由完整的Schema定義和約束的結果集,以GML為載體。這個結果集,類似於桌面程式查詢結果的資料表。
  
  
  3.Web地理覆蓋服務(WCS):提供的是包含了地理位置資訊或屬性的空間柵格圖層,而不是靜態地圖的訪問。
  
  根據HTTP客戶端要求傳送相應資料,包括影像,多光譜影像和其它科學資料.
  
  有二個重要操作GetCapabilities,GetCoverage
  
  GetCapabilities返回一個描述服務和XML文件,從中可獲取覆蓋的資料集合。
  
  GetCoverage是在GetCapabilities確定查詢方案和需要獲取的資料之後執行,返回覆蓋資料。
  
  還有可選操作DescribeCoverageType。
  
  WCS對應基於柵格資料的功能,與WMS基於向量資料的特點相對應。
  
  另:Web Processing Server(WPS)是新近推出的標準,它的功能其實我們已經耳熟能詳了。Processing即ArcView中的GeoProcessing,諸如Union,Intersect等方法。WPS要做的就是暴露基於URL介面來實現客戶端通過WebService對此類方法的呼叫、並返回資料。
  
  這些規範基本在各大主流GIS平臺和開源GIS軟體中得到支援。
  
  Intergraph早就推出了WFS伺服器和互操作開發包。
  
  ESRI在ArcIms 中開發了支援WMS,WFS等規範的相關部件,例如arcgis中的GP服務,詳細內容請檢視我的另外一篇博文http://blog.csdn.net/u011365716/article/details/54376276。
  
  MapInfo8.5也已經增加了能訪問WMS和WFS服務,也有讀取GML資料的藉口功能。
  
  GeoServer,MapServer地圖伺服器扮演向網路中的客戶端提供地圖服務的角色。這類地圖伺服器可以接收統一規範的WMS和WFS請求(request),返回多種格式的資料。這個過程有WMS/WFS規範的嚴格規定,所以,對客戶端來說其地圖伺服器的實現究竟是什麼並不會造成太大影響。這樣的規範,為公共的、聯合的地圖服務創造了可能。
  
  OpenLayers/MapBuilder,uDig,QGIS這些客戶端軟體分為瀏覽器和桌面客戶端程式兩種。以OpenLayers為代表的B/S系統客戶端現在已經非常強大,它可以封裝WMS請求,在瀏覽器上實現地圖的切片載入功能。另外拖動、縮放都功能也非常完善,可以實現跨瀏覽器操作。最近的OpenLayers版本還支援了向量編輯功能,可以通過WFS-t提交。而傳統的桌面客戶端程式功能則更加強大,支援多種包括WMS和WFS在內的資料來源,另外編輯功能、操作性也要比瀏覽器中的強大。