
当我们在用arcgis server 构建切片时,我们会发现在缓存生成的conf.xml中有这样的片段:
在上述片段中 在这里, 当我们在进行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:000000米时,相当于1像素 = 000000*0.0254000508/96 = 16933.3672米 再将米转换为度 16933.3672/111194.872221777 = 0.1522855043731385度 因此当地图单位为度时,近似计算在1:000000 对应的Resolution为0.1522855043731385度 验证结果:
