• 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位小数):

    层级分辨率(米)
    0156543.033928
    178271.516964
    239135.758482
    319567.879241
    49783.939621
    54891.969810
    62445.984905
    71222.992453
    8611.496226
    9305.748113
    10152.874057
    1176.437028
    1238.218514
    1319.109257
    149.554629
    154.777314
    162.388657
    171.194329
    180.597164
    190.298582
    200.149291
    210.074646

    2.2. 大地经纬度

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

    180/256 = 0.703125

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

    层级分辨率(度)
    10.703125
    20.3515625
    30.17578125
    40.087890625
    50.0439453125
    60.0219726563
    70.0109863281
    80.0054931641
    90.0027465820
    100.0013732910
    110.0006866455
    120.0003433228
    130.0001716614
    140.0000858307
    150.0000429153
    160.0000214577
    170.0000107288
    180.0000053644
    190.0000026822
    200.0000013411
    210.0000006706

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

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

    1 纬度 ≈ 111 k m 1 经度 ≈ 111 k m × c o s ( ϕ ) 1纬度 \approx 111km \\ 1经度 \approx 111km \times cos(\phi) 1纬度111km1经度111km×cos(ϕ)

    其中 ϕ \phi ϕ表示纬度。

    3. 参考

    1. 经纬度一度等于多少米
  • 相关阅读:
    一句话实现冒泡排序
    阅读Skeleton.css源码,改善睡眠质量(尽管它只有419行代码)
    [附源码]计算机毕业设计springboot财务管理系统
    算法学习打卡day45|动态规划:股票问题总结
    奥威BI做数据可视化大屏报表,不踩坑更省心
    kubesphere安装部署(可离线部署)
    Spring Cloud Seata 分布式事务学习总结
    轻松实现H5页面下拉刷新:滑动触发、高度提示与数据刷新全攻略
    MongoDB深度学习
    Flutter中GetX系列三--Dialog使用详情(中间弹框)
  • 原文地址:https://blog.csdn.net/charlee44/article/details/126453770