WMTS地图服务每一层级分辨率

1. 概述

WMTS地图服务每一层级的分辨率是多少?关于这个问题以前推算过,但总是忘记了。网上查询又是一堆废话,现在把这个问题记录如下。

2. 详论

WMTS地图服务有两种形式的地图服务,Web墨卡托空间参考(EPSG:3857)下的切片和大地经纬度空间参考(EPSG:4326)下的切片。

2.1. Web墨卡托

我们知道,Web墨卡托是把全球范围内的坐标约束在范围[-20037508.3427892,20037508.3427892],并且取成正方形。而WMTS的一张瓦片像素宽高为256像素X256像素,同时第0层就是一张瓦片,那么其分辨率就很好计算了:

20037508.3427892 * 2 / 256 = 156543.033928

WMTS每一层宽、高依次往下倍增,形成一个四叉树,那么分辨率依次增大一倍,也就是分辨率值依次除以2。得到WMTS每一层级的地面分辨率(取6位小数):

层级 分辨率(米)
0 156543.033928
1 78271.516964
2 39135.758482
3 19567.879241
4 9783.939621
5 4891.969810
6 2445.984905
7 1222.992453
8 611.496226
9 305.748113
10 152.874057
11 76.437028
12 38.218514
13 19.109257
14 9.554629
15 4.777314
16 2.388657
17 1.194329
18 0.597164
19 0.298582
20 0.149291
21 0.074646

2.2. 大地经纬度

如果是大地经纬度空间参考下的WMTS,计算分辨率就更加简单了。我们知道,经度的范围(X方向)为[-180,180],纬度(Y方向)的范围为[-90,90],恰好是两倍的关系。为了保证瓦片像素宽高为256像素X256像素,很简单的方法就是让第一层为两张瓦片,左边经度范围为[-180,0],右边的经度范围为[0,180],这样仍然可以保证地理范围取成正方形。其分辨率为:

180/256 = 0.703125

同样从第一层开始往下四叉树划分,得到每一层级的地面分辨率(取10位小数):

层级 分辨率(度)
1 0.703125
2 0.3515625
3 0.17578125
4 0.087890625
5 0.0439453125
6 0.0219726563
7 0.0109863281
8 0.0054931641
9 0.0027465820
10 0.0013732910
11 0.0006866455
12 0.0003433228
13 0.0001716614
14 0.0000858307
15 0.0000429153
16 0.0000214577
17 0.0000107288
18 0.0000053644
19 0.0000026822
20 0.0000013411
21 0.0000006706

这个时候有两个问题需要说明:

  1. 经纬度的WMTS切片是没有第0级的,因为第0级是一个2:1的全球范围,无法放入一个正方形切片。
  2. 经纬度的WMTS切片分辨率单位是度,那么1度等于多少米呢?这个没有一个准确的定论,只能说一个大概:

\[1纬度 \approx 111km \\ 1经度 \approx 111km \times cos(\phi) \]

其中\(\phi\)表示纬度。

3. 参考

  1. 经纬度一度等于多少米
posted @ 2022-08-21 18:24  charlee44  阅读(1310)  评论(1编辑  收藏  举报