GetTile 请求 |
SuperMap iServer WMTS 服务目前提供了 KVP、 REST 两种实现方式,即支持两种方式的 GetTile 请求:
GetTile 操作的 KVP 编码请求方式中,需要指定服务、版本、请求图层等参数,如下所示:
表1 GetTile 操作 KVP 请求参数
参数名称 | 是否必须 | 描述 |
Service=WMTS |
是 |
服务类型。 请求 WMTS 服务,请求类型需要设为“WMTS”。 |
Request=GetTile |
是 |
请求名称。 请求 GetCapabilities 操作,请求名称需要设为“GetCapabilities”。 |
Version=1.0.0 |
是 |
版本号。 WMTS 目前的版本号只有1.0.0。 |
Layer |
是 |
所请求的图层的名称。 必须有且唯一。 |
Style |
是 |
样式。 所请求的样式必须是 Capabilities 文档中列出的。SuperMap iServer 目前只提供默认样式,因此其值可以省略或者设为 default。 |
Format |
是 |
格式。 想要获得的资源格式,必须有且唯一,SuperMap iServer 目前支持的格式是 png。 |
TileMatrixSet |
是 |
瓦片矩阵集。 必须有且唯一。 |
TileMatrix |
是 |
瓦片矩阵。 必须有且唯一。 |
TileRow |
是 |
请求的瓦片行。 瓦片矩阵的行值从上到下依次是0、1……MatrixHeight-1。 |
TileCol |
是 |
请求的瓦片列。 瓦片矩阵的列值从左到右依次是0、1……MatrixWidth-1。 |
GetTile 操作的请求方式如下:
<ServiceRoot>?SERVICE=WMTS&REQUEST=GetTile&VERSION=version&Layer=&Style=&Format=&TileMatrixSet=&TileMatrix=&TileRow=&TileCol=
例如,本机 SuperMap iServer 启动成功 WMTS 1.0.0 服务之后,执行 GetTile 操作的 URI 为:http://localhost:8090/iserver/services/map-world/wmts100?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&Layer=World+Map&Style=default&Format=image/png&TileMatrixSet=GlobalCRS84Scale_World+Map&TileMatrix=2&TileRow=0&TileCol=0。
该请求示例的响应结果请参见响应示例。
GetCapabilities 操作的 REST 实现是对应 ServiceMetadata 资源,通过 get 请求实现,ServiceMetadata 资源的请求 URI 有两种, 如下所示:
<ServiceRoot>/{layer}/{style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}[.Format]
<ServiceRoot>/{layer}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}[.Format]
ServiceRoot 为服务的根 URI ,请参见服务的 URI 设置。Format 是图片的输出格式,SuperMap iServer 目前支持的格式是 png。
面向资源架构中的服务元数据文档中包含一个图层元素列表,而且每个图层元素包含一个或多个 <ResourceURL> 子元素,它用来指定访问 Tile 资源的 URI 模板。<ResourceURL> 包括 Format、ResourceType 和 Template 三个属性。按照 Template 中规定的格式给出具体的 URI 即可以标准 HTTP GET 方式请求 Tile 资源。<ResourceURL> 三个属性的具体说明如下表所示:
表2 请求 Tile 资源所需的 URI 参数
参数名称 | 描述 |
Format | 格式。想要获得的资源格式,必须有且唯一。 |
ResourceType | 资源类型。此处为 tile。 |
Template | URI 模板。其具体内容详见表2。 |
表3 URL Template 的参数
参数名称 | 描述 |
Layer | 所请求的图层的名称。必须有且唯一。 |
Style | 样式。所请求的样式必须是 Capabilities 文档中列出的。SuperMap iServer 目前只提供默认样式,因此其值可以省略或者设为 default。 |
Dimension | 维度标识。如果定义了多个维度,那么必须为每个维度定义一个 Dimension 元素。SuperMap iServer 目前不提供多维度的功能。 |
TileMatrixSet | 瓦片矩阵集的名称,必须有且唯一。 |
TileMatrix | 瓦片矩阵,必须有且唯一。 |
TileRow | 请求的瓦片行,瓦片矩阵的行值从上到下依次是0、1……MatrixHeight-1。 |
TileCol | 请求的瓦片列,瓦片矩阵的列值从左到右依次是0、1……MatrixWidth-1。 |
例如,本机 SuperMap iServer 启动成功 WMTS 1.0.0 服务之后,请求 Tile 资源的 URI 是: http://localhost:8090/iserver/services/map-world/wmts100/World+Map/default/GlobalCRS84Scale_World+Map/2/0/0.png。
该请求示例的响应结果请参见响应示例。