WMS-C、WMTS、TMS

    WMS-C   

    WMS-C全称是Web Mapping Service - Cached,对它完整的定义来源于OSGeo Wiki,2006年在FOSS4G会议上提出讨论,目的在于提供一种预先缓存数据的方法,以提升地图请求的速度,自始至终该标准都没有写入OGC之中。WMSC通过bbox和resolutions去决定请求的地图层级,为了更加直观的请求地图瓦片,一些软件做了一些改进,例如WorldWind在请求中使用level/x/y三个参数,直观明了。典型的基于WMSC的实现是TileCache,另外一个关于WMSC的参考:http://wiki.osgeo.org/wiki /WMS_Tiling_Client_Recommendation


wmts
    

WmtsMTS-切片地图Web服务

· 概述

WMTS(OpenGIS® Web Map Tile Service)当前版本是1.0.0。WMTS标准定义了一些操作,这些操作允许用户访问切片地图。WMTS可能是OGC首个支持RESTful访问的服务标准。

· 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个操作:

1. GetCapabilities(获取服务的元信息)

2. GetTile(获取切片)

3. GetFeatureInfo(可选,获取点选的要素信息)

可以看到这些操作和WMS的操作非常的异曲同工。

TMS

TMS是tile map service的缩写,是一种瓦片地图服务,也称之为WMTS(web map tile service),具体的标准可以见OGC网站。TMS的算法很简单,就是把投影后的世界地图按照层级进行四叉树(待验证)切割,切割后的瓦片数量随层级呈金字塔型,数量和层级关系如下表所示:

01 tile covers whole world1 tile
12 × 2 tiles4 tiles
24 × 4 tiles16 tiles
n2n × 2n tiles22n tiles
124096 x 4096 tiles16.777.216
16Maximum zoom for OpenCycleMap (mostly)232 = 4.294.967.296 tiles
17Maximum zoom for Osmarender layer17.179.869.184 tiles
18Maximum zoom for Mapnik layer68.719.476.736 tiles

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值