一般意义的resolution地图分辨率和比例尺理解
1 分辨率
1.1 介绍
resolution表示的是分辨率,resolution 的实际含义代表当前地图范围内,1像素代表多少地图单位(X地图单位/像素)
1.2 一些单位说明
地图单位分为米和度 web墨卡托为例,地图单位为米
1.3 根据比例尺计算计算分辨率
在计算瓦片的行列号之前,我们需要得到图上一像素代表实际距离多少米(resolution),现在假设地图的坐标单位是米,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 一些使用
以xyz规范,原点在左上角,计算切片左上顶点计算为例 y轴 = 原点+y * resolution * tileSize x轴 = 原点+x * resolution * tileSize
2.比例尺
2.1 介绍
Scale:即比例尺,也就是地图上一米实际代表的距离。 一般有什么 1:1百万 1:50万 1:25万 1:10万 1:5万 1:2.5万 1:1万 1:5000 1:2000 1:1000 1:500
3.根据分辨率计算行列号
经纬度转web墨卡托坐标后 再除以tilesize*分辨率(单位像素代表多少米),取floor
注: 1.计算方式如下
static _getResolution(zoom) { const d = 2 * 6378137 * Math.PI; const resolution = d / (256 * Math.pow(2, zoom)); return resolution; }
web墨卡托resolutions
var resolutions = [ 156543.03392804097, 78271.51696402048, 39135.75848201024, 19567.87924100512, 9783.93962050256, 4891.96981025128, 2445.98490512564, 1222.99245256282, 611.49622628141, 305.748113140705, 152.8740565703525, 76.43702828517625, 38.21851414258813, 19.109257071294063, 9.554628535647032, 4.777314267823516, 2.388657133911758, 1.194328566955879, 0.5971642834779395, 0.29858214173896974, 0.14929107086948487]
2.看了下两种方式好像算结果相差不大