您的位置:首页 > 其它

GIS地图缩放级别和各级别分辨率的计算

2010-09-09 15:08 375 查看
在GIS中,地图的缩放比例的正确计算非常重要,下面给出计算原理和方法:



设定最大比例为max,最小比例为min,地图分辨率由小到大按b倍等比例缩放,计算缩放级别数N和各级别的分辨率resolutions[i]的方法如下:



1,计算最大最小分辨率比率

ratio = max / min -----(1)



2,计算缩放级别数N

可建立关系式:

min * pow(b, (N-1)) = max

代入(1)得到,pow(b, (N-1)) = ratio

推算出 N = (ln(ratio) / ln(b)) + 1

因为实际需要的N为整数,我们用向下取整函数进行取整,舍弃小数部分:

N = floor((ln(ratio) / ln(b)) + 1)



3,根据第2步计算出来的N,可以创建分辨率数组resolutions
,则各级别分辨率计算如下:

for (int i = 0; i < N; i++)

{

resolutions[i] = max / pow(b, i);

}

由于在第2步中,对N取整的原因,上面计算出来的第N个级别的分辨率与之前设定的min不一定相等,所以需要对min重新赋值:

min = resolution[N-1];

这样就完成了缩放级别和各级别分辨率的计算,为后面地图的正确缩放奠定了基础



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: