WMS(Web Map Service)【網絡地圖服務】:后台地圖服務器使用GIS數據,通過Internet提供帶有地理信息圖片的服務標准。
WMS定義了一系列請求類型(WMS支持標准HTTP中標准的GET請求和POST請求方式,不過對於WMS來說,基本都是基於GET方式的服務請求)
#有2項請求是所有WMS Server所必需的:
返回(以一個xml文檔形式返回服務級元數據):WMS的參數(圖片格式、WMS版本兼容性);圖層(包圍盒大小、坐標系統、數據位置以及是否透明)
發展歷史: 0.1.0, 0.0.3, 0.9, 1.0, 1.1, 1.1.1, 1.3.0
目前市面上比較主流的主要是 wms1.1.1 和 wms1.3.0 兩個版本
GetCapabilities參數:
(1) VERSION=version // WMS版本號 (沒有指定時,使用當前服務提供商提供的最高的wms版本服務)
(2) SERVICE=WMS // 當前為WMS服務 (此項在1.3.0 版本中必須要求,之前的版本可選)
(3) REQUEST=GetCapabilities // 請求名稱
2. GetMap 參數說明
返回:圖片(參數包括:圖片的高度/寬度、坐標系統、渲染方式、圖片格式)
GetMap必需的參數:
(1) VERSION=version // WMS版本號
(2) REQUEST=GetMap // 請求名稱
(3) LAYERS=layer_list // 請求圖層,多個圖層間用逗號分隔(如果SLD存在,該參數可選)
(4) STYLES=style_list // 指定每個圖層的渲染風格,多個圖層間用逗號分隔(如果SLD存在,該參數可選)
“STYLES=” 表示使用缺省風格;命名的style在map文件的CLASS GROUP中定義
(5) SRS=namespace:identifier // 空間坐標系統
(6) BBOX=minx,miny,maxx,maxy // 包圍盒(SRS坐標)
(7) WIDTH=output_width // 圖片寬度
(8) HEIGHT=output_height // 圖片高度
(9) FORMAT=output_format // 圖片格式
可選:
(1) SLD=sld_url // 圖層樣式描述文件的URL
(2) BGCOLOR=color_value // 背景顏色 缺省是0xffffff(白色)
(3) TRANSPARENT=TRUE | FALSE // 是否為透明,缺省是不透明
http://my.host.com/cgi-bin/mapserv?map=mywms.map&SERVICE=WMS&VERSION=1.1.1 &REQUEST=GetMap&LAYERS=prov_bound&STYLES=&SRS=EPSG:4326 &BBOX=-173.537,35.8775,-11.9603,83.8009&WIDTH=400&HEIGHT=300 &FORMAT=image/png
JS調用WMS的例子:http://openlayers.org/dev/examples/lite.html http://openlayers.org/dev/examples/wms.html
更多例子:http://openlayers.org/dev/examples/
#可選的請求:
1. GetFeatureInfo // 如果圖層為“可查詢“的,則可請求地圖圖像的坐標數據
2. DescribeLayer // 圖層描述信息
3. GetLegendGraphic // 獲取Legend(圖層管理器)的圖片
#服務器&客戶端
WMS服務器一般為webserver下的一個cgi可執行程序,負責響應客戶端發動過來的請求,並返回其所需的地圖數據。
WMS服務器通常提供的地圖格式為位圖,如PNG,GIF或JPEG。此外,也可以是矢量圖形,如點,線,曲線,文字,SVG或WebCGM格式。
客戶端一般就是瀏覽器程序了。客戶端與服務器之間通過HTTP協議進行通訊,通訊過程中的標准就是WMS中定義的內容。
#更多