概要
WMTS、TMS、XYZ 三种瓦片系统,都是用于地图的瓦片系统,但是它们之间有什么区别呢?
| 特性 | WMTS | XYZ | TMS |
|---|---|---|---|
| 标准组织 | OGC 官方标准 | Google 事实标准 | OSGeo 社区标准 |
| URL 复杂度 | 复杂(KVP)或中等(REST) | 简单 | 简单 |
| 坐标系支持 | 多种坐标系 | 仅 Web Mercator | 多种坐标系 |
| 原点位置 | 可配置 | 左上角(西北) | 左下角(西南) |
| y 轴方向 | 可配置 | 向下 | 向上 |
| 业界支持 | 广泛(企业级) | 非常广泛 | 较广泛(GIS领域) |
| 额外功能 | 时间维度、样式、版本控制 | 无 | 有限 |
| 性能 | 一般(URL长) | 优秀 | 优秀 |
Url 格式
WMTS
key-value(太冗长,不推荐): http://server/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER={layer}&STYLE={style}&FORMAT={format}&TILEMATRIXSET={TileMatrixSet}&TILEMATRIX={TileMatrix}&TILEROW={TileRow}&TILECOL={TileCol}
XYZ
http://server/layer/{z}/{x}/{y}.png
TMS
http://server/{z}/{x}/{y}.png
但是,对于传统的 TMS,这里的 y 和 XYZ 的方向是反的(转换公式见【原点和轴方向】)。新版本的 TMS 为了和 XYZ 保持一致,很多切换了 y 轴方向。
原点和轴方向
在 GeoServer 中,WMTS 默认配置与 XYZ 格式保持一致,而不是传统的 GIS 左下角原点。
原点: (0,0) = 左上角(西北角)
x 方向: 从左到右递增
y 方向: 从上到下递增(与屏幕坐标一致)
|
|
前端加载
WMTS、XYZ、TMS 需要分别用不同的组件进行加载。
WMTS 当作 XYZ 使用
GeoServer 默认的 WMTS 可以用 XYZ 来加载。
原 WMTS Url:
http://server/geoserver/gwc/service/wmts/rest/{layer}/{style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.{format}
转换 XYZ Url:
http://localhost:8080/geoserver/gwc/service/wmts/rest/test:roads/default/EPSG:900913/EPSG:900913:{z}/{y}/{x}.png
当 EPSG 为 4326 时,则需要进行缩放处理,不能直接当作 XYZ 加载。