比例尺(scale):表示地图上的距离与代表性当地距离之比,地图的比例尺实际上是地图的主要比例尺。 例如,地图上的1厘米表示当地距离5千米,可以写成1:500,000或1/500,000。
分辨率(resolution):在当前地图范围内,一个像素代表多少地图单位(x地图单位/像素),地图单位取决于数据本身的空间参照。
Resolution和Scale的转换算法:
Resolution与dpi有关,与地图的单位有关。 (dpi表示每英寸的像素数)
解析和缩放的转换算法
例如:
情况1 :如果地图的坐标单位为米,并且dpi为96
1英寸=2.54厘米;
1英寸=96像素;
最终换算的单位是米;
如果当前地图比例尺为1:125000000,则表示地图上1米的当地125000000米;
米和像素之间的换算公式:
1英寸=0.0254米=96像素
1像素=0.0254/96米
根据1:125000000的缩尺,图像上一个像素的代表性当地距离为125000000 * 0.0254/96=33072.916666667米。 我们的这个换算结果和切片的结果有一点0.07米的误差。 造成该误差的原因取决于英寸换算厘米的参数,服务器使用的换算参数1英寸约等于0.0254000508米。
情况2 :地理坐标系为wgs84时,地图的单位为度,dpi为96
服务器中等和米之间的换算参数:
一度约等于111194.872221777米
其次,需要进行度和像素之间的换算。
比例尺为1:64000000米的情况下,相当于1像素=64000000 * 0.0254000508/96=16933.3672米
把米转换成度16933.3672/111194.87221777=0.1522855043731385度
因此,在地图单位为度的情况下,近似计算在与1:64000000对应的Resolution中为0.1522855043731385度
Openlayers中的比例尺(scale)和分辨率(resolution)
Scale :比例尺、图上距离与当地距离之比。
Resolution :分辨率,每个像素表示的当地距离(mapunitsperpixels )。
Extent :地图的范围(地图周围)。
zoomlevel :缩放级别(0到15 )。
注:这些变量是“地图显示”的量化说明,因此具有最大值和最小值。
地图,base layer :地图是地图,其size也是决定显示的主要原因。 baselayer相当于地图的参考底图,许多缩放变换函数是在baselayer类中实现的,因此必须将baselayer添加到地图中。
要在Openlayers中正确显示地图,必须正确设置上述变量,但不一定要全部设置,否则全部设置、计算不正确可能会发生冲突。 选择设定部分,剩下的由Openlayers自动计算。