一、WMS(Web Map Service)
对于经常变动的空间数据通常将其发布成动态地图服务,WMS则是一个动态数据、定制地图(需结合SLD标准)的理想解决方案,根据请求范围在服务端动态生成数据渲染的图片返回客户端。
GeoServer为WMS提供1.1.1和1.3.0版本的支持。
版本1.1.1和1.3.0之间的主要区别是:
1)在1.1.1中,使用EPSG名称空间指定的地理坐标系被定义为具有经度/纬度的轴顺序。在1.3.0中,顺序为纬度/经度。
2)在GetMap操作中,srs参数在1.3.0中被crs替换。无论版本如何,GeoServer都支持这两个参数。
3)在GetFeatureInfo操作的x和y参数在1.3.0版中被称为i和j。除处于CITE兼容模式下外,GeoServer均支持两个参数,而与版本无关。
geoserver/wms?VERSION=1.1.1&REQUEST=GetMap&SRS=epsg:4326&BBOX=-180,-90,180,90&…
geoserver/wms?VERSION=1.3.0&REQUEST=GetMap&CRS=epsg:4326&BBOX=-90,-180,90,180&…
WMS可以分为两类:
1)Basic WMS(就是最常被提及的WMS,必须支持GetCapabilities/ GetMap操作)
2)Queryable WFS(必须在Basic WMS基础上加上GetFeatureInfo操作)
二、WMS支持的操作:
1. GetCapabilities(获取服务中的要素类及支持的操作)
2. GetMap(获取地图)
3. GetFeatureInfo(根据地图上的像素点获取更详细的要素信息,类似Identify功能)
WMS中只规定了KVP格式的请求。(OWS规范中的HTTP请求参数编码有KVP和XML两种)
GetCapabilities:
参数列表:
param | o/m |
---|---|
version | option |
service=wms | must |
request=GetCapabilities | must |
format | option |
updatesequence | option |
操作示例:
http://localhost:8080/geoserver/wms?service=wms&version=1.1.1&request=GetCapabilities
响应示例:
响应是功能XML文档,该文档是WMS服务的详细说明。它包含三个主要部分:
1)Service(服务)。包含服务元数据,例如服务于服务器的组织的服务名称,关键字和联系信息。
2)Request(请求)。描述WMS服务提供的操作以及每个操作的参数和输出格式。
3)Layer(层)。 列出可用的坐标系和图层。在GeoServer中,图层以“名称空间:图层”的形式命名。每一层都提供服务元数据,例如标题,摘要和关键字。
GetMap:
核心参数指定要在地图上显示的一个或多个图层和样式,地图范围的边界框,目标空间参考系统以及输出的宽度,高度和格式
参数列表:
param | o/m |
---|---|
version | must |
request=GetMap | must |
layers | must |
styles | must |
crs | must |
bbox | must |
width | must |
height | must |
format | must |
transparent | option |
bgcolor | option |
exceptions | option |
time | option |
elevation | option |
操作示例:
http://localhost:8080/geoserver/tiger/wms?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&FORMAT=image/png&TRANSPARENT=true&LAYERS=tiger:tiger_roads&exceptions=application/nd.ogc.se_inimage&SRS=EPSG%3A4326&STYLES=&WIDTH=476&HEIGHT=768&BBOX=-74.036865234375,40.6549072265625,-73.87344360351562,40.9185791015625
GetFeatureInfo:
GetFeatureInfo操作请求地图上给定位置的要素的空间和属性数据。
与WFS GetFeature操作类似,但是在输入和输出方面都不太灵活。因为GetFeatureInfo请求使用的参数是getMap操作返回的WMS图像的(x,y)像素值。
参数列表:
param | o/m |
---|---|
version | must |
request=GetFeatureInfo | must |
GetMap 参数 | must |
query_layers | must |
info_format | must |
feature_count | option |
x(i) | must |
y(j) | must |
exceptions | option |
操作示例:
http://localhost:8080/geoserver/wms?request=GetFeatureInfo
&service=WMS&version=1.1.1&layers=topp:states&styles=&srs=EPSG:4326&format=image/png&bbox=-145.151041,21.73192,-57.154894,58.961059&width=780&height=330&query_layers=topp:states&info_format=application/json&feature_count=50&x=353&y=145&exceptions=application/vnd.ogc.se_xml
响应示例: