瓦片的底层原理总结——(一)地图比例尺的原理

本文的主要思想来自于李晓晖的博客,部分图片内容转载大佬的博客。以下内容是我对这些内容的个人总结。大佬的原文章:李晓晖 - 博客园http://www.cnblogs.com/naaoveGIS/


目录

1.地图比例尺中的Scale和Resolution

2.行列号——瓦片存放地址的标识 

3.屏幕上1像素代表的实际距离是多少?

4.平面坐标系和经纬度坐标系中的比例尺

4.1平面坐标系中的比例尺

4.2经纬度坐标系中的比例尺

5.总结


 

在了解瓦片的工作原理之前,我们需要了解地图比例尺在电脑界面是如何计算的

1.地图比例尺中的Scale和Resolution

首先我们来了解瓦片本身,我们用Arcgis进行切片操作后,得到的瓦片相关配置如下图(引用大佬的图片)

0fc34d58136249ca96e06d98aadd8ec0.png

其中,每层Level都有着它对应的Resolution和Scale数据

Scale表示的是比例尺,即地图上的一厘米代表着实际上的多少厘米。例如地图上1厘米代表实地距离500千米,可写成:1 ∶ 50,000,000或写成:1/50,000,000。

Resolution表示的是分辨率。Resolution 的实际含义代表当前地图范围内,1像素代表多少地图单位(单位:地图单位/像素),地图单位取决于数据本身的空间参考。例如在经纬度坐标系下,单位是。在平面坐标系下,单位是cm或者m

可见Resolution跟 dpi有关系(dpi代表每英寸的像素数),跟地图的单位也有关系。(因为Resolution的计算公式就是“地图单位/像素”)

注意:dpi中的“每英寸”指的是电脑屏幕上显示的距离

2.行列号——瓦片存放地址的标识 

在这里给大家再介绍一个GIS里的术语——行列号。我们可以这么想象,把一张矩形的地图,按照一定的规律(按照切图原点,切图范围,瓦片大小),分成了很多个大小相同的矩形,那么这个矩形所在位置,我么基本上是可以用Row和Col来表示出来。当然,如果我们了解影像金字塔这个概念,那么前面还要加上一个Level(影像级别),说通俗点就是你目前切割的这个矩形是属于整个影像中的哪一层的(Level的含义)。

这里,我们先看看切完地图后,瓦片的存放路径,我以离散型瓦片(Exploded)为例:

e7b2a429ca5849afba18628bf6bf55d9.png

L06表示级别,R0001179d表示行,这行下有C0000a24e和C0000a24f两列

要行列号怎么换算,那么下面这个问题你必须知道答案。

屏幕上1像素代表实际距离是多少?

3.屏幕上1像素代表的实际距离是多少?

在计算瓦片的行列号之前,我们需要得到图上一像素代表实际距离多少米。现在假设地图的坐标单位是米,dpi为96 ;
    1英寸=2.54厘米;
    1英寸=96像素;
    最终换算的单位是米;
    如果当前地图比例尺为1:125000000,则代表图上1米等于实地125000000米;
    米和像素间的换算公式:
    1英寸=0.0254米=96像素
    1像素=0.0254/96 米
    则根据1:125000000比例尺,图上1像素代表实地距离是 125000000*0.0254/96 = 33072.9166666667米。(这里乘以比例尺的原因是我们上一步得到的数值是1像素在电脑屏幕上的长度,不是实际距离)

(理解一下,不难)

4.平面坐标系和经纬度坐标系中的比例尺

4.1平面坐标系中的比例尺

平面坐标系就是投影坐标系,单位是m或者cm

当数据库为平面坐标系统时,此时系统中所需的比例尺应该从scale中取得。因为原scale中表示的实际单位是厘米,而我们系统中需要的单位是米,所以在填写地图比例尺时,会将scale除以一百后再填写。

4.2经纬度坐标系中的比例尺

当数据库为经纬度坐标系统时,此时系统中所需的比例尺应该从resolution中取得。此时的resolution直接代表了地图上一像素等于实际中的多少度。

但是,因为代码中已经有了一个如第三节中所描述的一个转换算法,所以此时在填写数据库中比例尺时,需要将此算法逆向换算后再填入。

即:(假设dpi = 96)比例尺 = resolution*96/inch2centimeter  (inch2centimeter指的是英寸转换cm的参数)

为什么这么计算?首先,经纬度坐标系统的比例尺是什么?答案是地图上1cm表示实际中的多少度(因为经纬度坐标系的单位是度),而resolution表示的是屏幕上1像素表示多少地图单位(在经纬度坐标系是度),所以96(dpi)除以inch2centimeter表示1cm有多少像素,再乘以resolution,就得到了1cm表示实际中的多少度

5.总结

 在了解屏幕上1像素代表实际距离多少是怎么算出来之后,我们可以进入下一部分了——根据地理范围换算出瓦片行列号的原理。

 

  • 14
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值