Scale 和 Resolution 的含义及转换算法
在上述片段中代表了每一级切片的信息,代表切片的级数。
在这里,代表比例尺。比例尺是表示图上距离比实 地距离缩小的程度,也叫
缩尺。公式为:比例尺=图上距离/实 地距离。用数字的比例式或分数式表示比例尺的
大小。例如地图上 1 厘米代表实地距离 500 千米,可写成:1∶50,000,000 或写成:
1/50,000,000。
,代表分辨率。Resolution 的实际含义代表当前地图范围内,1 像素
代表多少地图单位(X 地图单位/像素),地图单位取决于数据本身的空间参考。
当我们在进行 Web API 的开发时,经常会碰到根据 Resolution 来缩放地图的情况。
但是实际需求中我们更需要根据 Scale 来缩放,因此就涉及到 Scale 和 Resolution 的
转换。
Resolution 和 Scale 的转换算法:
Resolution 跟 dpi 有关,跟地图的单位有关。(dpi 代表每英寸的像素数)
Resolution 和 Scale 的转换算法
举例:
案例一:如果地图的坐标单位是米, 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 米。我们这个换算结果和切片的结果略微有 0.07 米的误差。这
个误差产生的原因是英寸换算厘米的参数决定 的,server 使用的换算参数 1 英寸约等
于 0.0254000508 米。
案例二:如果地理坐标系是 wgs84,地图的单位是度,dpi 为 96
Server 中度和米之间的换算参数:
1 度约等于 111194.872221777 米
接下来就需要进行度和像素间的换算:
当比例尺为 1:64000000 米时,相当于 1 像素 = 64000000*0.0254000508/96 =
16933.3672 米
再将米转换为度 16933.3672/111194.872221777 = 0.1522855043731385 度
因此当地图单位为度时,近似 计算在 1:64000000 对应的 Resolution 为
0.1522855043731385 度
验证结果: