GetCapabilities 响应 |
在调用 WMS 服务的时候,对于 GetCapabilities 请求,WMS 将返回一个包含服务元数据格式的响应,并且该响应基于 WMS Capabilities XML schema。
WMS Capabilities XML 主要包含 Service 和 Capability 两个组成部分。
WMS Capabilities XML 中的<Service>元素中的内容表示通用服务元数据(General service metadata),该元素提供了对服务器通用元数据的一个整体描述。该数据包括 Name、Title 以及 Online Resource URL 元素,另外包括一些可选的内容:Abstract、KeywordList、ContactInformation、Fees、AccessConstraints 和 LayerLimit 元素等。
表1 通用服务元数据的元素
元素名称 | 描述 |
Name | WMS 服务的名称。 |
Title |
服务标题。 服务器的简短描述,取决于服务提供者,能够跟其他服务器相区分。 |
Abstract |
服务摘要。 提供有关服务器信息的更多描述。 |
OnlineResource |
在线资源。 提供服务提供者的网站参考。 其他 OnlineResource 元素是每个操作的 URL 前缀。 |
KeywordList|Keyword |
关键字。 服务器作为一个整体,能够有助于目录搜索。 |
ContactInformation |
联系信息。 应该包含该元素。 |
LayerLimit |
图层限制个数。 该元素值是一个正整数,表示允许客户端在单个 GetMap 请求 中能够请求的最大图层个数。 如果该元素不存在,则服务器默认为没有限制。 |
MaxWidth & MaxHeight |
最大宽度和高度。 这两个元素的值是正整数,表示运行客户端在单个 GetMap 请求中能够请求的图片的最大宽度和高度。 如果任意一个值没有,服务器将默认为没有限制。 |
Fees |
费用。 如果服务器没有应用费用,该元素可以忽略。 如果使用了该元素,“none”(不区分大小写)表示免费,比如“<Fees>none</Fees>”。 |
AccessConstraints |
访问限制。 如果服务器没有应用访问限制,该元素可以忽略。 如果使用了该元素,“none”(不区分大小写)表示没有访问限制,比如“<AccessConstraints>none</AccessConstraints>”。 如果使用该元素,该元素的内容没有准确的语法定义,客户端可以显示用户信息和行为内容。 |
<Capability>元素中的内容表达了服务器支持所支持的请求(GetCapabilities、GetMap 或 GetFeatureInfo),每一种操作的输出格式,以及每一个操作的 URL 前缀。XML schema 包含了不止 HTTP 一种分布式平台(Distributed Computing Platforms,DCP),但目前只定义了 HTTP 平台。
此外,<Capability>元素中还指明了异常格式,图层等信息。
WMS 服务元数据中,大部分都是图层的信息。WMS 服务器提供的地理信息内容都组织在图层中。
<Layer>元素的嵌套子元素,表达了图层的属性信息。
表2 图层属性
元素名称 | 是否必须 | 描述 |
Title |
是 |
图层标题。 不能被子图层继承。 |
Name |
否 |
图层名称。 如果一个图层只有一个<Name>元素,那么在 GetMap 请求 中可以使用 Name 作为 LAYERS 参数的值。 客户端不会请求一个只有 Title 而没有 Name 的图层。 如果客户端请求了一个非法的图层,WMS 服务器将抛出服务异常(code="LayerNotDefined")。 Name 不能被子图层继承。 |
Abstract |
否 |
图层摘要。 提供有关图层的更加详细的描述。 Abstract 不能被子图层继承。 |
KeywordList |
否 |
关键字列表。 KeywordList 包含0个或多个<Keyword>元素有助于目录搜索。 KeywordList 不能被子图层继承。 |
Style |
否 |
图层风格。 0个或多个<Style>用来表示单个图层或者图层集合的风格。每一个 Style 包含<Name>和<Title>元素。Name 用于设置 GetMap 请求中的 STYLES 参数。 Style 还可能包含其他一些元素。<Abstract>提供了风格的描述,<LegendURL>包含了地图图例的图片位置。 LegendURL 中的<Format>元素表示图例图片的 MIME 类型,<Format>元素的 width 和 height 属性表示图片的像素大小。 Style 可以被子图层继承,如果子图层的 Name 和父图层一样,则子图层将不会重新定义 Style。 |
EX_GeographicBoundingBox |
否 |
地理边界框。 每一个命名的图层将包含一个<EX_GeographicBoundingBox>元素,表示图层覆盖的最小边界矩形区域,以十进制的度数表示。EX_GeographicBoundingBox 有利于在没有坐标转换时的地理搜索。 该元素通过 westBoundLongitude、eastBoundLongitude、southBoundLatitude 和 northBoundLatitude 组成。 EX_GeographicBoundingBox 可以继承自父图层。 我们目前使用的是 EPSG:4326。 |
CRS |
是 |
坐标参考系统(Coordinate Reference System)。 每一个图层有一个或多个 CRS。 CRS 可以被子图层继承。根<Layer>元素包含0个或多个 CRS 元素,列举了通用于所有子图层的 CRS。 对空间参考系统的支持情况参见iServer OGC 服务支持发布的坐标参考系。 |
BoundingBox |
是 |
边界框。 一个图层包含1个或多个边界框。 < BoundingBox>元素包含以下属性:
BoundingBox 元数据指明了图层的坐标范围,请求参数 BBOX,指明了地图的区域。BBOX 区域和 BoundingBox 区域不一定要相交,包含或被包含。 BoundingBox 可以继承自服务图层。 |
MinScaleDenominator & MaxScaleDenominator |
否 |
最小最大比例尺倒数。 用于表示比例尺范围。 如果两个元素同时不存在,表示没有比例尺限制。 |
Dimension |
否 |
适用于多维数据。 Dimension 继承自父图层。 |
MetadataURL |
否 |
元数据 URL。 一个服务器应该使用1个或多个<MetadataURL>提供图层数据详细和标准的元数据。 不能被子图层继承。 |
Attribution |
否 |
该元素用于定义图层或图层集合的地理信息来源。
该元素可以被子图层继承。 |
Identifier & AuthorityURL |
否 |
WMS 服务器可以使用0个或多个<Identifier>列举 Authority 定义的 ID 号或者标签。 |
FeatureListURL |
否 |
要素 URL 列表。 |
DataURL |
否 |
DataURL 提供了一个被特定图层描述的数据的链接。 DataURL 不能被子图层继承。 |
表3 Layer 元素属性
属性 | 允许的值 | 含义(默认值为0) |
queryable | 0,false,1,true |
0,false:图层不可查。 1,true:图层可查。 |
cascaded | 0,正整数 |
0:图层还没有被层叠 Map 服务器(Cascading Map Server)转发。 n:图层已经被转发 n 次。 |
opaque | 0,false,1,true |
0,false:地图数据不是完全不透明。 1,true:地图数据完全不透明。 |
noSubsets | 0,false,1,true |
0,false:WMS 可以绘制一个完整边界框的子集。 1,true:WMS 只绘制完整边界框。 |
fixedWidth | 0,正整数 |
0:WMS 可以生成一个任意宽度的地图。 非0:地图的宽度固定,WMS 不能修改。 |
fixedHeight | 0,正整数 |
0:WMS 可以生成一个任意高度的地图。 非0:地图的高度固定,WMS 不能修改。 |
请求示例 的响应结果如下: