WMS服务介绍
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中定义的内容。
#更多