GetTile 请求

发送反馈


SuperMap iServer WMTS 服务目前提供了 KVP、 REST 两种实现方式,即支持两种方式的 GetTile 请求:

KVP 编码请求

请求参数

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。

该请求示例的响应结果请参见响应示例

REST 请求

资源与 URI

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。

该请求示例的响应结果请参见响应示例