2.10. WMTS-切片地图 Web 服务#
2.10.1. 概述#
WMTS(OpenGIS® Web Map Tile Service)当前版本是 1.0.0。
WMTS 标准定义了一些操作,这些操作允许用户访问切片地图。
WMTS 可能是 OGC 首个支持 RESTful 访问的服务标准。
2.10.2. WMTS 的原理和操作#
WMTS 的切片坐标系统和其组织方式可参考图 23:
图 23 WMTS 的坐标系统和组织方式
如果知道一个请求的边界范围,可以根据以下的算法获取切片的序号:
// 计算切片序号范围
epsilon = 1e-6[1] //一个不影响坐标精度的小数值
tileMinCol = floor((bBoxMinX - tileMatrixMinX) / tileSpanX + epsilon)
tileMaxCol = floor((bBoxMaxX - tileMatrixMinX) / tileSpanX - epsilon)
tileMinRow = floor((tileMatrixMaxY - bBoxMaxY) / tileSpanY + epsilon)
tileMaxRow = floor((tileMatrixMaxY - bBoxMinY) / tileSpanY - epsilon)
// 避免超出范围
if (tileMinCol < 0) tileMinCol = 0
if (tileMaxCol >= matrixWidth) tileMaxCol = matrixWidth-1
if (tileMinRow < 0) tileMinRow = 0
if (tileMaxRow >= matrixHeight) tileMaxRow = matrixHeight-1
在一个 WMTS 服务中包括以下 3 个操作:
GetCapabilities (获取服务的元信息)
GetTile (获取切片)
GetFeatureInfo (可选,获取点选的要素信息)
可以看到这些操作和 WMS 的操作非常的异曲同工。
2.10.3. GetCapabilities 操作#
1. KVP 格式请求#
GetCapabilities 操作需要以下的参数:
Table 2.11 Frozen Delights!#
参数
是否必须
默认值
SERVICE
是
WMTS
REQUEST=GetCapabilities
是
以下是一个 WMTS 使用 KVP 格式的 GetCapabilities 操作示例:
http://www.maps.bob/maps.cgi?
service=WMTS&
request=GetCapabilities
标准文档如是说,但我视得这个地方应该取一负值。
Note
上面这句话原文有,不知道是指什么。
2.SOAP格式请求#
以下是一个WMTS使用SOAP格式的GetCapabilities操作示例:
xmlns="http://www.opengis.net/ows/1.1"> AcceptVersions> AcceptFormats> GetCapabilities> soap:Body> soap:Envelope> 3.RESTful格式请求# GetCapabilities返回的就是服务的元信息(ServiceMetadata), 因此 RESTful 格式请求就是一个指向元信息的资源地址, 下面是一个 WMTS 使用 RESTful 格式的GetCapabilities操作示例: http://www.maps.bob/1.0.0/WMTSCapabilities.xml 2.10.4. GetTile 操作# 1. KVP 格式请求# GetTile 操作需要以下的参数: 参数 是否必须 默认值 SERVICE 是 WMTS REQUEST=GetTile 是 VERSION 是 1.0.0 LAYER 是 STYLE 是 FORMAT 是 TILEMATRIXSET 是 TILEMATRIX 是 TILEROW 是 TILECOL 是 Sample dimensions 参数 以下是一个WMTS使用KVP格式的GetTile操作示例: http://www.maps.bob/maps.cgi? service=WMTS& request=GetTile& version=1.0.0& layer=etopo2& style=default& format=image/png& TileMatrixSet=WholeWorld_CRS_84& TileMatrix=10m& TileRow=1& TileCol=3 2.SOAP格式请求# 以下是一个WMTS使用SOAP格式的GetTile操作示例: xmlns="http://www.opengis.net/wmts/1.0">