WMS(OpenGIS® Web Map Service)当前版本是1.3.0。WMS标准定义了一些操作,这些操作允许用户在分布式的环境下通过HTTP对空间数据进行出图等操作。
比起WFS,WMS的操作要简单的多:
1. GetCapabilities(获取服务中的要素类及支持的操作)
2. GetMap(获取地图)
3. GetFeatureInfo(根据地图上的像素点获取更详细的要素信息,类似Identify功能)
同样,这些操作并不是必须全部实现,而是实现全部或部分。根据所支持的操作不同,WMS可以分为2类:
1. Basic WMS(就是最常被提及的WMS,必须支持GetCapabilities/ GetMap操作)
2. Queryable WFS(必须在Basic WMS基础上加上GetFeatureInfo操作)
关于服务涉及的基本元素,可以参考前面的章节:《服务涉及的基本元素》。WMS中只规定了KVP格式的请求,因此下面介绍一下WMS的请求和响应内容。
GetCapabilities操作需要以下的参数:
参数 |
是否必须 |
VERSION |
|
SERVICE=WMS |
是 |
REQUEST=GetCapabilities |
是 |
FORMAT |
|
UPDATESEQUENCE |
以下是一个WMS的GetCapabilities操作示例:
http://www.someserver.com/wms?
VERSION=1.3.0&
SERVICE=WMS&
REQUEST=GetCapabilities
这样的请求返回的响应示例:
GetMap操作需要以下的参数:
参数 |
是否必须 |
VERSION |
是 |
REQUEST=GetMap |
是 |
LAYERS |
是 |
STYLES |
是 |
CRS |
是 |
BBOX |
是 |
WIDTH |
是 |
HEIGHT |
是 |
FORMAT |
是 |
TRANSPARENT |
|
BGCOLOR |
|
EXCEPTIONS |
|
TIME |
|
ELEVATION |
以下是一个WMS的GetMap操作示例:
http://www.someserver.com/wms?
VERSION=1.3.0&REQUEST=GetMap&
CRS=CRS:84&BBOX=-97.105,24.913,-78.794,36.358&
WIDTH=560&HEIGHT=350&LAYERS=BUILTUPA_1M,COASTL_1M,POLBNDL_1M&
STYLES=0XFF8080,0X101040,BLACK&FORMAT=image/png&BGCOLOR=0xFFFFFF&
TRANSPARENT=TRUE&EXCEPTIONS=INIMAGE
该请求的响应就是一张图片。
GetFeatureInfo操作需要以下的参数:
参数 |
是否必须 |
VERSION |
是 |
REQUEST=GetFeatureInfo |
是 |
GetMap请求参数 |
是 |
QUERY_LAYERS |
是 |
INFO_FORMAT |
是 |
FEATURE_COUNT |
|
I |
是 |
J |
是 |
EXCEPTIONS |
以下是一个WMS的GetFeatureInfo操作示例:
http://www.someserver.com/wms?
request=GetFeatureInfo&
VERSION=1.3.0&FORMAT=image/jpeg&
BBOX=-4.0325,-2.9078,40.5189,41.6436&
QUERY_LAYERS=Countries,Cities&
INFO_FORMAT=text/html
HEIGHT=400&WIDTH=400&
STYLES=&
I=290&J=246&