详细介绍了WMTS地图服务中每一层级分辨率的计算方法。

目录

  • ​​1. 概述​​
  • ​2. 详论​
  • ​​2.1. Web墨卡托​​
  • ​​2.2. 大地经纬度​​
  • ​​3. 参考​​

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. ​​经纬度一度等于多少米​​