GetCoverage 操作 |
GetCoverage 操作是必需的操作。
GetCoverage 操作允许客户端对 Coverage 的子集进行检索,一般在 GetCapabilities 和 DescribeCoverage 操作之后进行,因为通过这两个操作客户端能够了解服务端允许哪些请求以及哪些数据是可以获取的。GetCoverage 操作最终返回指定地理范围内指定域值内的某栅格数据。
客户端可以发送 KVP 编码的 Get 请求。
GetCoverage 操作的主要请求参数如下表所示:
表1 GetCoverage 操作请求主要参数
请求参数 | 是否必需 | 描述 |
SERVICE=WCS | 是 |
服务类型。 请求 WCS 服务,请求类型需要设为“WCS”。 |
REQUEST=GetCoverage | 是 |
请求名称。 请求 GetCoverage 操作,请求名称需要设为“GetCoverage”。 |
Version |
是 |
请求的 WCS 服务的版本。 |
Identifier |
是 |
指定所要请求的 Coverage 的唯一标识。 |
DomainSubset |
是 |
定义所要请求 Coverage 的时空范围。 包含 BoundingBox(必选)和 TemporalSubset(可选)两个参数,前者指定地理范围后者指定时间范围。 |
RangeSubset |
否 |
定义所要请求 Coverage 的值域范围。 |
Output |
是 |
指定输出设置。 包括 GridCRS(返回数据的地理参考系统,可选)、Format(返回数据的格式,支持png、GeoTiff格式。必选)和 store(“true”表示需要服务端把返回数据的所有内容存储在一个网络位置,并返回其 URL;“false”表示需要服务端直接返回数据;可选)。 |
说明:参数的大小写不是必须的,请求参数的顺序也可以任意顺序排列。
其中,RangeSubset 定义了客户端所期望的 Coverage 的某值域范围,如对于栅格高程数据或温度数据,通过这一参数可以只返回某几个高程范围或温度范围内的数据。RangeSubset 由一个或多个 FieldSubset 构成,FieldSubset 的具体参数详见下表。
表2 FieldSubset 主要参数
请求参数 | 是否必需 | 描述 |
Identifier |
是 |
请求的值域范围(field)的名称。 |
InterpolationType |
否 |
请求的值域范围内数据重采样使用的空间内插方法。 |
AxisSubset |
否 |
值域为矢量域时,可用于定义请求的矢量域坐标轴上的刻度值。 通过 Identifier 和 Key 两个参数来定义。 |
GetCoverage 操作的请求方式如下:
<ServiceRoot>?SERVICE=WCS&REQUEST=GetCoverage&Version=1.1.1&Identifier=Day@World&BoundingBox=&Format=
ServiceRoot 为服务的 URI 根目录,请参见 服务的 URI 设置。
例如本机 iServer 服务启动后,通过对 data-world/wcs111服务的GetCapabilities 操作和DescribeCoverage 操作,获取了服务中 Day@World 的相关信息,此时通过 GetCoverage 则可以获取 Day@World 中指定范围的数据,如下所示:
http://localhost:8090/iserver/services/data-world/wcs111?SERVICE=WCS&REQUEST=GetCoverage&Version=1.1.1&Identifier=1&BoundingBox=-90,-180,90,180,urn:ogc:def:crs:EPSG::4326&Format=image/png&Store=true
响应结果,参见响应示例。
服务器端根据客户端发送请求中的参数,以 Output 中 Format 指定的格式返回符合条件的数据,同时返回数据相关的元信息。
服务端返回的请求数据元信息如下表所示。
表3 响应数据的元信息
元素名称 | 是否必需 | 描述 |
BoundingBox |
是 |
返回数据的边界框。 |
GridCRS |
否 |
如果边界框中使用了地理参考系统,则需要指定此 CRS。 |
Transformation |
否 |
如果返回的数据没有进行地理校正但是进行了投影,则需要指出投影方法。 |
执行GetCoverage操作后,服务器端返回的 xml 格式的响应结果如下所示:
访问"http://127.0.0.1:8090/iserver/output/temp/25139431/Day_-1018300774.png",可获得 png 格式的 Coverage 数据。