WMS服务介绍

WMSWeb Map Service)【网络地图服务】:后台地图服务器使用GIS数据,通过Internet提供带有地理信息图片的服务标准。

WMS定义了一系列请求类型(WMS支持标准HTTP中标准的GET请求和POST请求方式,不过对于WMS来说,基本都是基于GET方式的服务请求

#有2项请求是所有WMS Server所必需的:

1. GetCapabilities    例1    例2    例3

    返回(以一个xml文档形式返回服务级元数据):WMS的参数(图片格式、WMS版本兼容性);图层(包围盒大小、坐标系统、数据位置以及是否透明)   

    发展历史: 0.1.0, 0.0.3, 0.9, 1.0, 1.1, 1.1.1, 1.3.0
    目前市面上比较主流的主要是 wms1.1.1wms1.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

3个有效的GetMap链接:http://demo.mapserver.org/cgi-bin/wms?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&BBOX=-180,-90,180,90&SRS=EPSG:4326&WIDTH=953&HEIGHT=480&LAYERS=bluemarble,cities&STYLES=&FORMAT=image/png&TRANSPARENT=true

http://mrdata.usgs.gov/services/sc?REQUEST=GetMap&SERVICE=WMS&VERSION=1.1.1&WIDTH=256&HEIGHT=256&FORMAT=image/png&BBOX=-83.4,32,-78.4,35.3&LAYERS=South_Carolina_Lithology&SRS=EPSG:4326&STYLES=

http://mesonet.agron.iastate.edu/cgi-bin/mapserv/mapserv?map=/mesonet/www/apps/iemwebsite/data/wms/goes/conus_ir.map&SERVICE=WMS&REQUEST=GetMap&SERVICE=WMS&VERSION=1.1.1&WIDTH=256&HEIGHT=256&FORMAT=image/png&TRANSPARENT=TRUE&BBOX=-126,24,-66,50&LAYERS=conus_ir_4km_900913,conus_ir_4km&SRS=EPSG:4326&STYLES=

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中定义的内容。 

#更多

 WMS兼容性测试:http://cite.opengeospatial.org/teamengine/

原文地址:https://www.cnblogs.com/kekec/p/3131729.html