DescribeCoverage 操作是必需的操作。

DescribeCoverage 操作允许客户端请求某个 WCS 服务的一个或多个栅格图层的全部描述信息。服务端会返回描述所请求的 Coverage 图层详细信息的 XML 文档。

请求

客户端应发送以 KVP 编码的 Get 请求。

请求参数

DescribeCoverage 操作的主要请求参数如下表所示:

表1 DescribeCoverage 操作请求主要参数

请求参数

是否必需

描述

SERVICE=WCS

是

服务类型。

请求 WCS 服务,请求类型需要设为“WCS”。

REQUEST=DescribeCoverage

是

请求名称。

请求 DescribeCoverage 操作,请求名称需要设为“DescribeCoverage”。

Version

是

请求的 WCS 服务的版本。

Identifiers

是

指定所要请求的图层。

identifiers=identifier1, identifier2,……

说明:参数的大小写不是必须的,请求参数的顺序也可以任意顺序排列。

请求示例

DescribeCoverage 操作的请求方式如下:

<ServiceRoot>?SERVICE=WCS&REQUEST=DescribeCoverage&Version=1.1.2&Identifiers=*,*

ServiceRoot 为服务的 URI 根目录,请参见 服务的 URI 设置。

例如本机 iServer 服务启动后,对 data-world/wcs112 服务的 GetCapabilities 请求返回的 XML 文档中介绍了当前服务的而相关信息和服务中可用的 Coverage 图层信息,相见GetCapabilities 操作。由此可见,data-world/wcs112提供了两个可用的 Coverage 图层,Identifier 分别为:1、2,本例将请求 Identifier=1,即 Day@World 的详细信息,请求 URI 如下所示:

http://localhost:8090/iserver/services/data-world/wcs112?SERVICE=WCS&REQUEST=DescribeCoverage&Version=1.1.2&Identifiers=1

返回的响应结果参见响应示例。

响应

服务端会返回描述所请求的每一个 Coverage 数据详细信息的 XML 文档,即每个 Coverage 的 CoverageDescription。

响应参数

CoverageDescription 包含以下主要内容:

表2 DescribeCoverage 操作返回内容

元素名称

是否必需

描述

(Description)

是

Coverage 的描述。

Identifier

是

当前 Coverage 的唯一标识。

Metadata

否

当前 Coverage 的更多元信息。

Domain

是

当前 Coverage 的可用时空范围。详见Domain。

Range

是

当前 Coverage 值的范围。详见Range。

SupportedCRS

是

支持 GetCoverage 操作返回数据的坐标参考系统。

SupportedFormat

是

支持 GetCoverage 操作返回数据的格式。如 GeoTIFF、HDF-EOS、NITF、CF-NetCDF 等。

Domain

Domain 分为 SpatialDomain(空间域,必需参数)和 TemporalDomain(时间域,可选参数)两种,前者表示当前 Coverage 的空间范围,后者表示当前 Coverage 的时间点序列或时间间隔序列。

SpatialDomain 的主要标签如表3所示。

TemporalDomain 主要由 TimeSequence 构成,TimeSequence 由 TimePositionOrInterval 来确定,即 TimePosition 和 TimePeriod 最终决定了时间域。定义 TimePeriod 的参数如表4所示。

表3 SpatialDomain 的主要内容

元素名称

是否必需

描述

BoundingBox

是

当前图层的边界框。

GridCRS

否

当前 Coverage 的坐标参考系统。

Transformation

否

当前 Coverage 如果需要投影转换,使用此投影转换方法。

ImageCRS

否

如果当前 Coverage 没有 GridCRS,则需要使用 ImageCRS。

Polygon

否

用来描述当前 Coverage 的 Domain 的多边形。

 

表4 TimePeriod 的参数

元素名称

是否必需

描述

BeginTime

是

当前段的起始时间。

EndTime

是

当前段的结束时间。

TimeResolution

否

时间分辨率。

frame

否

时间参照系。

Range

Range 中值的范围主要通过 Field(必须参数)来描述,如对于栅格高程数据或温度数据,通过这一参数可以描述可返回数据的高程范围或温度范围。而 Field 是从标量(scalar-valued)或矢量(vector-valued)方面对 Range 的描述,包含以下参数:

表5 Field 的主要参数

元素名称

是否必需

描述

(Description)

是

当前范围的简述。

Identifier

是

当前范围的唯一标识。

Definition

是

当前范围的更多定义信息,包括含义、单位等。

NullValue

否

如果没有合法范围值,则使用此参数。

InterpolationMethods

是

差值方法,服务端对于当前 Coverage 的可获取值域范围(Field)所支持的差值方法。

Axis

否

矢量范围的控制变量,即坐标轴刻度值,详见表6。

表6 Axis 的主要参数

元素名称

是否必需

描述

(Description)

是

Axis 的简要描述。

Identifier

是

当前 Axis 的唯一标识。

AvailableKeys

是

当前 Axis 的 Key 值列表。包含子元素 Key,用于表示某一 key 值。

Meaning

否

当前 Axis 值的含义或意义。

DataType

否

当前 Axis 值数据类型。

ValuesUnit

否

如果有需要,通过此参数提供当前 Axis 值单位参照系。

Metadata

否

关于这些数值域元信息的补充。

响应示例

请求示例中对 data-world/wcs112 服务中的 Day@World 影像数据执行 DescribeCoverage 请求后,服务端返回的 XML 文档如下所示: