GetCapabilities 响应 |
在调用 WMTS 服务的时候,通过 GetCapabilities 操作来请求 ServiceMetadata 资源,WMTS 将返回一个包含服务元数据文档的响应文件。
WMTS Capabilities XML 主要包含 ServiceIdentification、ServiceProvider、OperationsMetadata、Contents 和 Themes 几个组成部分。另外,每个服务元数据文档还必须包含唯一的版本号,以及获取该服务元数据的 URI 参数 ServiceMetadataURL,另外也可以包含服务元数据文档版本参数 UpdateSequence。
ServiceIdentification 是关于具体服务的元数据,是对服务的一个整体描述。它包含了 ServiceType、ServiceType Version、Title 等元素,还包括一些可选元素:Profile、Abstract、Keywords、Fees 和 AccessConstraints。
表1 ServiceIdentification 元素
元素名称 | 是否必需 | 描述 |
ServiceType |
是 |
服务类型。 由于是 WMTS 服务,其值为 WMTS。 |
ServiceTypeVersion |
是 |
服务版本。 WMTS 目前只有一个版本,其值为1.0.0。 |
Profile |
否 |
WMTS 应用简介的标识符。 SuperMap iServer 目前不支持该元素。 |
Title |
否 |
服务标题。 可以是一个或多个。 |
Abstract |
否 |
服务摘要。 提供有关服务器信息的简短描述。 |
Keywords |
否 |
关键词。 服务器中常用的词或短语。 |
Fees |
否 |
费用。 如果服务器没有使用费用,该元素可以忽略。如果使用了该元素,“none”(不区分大小写)表示免费,比如“<Fees>none</Fees>”。 |
AccessConstraints |
否 |
访问限制。 如果服务器没有应用访问限制,则可以忽略。如果使用了该元素,“none”(不区分大小写)表示没有访问限制,比如“<AccessConstraints>none</AccessConstraints>”。如果使用该元素,该元素的内容没有准确的语法定义,客户端可显示用户信息和行为内容。 |
ServiceProvider (可选)是关于服务提供商的信息,它包含了 ProviderName、ProviderSite 和 ServiceContact 元素。
表2 ServiceProvider 元素
元素名称 | 是否必需 | 描述 |
ProviderName |
是 |
提供商名称。 是对服务提供商的唯一标识。 |
ProviderSite |
否 |
提供商地址。 |
ServiceContact |
是 |
服务提供商的联系信息。 |
OperationsMetadata 描述了当前服务中支持的所有操作以及操作请求的 URI。OperationsMetadata 元素必须包含一个或多个 Operation 子节点,每个 Operation 子节点对应一个操作。OperationsMetadata 的元素说明如表3所示。
表3 OperationsMetadata 元素
元素名称 | 是否必需 | 描述 |
Operation |
是 |
操作。 用来标识该服务支持的操作,每个 Operation 节点对应一个操作,以 name 属性进行标识,如<Operation name="GetCapabilities">。Operation 的具体内容如下表4所示。 |
Parameter |
否 |
参数。 用于指定操作中一个或一些参数的有效域,以 name 属性标识参数名,Value 标签中给出参数的有效值,这些参数可能是操作中的输入输出参数,如 <Parameter name="Format"> <Value>text/xml</Value> </Parameter> SuperMap iServer 暂不支持该元素。 |
Constraint |
否 |
限制。 对应用于此服务器的非参属性的有效域的限制,以 name 属性标识非参属性名,Value 标签中给出限定值,如 <Constraint name="MaximumLayerLevels"> <Value>5</Value> </Constraint> SuperMap iServer 暂不支持该元素。 |
ExtendedCapabilities |
否 |
扩展能力。 关于服务器和软件附加能力的描述,SuperMap iServer 暂不支持该元素。 |
每个 Operation 节点必须包含一个或多个关于此操作的 DCP(分布式计算平台:Distributed Computing Platform)信息。另外还可以包含 Parameter、Constraint 和 Metadata 参数。
表4 Operation 元素
元素名称 | 是否必需 | 描述 |
name |
是 |
操作名。 每个 Operation 元素有一个操作名,如 GetCapabilities。表示方法是<Operation name="GetCapabilities">。 |
DCP |
是 |
该操作的分布式计算平台的信息。每个 Operation 元素可以包含一个或多个 DCP 节点,由于目前仅定义了 HTTP DCP,因此每个 Operation 只包含一个 DCP 节点,即 HTTP。通常,WMTS 服务中一个 HTTP 节点应该至少包含一个 Get 和/或一个 Post 节点,用于指示服务支持的请求方法。每个请求方法元素的具体内容见表5。 |
Parameter |
否 |
参数。 用于指定操作中一个或一些参数的有效域,以 name 属性标识参数名,Value 标签中给出参数的有效值,这些参数可能是操作中的输入输出参数,如 <Parameter name="Format"> <Value>text/xml</Value> </Parameter> 如果在具体的 Operation 中指定了某个参数的有效域,则 OperationsMetadata 中与它同名的参数有效域将被覆盖。SuperMap iServer 暂不支持该元素。 |
Constraint |
否 |
限制。 对应用于此服务器的非参属性的有效域的限制,以 name 属性标识非参属性名,Value 标签中给出限定值,如 <Constraint name="MaximumLayerLevels"> <Value>5</Value> </Constraint> 如果在具体的 Operation 中限制了某个非参属性的有效域,则 OperationsMetadata 中与它同名的非参属性有效域限制将被覆盖。SuperMap iServer 暂不支持该元素。 |
Metadata |
否 |
元数据。 关于当前操作及其实现的元数据。SuperMap iServer 暂不支持该元素。 |
表5 请求方法的元素
元素名称 | 描述 |
URI | URI。 客户端通过此地址访问服务,必需包含此元素。 |
Constraint | 限制。 对应用于此服务器的非参属性的有效域的限制。必需包含对编码方式的限制,即 必需包含一个名为 GetEncoding 或 PostEncoding 的 Constraint 元素。如果请求方法是 Get,则 name 为 GetEncoding,若果请求方法是 Post,则 name 为 PostEncoding。 如果在请求方法中限制了某个非参属性的有效域,则 OperationsMetadata 和 Operation 中与它同名的非参属性有效域限制将被覆盖。 |
DCP 元素的一个示例如下:
<ows:DCP>
<ows:HTTP>
<ows:Get xlink:href="http://localhost:8090/iserver/services/map-world/wmts100">
<ows:Constraint name="GetEncoding">
<ows:AllowedValues>
<ows:Value>RESTful</ows:Value>
</ows:AllowedValues>
</ows:Constraint>
</ows:Get>
</ows:HTTP>
</ows:DCP>
Contents 是对服务中可用图层的整体描述,它包括 Layer、OtherSource 和 TileMatrixSet 三个子元素。
表6 Contents 元素
元素名称 | 是否必需 | 描述 |
Layer |
否 |
图层。 每个地图对应一个图层,是可选参数,但是只有包含参数 OtherSource 并且那些服务可用时,Layer 参数才能为空。每个图层对应一个瓦片矩阵集,Layer 的子元素详见表7。 |
OtherSource |
否 |
其它源。 是对另外的服务数据源的引用。SuperMap iServer 暂未支持该参数。 |
TileMatrixSet |
否 |
瓦片矩阵集。 是对瓦片几何形状的描述。其子元素详见表8。 |
表7 Layer 元素
元素名称 | 是否必需 | 描述 |
Identifier |
是 |
标识符。 即 layer 的名字,标识符是唯一的。 |
Title |
否 |
标题。 |
Abstract |
否 |
摘要。 对当前图层的简短描述信息。 |
Keywords |
否 |
关键词。 描述当前数据集的常用词和短语。 |
WGS84BoundingBox |
否 |
WGS 84边界框。 WGS 84坐标系下定义的包围数据集的最小矩形,以经纬度坐标值表示,经度在前。WGS 84 边界框可以是近似值,但是应该尽可能的精确。 |
BoundingBox |
否 |
边界框。 在支持的坐标系下包围图层的最小矩形。 |
Style |
是 |
风格。 对应用于该图层的风格的描述,其具体内容见表9。 |
Format |
是 |
格式。 支持的瓦片输出格式,比如 JPG 等。可以是多种格式。 |
InfoFormat |
否 |
要素信息格式。 即支持的 FeatureInfo 文档的输出格式,是可选参数。如果没有指定 InfoFormat,该图层不能被请求。 |
Dimension |
否 |
维度。 适用于多维度数据。SuperMap iServer 暂不支持该元素。 |
Metadata |
否 |
元数据。 关于当前数据集的附加的元数据。SuperMap iServer 暂不支持该元素。 |
TileMatrixSetLink |
是 |
瓦片矩阵集链接。 它包含如下元素:
|
ResourceURL |
否 |
资源 URL。 Tile 或 FeatureInfo 资源的 URL 模板。它包括 format、resourceType 和 template 三个子元素。 |
表8 TileMatrixSet 元素
元素名称 | 是否必需 | 描述 |
Identifier |
是 |
标识符。 即名称。 |
Title |
否 |
标题。 |
Abstract |
否 |
摘要。 对瓦片矩阵集的简短描述。 |
Keywords |
否 |
关键词。 数据集中的常用词或短语的无序列表。 |
BoundingBox |
否 |
边界框。 在支持的坐标系下包围瓦片矩阵集的最小矩形。 |
SupportedCRS |
是 |
支持的坐标系。 |
WellKnownScaleSet |
否 |
通用比例尺集。 |
TileMatrix |
是 |
瓦片矩阵。 每个瓦片矩阵集中可以包含一个或多个瓦片矩阵。 |
表9 Style 元素
元素名称 | 是否必需 | 描述 |
Identifier |
是 |
标识符。 即风格的名称。 |
Title |
否 |
标题。 |
Abstract |
否 |
摘要。 |
Keywors |
否 |
关键词。 |
LegendURL |
否 |
图例 URL。 适应于当前 Style 的地图图例 URL。 |
IsDefault |
否 |
是否默认。 即客户端是否应该将指定风格作为第一选择,缺省值为 false。 |
Themes 是描述专题图层的元数据,该元素是可选的,一个 Themes 可以包含多个 Theme。Themes 元素包含 Identifier、Title、Abstract、Keywords、Theme 和 LayerRef 等子元素。SuperMap iServer 目前不支持 Themes 元素。
表10 Themes 元素
元素名称 | 描述 |
Identifier | 标识。 就是专题图名,如果服务器应用了 theme 元素,则必须包含 identifier 子元素,且是唯一的。 |
Title | 标题。 是可选参数,如果没有指定标题,客户端可以显示 Identifier 的值来代替。 |
Abstract | 摘要。 对专题图的简短描述,是可选参数。 |
Keywords | 关键词。 描述数据集的常用词或短语,是可选参数。 |
Theme | 专题。 对服务器上可被分级的专题图的子图层的描述,是可选参数。 |
LayerRef | 图层引用。 是可选参数。 |
执行 GetCapabilities 操作,得到请求示例的响应结果如下: