7 网络地图服务操作
网络地图服务定义了三个操作,分别是:GetCapabilities, GetMap,和GetFeatureInfo。本节规定了这些WMS操作在超文本传输协议(HTTP)分布式计算平台(DCP)上的实现和使用。未来的版本可能应用于其它的DCPs。
注意:如同在绪论中论述的,一个具有SLD的WMS还提供了另外的操作,这在参考资料[3]中说明。
7.1 GetCapabilities(必选)
7.1.1 概要
上面的基本服务要素一节中描述了GetCapabilities操作的目的。在网络地图服务的特定情况下,GetCapabilities请求的响应是关于服务本身的一般信息和关于可获取的地图的具体信息。
7.1.2 GetCapabilities请求概述
GetCapabilities请求的一般格式在基本服务要素一节已经定义。当生成WMS请求(该请求还可提供其它OGC网络服务)时,有必要指明客户端查找的是关于WMS的信息。因而,请求的SERVICE参数必需具有值\,如下表4所示。
表4 —GetCapabilities 请求URL的参数
请求参数 VERSION=version SERVICE=WMS REQUEST=GetCapabilities UPDATESEQUENCE=string 必选/可选 O R R O 说明 请求版本 服务类型 请求名 用于控制缓冲存储的数字序列或字符串
7.1.3 请求参数
7.1.3.1 VERSION
可选参数VERSION及其在版本协商中的使用已经在基本服务要素一节中做了规定。
在WMS版本1.0.0中,这个参数的名称为\。该名称现在已不使用,但为了向后的兼容性以及版本协商,1.0.0之后的服务器必须能接受任何一种格式而不发布服务异常。在VERSION和WMTVER都给出的情况下,VERSION优先。
7.1.3.2 SERVICE
SERVICE参数是可选的,它指出在一个具体服务实例中调用哪个有效服务类型。该参数允许使用相同URL前缀,提供用于多个OGC网络服务的Capabilities XML。
在调用实现该版本规范或以后版本规范的WMS中的GetCapabilities时,服务名称值必须用“WMS”。
25
在调用执行版本1.0.6或更早版本的WMS上的GetCapabilities时,客户端不应该使用SERVICE参数,服务器可以忽略它。此前的服务器在遇到该参数(或任何其它未知参数)时不可发布异常,这在WMS 1.0.0 [6]中6.2.5.1.4节和本规范中6.4.1节已有规定。
7.1.3.3 REQUEST
必选参数REQUEST的特性在基本服务要素一节作了规定。要调用GetCapabilities操作,就必须使用值“GetCapabilities”。在WMS版本1.0.0中,该参数的值是“capabilities”。这个值现在已不使用,但为了向后的兼容性1.0.0之后的服务器必须能接受任何一种格式而不发布服务异常。当一个客户端刚开始与一个WMS联络而又不清楚该服务的版本时,应该准备在REQUEST=GetCapabilities失败的情况下恢复请求,此时可以发送REQUEST=capabilities。
7.1.3.4 UPDATESEQUENCE
可选参数UPDATESEQUENCE用于维护缓存的一致性,其值可以是整型、[ISO 8601:1988(E)]格式的时间标志(timestamp)(参阅附录B),或任何其它的数字和字符。服务器可以在其Capabilities XML中包括一个UpdateSequence值。如果存在这样的值,那它必须在Capabilities发生变化时(如,新地图加入服务时)随着增加,并由服务器唯一地确定其构词顺序。客户端可以在其GetCapabilities请求中包括该参数。服务器根据客户端请求中存在的UpdateSequence的相对值和服务器元数据进行应答,应答必须遵守表5所列。
表 5 ? UpdateSequence 参数使用
客户端请求 UpdateSequence 值 none any equal lower higher
7.1.4 GetCapabilities响应
基本服务要素一节规定了GetCapabilities响应的一般规则。
在网络地图服务遵循该标准的该版本的的特定情况下,用扩展标记语言(XML)[XML 1.0] 作出的响应必须符合本文档附录A.1中的XML文档类型定义(DTD)。DTD规定了响应中所含的必选的和可选的元素,以及如何格式化这些元素。
服务器的Capabilities XML可以引用录A.1中DTD的准确的拷贝,不必引用附录中规定的URL中的原版文挡。存放DTD拷贝的URL必须合符要求并且可以访问,使XML验证软件能够检索它。
服务器可以采用其它已出版的或实验性的规范版本,在这种情况下,服务器须支持在基本服务要素一节所规定的版本协商规则。1.0.0版本的DTD作为同一版本WMS规范的附录出版。其它的DTD存档在http://www.digitalearth.gov/wmt/xml/上。
any none equal higher lower most recent Capabilities XML most recent Capabilities XML Exception: code=CurrentUpdateSequence most recent Capabilities XML Exception: code=InvalidUpdateSequence 服务器元数据UpdateSequence 值 服务器响应 26
7.1.4.1 Names与Titles的比较
许多元素具有
7.1.4.2 一般服务元数据
Capabilities XML的第一部分是一个
在网络地图服务中,服务的Name必须是\。
服务的Title取决于供应商,它应该是简洁的,同时又具有足够描述信息,使其在菜单中与其它服务区分开来。
Abstract元素可以包含一些描述性注解语句,以提供关于封装对象更多的信息。
Service 元素内的OnlineResource元素可用于如指向服务供应商的web地址,还有其它的OnlineResource元素,用于服务支持的操作的URL前缀。
还应该包括一些关键字或关键字短语的列表,用于帮助目录检索。目前,还没有定义受限制的词汇。
还应该包括有关联络信息。
如果没有费用规定或访问限制,必须使用保留词\(不区分大小写),如下所示:
7.1.4.3 Capability元数据
Capabilities XML 的
如6.5.11节所论述,可以包含可忽略的卖方元素。SLD WMS也会包含一个
7.1.4.4 Layers和Styles
WMS Capabilities XML最关键的部分是它所定义的Layers和Styles。在Capabilities XML中各种可获取地图都通过一个
对于提供的每个图层,地图服务器必须至少包含一个
27
没有确定限制词表,因而,目前Layer和Style的Names,Titles,以及Keywords都是任意的。
7.1.4.5 Layer 属性
7.1.4.5.1 Title
7.1.4.5.2 Name
当且仅当一个层具有一个
如果无效层被请求,服务器必须发出一个异常(code=\。
一个包含类别(containing category)本身可以包括一个Name,通过它能够一次性请求嵌套在其中的所有的层。例如,父层\可能有子层\和\,用户可以请求其中的任何一个单层,或是同时请求两个子层。 Name不能被子层继承。
7.1.4.5.3 Abstract和KeywordList
推荐使用可选的 和
7.1.4.5.4 Style
使用