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

WMTS地图服务每一层级分辨率的更多相关文章

  1. SuperMap iClient 如何使用 WMTS 地图服务(转载)

    原文链接: WMTS服务初步理解与读取 https://blog.csdn.net/supermapsupport/article/details/76806670 SuperMap iClient ...

  2. SuperMap iClient如何使用WMTS地图服务

    SuperMap iClient如何使用WMTS地图服务 什么是WMTS服务 WMTS,切片地图Web服务(Web Map Tile Service)当前版本是1.0.0.该服务符合 OGC(Open ...

  3. SuperMap iClient如何使用WMTS地图服务(转)

    http://blog.sina.com.cn/s/blog_6259ebd50102v221.html 什么是WMTS服务 WMTS,切片地图Web服务(Web Map Tile Service)当 ...

  4. Leaflet加载GeoServer发布的WMTS地图服务

    leaflet本身并不支持WMTS服务,需要借助leaflet-tilelayer-wmts插件实现,但是插件是为通用WMTS服务实现的.在使用的过程中出现了无法调用的问题,这里进行了稍微修改. 加载 ...

  5. Skyline中加载WMTS地图

    Skyline中默认是Bing地图,必应虽然免费无偏移,但在国内的影像质量并不是很好.不用担心,Skyline支持多种影像图层,包括WFS.WMS.WMTS地图服务.使用地图作为底图有两个好处: (1 ...

  6. 常见地图服务(WMS、WFS、WCS、TMS、WMTS

    1.网络地图服务(WMS) 网络地图服务(WMS)利用具有地理空间位置信息的数据制作地图.其中将地图定义为地理数据可视的表现.能够根据用户的请求返回相应的地图(包括PNG,GIF,JPEG等栅格形式或 ...

  7. wms、wmts、wfs等地图服务区别

    OGC     OGC 全称是开放地理空间信息联盟(Open Geospatial Consortium),是一个非盈利的国际标准组织,它制定了数据和服务的一系列标准,GIS厂商按照这个标准进行开发可 ...

  8. WMS、WFS、WCS、WPS、WMTS、WMSC、TMS等常见地图服务的区别

    WebGIS的开发者经常需要面对各种地图服务规范,例如WMS.WFS.WCS.WPS.WMTS.TMS.WMSC等.因此了解这些服务的内容是相当重要的,这里对常见的服务进行了整理. OGC联盟: 开放 ...

  9. OpenStreetMap/Google/百度/Bing瓦片地图服务(TMS)

    开源与成熟商业的瓦片地图服务(TMS  2  WMTS),都有如下共同的特性,基本成为了标准: (1) 坐标系:WGS84 (2) 投影:墨卡托投影(Marcator,正轴等角圆柱投影) ------ ...

  10. [转]OpenStreetMap/Google/百度/Bing瓦片地图服务(TMS)

    转自:https://blog.csdn.net/youngkingyj/article/details/23365849 开源与成熟商业的瓦片地图服务(TMS  2  WMTS),都有如下共同的特性 ...

随机推荐

  1. the solution of Mining Your Own Business

    the description of problem (我看的是 PDF 里面的原题所以这里描述会和题目不一样,但是大意一致) 给定一个未必连通的无向图,问最少在几个点设置出口,可以保证任意一个点坍塌 ...

  2. 《流畅的Python》 读书笔记 第三章字典和集合 20231017

    第3章 字典和集合 dict 类型是 Python 语言的基石 模块的命名空间.实例的属性和函数的关键字参数中都可以看到字典的身影 跟它有关的内置函数都在__builtins__.__dict__ 模 ...

  3. 本地化部署自建类ChatGPT服务远程访问

    Text generation web UI可为类ChatGPT的大型语言模型提供能够快速上手的网页界面,不仅可以提高使用效率,还可满足私有化部署,或对模型进行自定义.目前,该Web UI已经支持了许 ...

  4. 再学Blazor——组件

    Blazor 应用基于组件,组件可以复用和嵌套.本文内容如下: 组件类 组件嵌套 组件参数 组件对象 1. 组件类 所有组件都是继承 ComponentBase 组件基类,razor 文件默认继承 C ...

  5. 由mysql转为oracle注意事项

    1. text类型->nclob 2. 表名是关键字   引号 3. 字段名是关键字 引号 4. 日期型和mysql不同,hh24:mi:ss  就是HH:mm:ss,库里存日期型也可以(查询时 ...

  6. JDK 动态代理原理

    代理模式 客户端不直接访问目标对象,需要通过第三者来实现间接访问对象 代理对象在客户端和目标对象之间起中介作用,能够屏蔽目标对象不想让客户端知道的内容,或增加额外的服务 动态代理 JDK 动态代理:基 ...

  7. react,es6的括号问题

    JavaScript 会自动给行末添加分号.如果 return 后面换行不加括号就会变成 return;. 就是说因为jsx语句跨行了,如果写在一行是可以省略小括号的. const About = ( ...

  8. CSS 单行/多行文本溢出显示省略号(...)的实现

    作者:WangMin 格言:努力做好自己喜欢的每一件事 我们在项目开发的过程中也许都遇到过这样的问题:我们需要实现这样一个需求,在一个父级元素中隐藏一个可能过长的文本.而这个需求可以分解为两个,一个是 ...

  9. MySQL 数据库表格创建、数据插入及获取插入的 ID:Python 教程

    创建表格 要在MySQL中创建表格,请使用"CREATE TABLE"语句. 确保在创建连接时定义了数据库的名称. 示例创建一个名为 "customers" 的 ...

  10. 实现MyBatisPlus自定义sql注入器

    目标:新增mysql下的 插入更新的语法 INSERT INTO %s %s VALUES %s ON DUPLICATE KEY UPDATE %s 新增方法类,新增的方法名称为insertOrUp ...