TMS服务和google tile瓦片组织方式

TMS服务和Google tile瓦片组织方式

TMS(瓦片地图服务,全称Tile Map Service),是开源空间信息基金会(Open Source Geospatial Foundation,简称OSGeo)定义的瓦片地图服务,与开放地理空间信息联盟(Open Geospatial Consortium,简称OGC)定义的WMTS(Web Map Tile Service)是不同的。
本文介绍TMS中的瓦片组织方式以及与Google tile的区别。

1.投影坐标系

在介绍瓦片组织之前,简单介绍一种投影坐标系:web Mercator坐标系,是WGS84坐标系通过伪墨卡托投影生成的投影坐标系,编号为EPSG:3857OSGEO:41001。这种投影坐标系广泛应用于Google Maps, OpenStreetMap, Bing, ArcGIS, ESRI等的渲染地图中,投影示意图如图所示,图片来源:https://blog.csdn.net/wt346326775/article/details/84255029。

以整个世界范围,赤道作为标准纬线,本初子午线作为中央经线,两者交点为坐标原点,向东向北为正,向西向南为负。
X轴:由于赤道半径为6378137米,则赤道周长为2PIr = 2×20037508.3427892,因此X轴的取值范围:[-20037508.3427892,20037508.3427892]。
y轴:本来纬度接近90度的时候,y轴是接近无限,但是为了在web上好计算,y轴的取值范围也定为了[-20037508.3427892,20037508.3427892] 。
由上面的x轴和y轴的取值范围,反计算得到经纬度的取值范围为:
经度: [-180,180]
纬度: [-85.05112877980659,85.05112877980659]
因此,地球通过web Mercator投影之后是个正方形

2.TMS瓦片的组织方式

网上很多关于TMS瓦片组织方式介绍,基本都是四叉树分割,但其实TMS瓦片常用组织方式还有另一种,下面介绍这两种方式。

2.1 四叉树分割

这里主要强调四叉树分割要求瓦片坐标系必须为webMocator投影坐标系,即编号为EPSG:3857OSGEO:41001。因为要保证瓦片是正方形,而webMercator投影之后为正方形,适合四叉树。
坐标原点在左下角:
x:-20037508.3427892
y:-20037508.3427892
数量和层级关系如下表所示:

01 tile covers whole world1 tile
12 × 2 tiles4 tiles
24 × 4 tiles16 tiles
n2n × 2ntiles22n tiles
124096 x 4096 tiles16.777.216 tiles
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

瓦片编号可参考https://rovertang.com/labs/tileindex/进行正反算。
瓦片计算公式:
n = 2 ^ zoom
xtile = ((lon_deg + 180) / 360) * n
ytile = (1 + (log(tan(lat_rad) + sec(lat_rad)) / π)) / 2 * n-1
在TMS地图服务中需要tilemapservice.xml对瓦片进行定义,如下图。特别需要注意坐标系编号,文件类型设置为global-mercator,以及其他一些设置。
在这里插入图片描述

2.2 0级先二分,后四叉树分割

TMS还有一种编码方式,这种编码方式需要瓦片坐标系为WGS84地理坐标系,它在0级将全球按照中央0°经线分为两块。其他级再进行四叉树分割。因为这样保证瓦片长宽比例尽量一致。
坐标原点在左下角:
x:-180
y:-90
数量和层级关系如下表所示:

02 tile covers whole world2 tile
14 × 2 tiles8 tiles
28 × 4 tiles32 tiles
n2*2n × 2ntiles2*22n tiles

瓦片计算公式(若有问题,请指教):
n = 2 (zoom+1)
xtile = ((lon_deg + 180) / 360) * n
ytile=((lat_deg + 90) / 360)*n
同样,设置tilemapservice.xml对瓦片进行定义,如下图。特别需要注意坐标系编号,文件类型设置为global-geodetic,以及其他一些设置。
在这里插入图片描述

3.TMS与Google tile的区别

理解了tms,就很好理解Google tile瓦片组织方式,与2.1类似,坐标系为webMercator投影坐标系,瓦片组织方式只有一点不同,y轴方向上编码从上向下,即坐标原点为左上角。

google瓦片x编码与tms一致,y编码关系如下。
GoogleYtile=2zoom-TMSYtile-1
因此,通过该公式可以实现,Google tile与TMS的相互转换。

  • 9
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值