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

在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[N],则各级别分辨率计算如下:

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

    {

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

    }

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

    min = resolution[N-1];

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

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值