WEB墨卡托投影
百度地图和Google Maps使用的投影方法都是墨卡托投影。 经过墨卡托投影后的经线是均匀分布,在此主要介绍纬度的变换方法。 墨卡托投影把纬度为Φ (-90°<Φ<90°)的点投影到 y = ln(tan(45° + Φ/2)) 这种投影算法使得赤道附近的纬线较密,极地附近的纬线较稀。极点被投影到无穷远,所以这种投影不适合在高纬度地区使用。Google Maps的选取的范围为 -π<y<π ,这样近似的有 -85°<Φ<85°
Google map的web Mercator投影实际上是把地球纬度-85~85的范围投影到和经度相同的范围,也就是-π~π之内。使用如下的公式
Y = ln(tan(45+A/2)) 其中Y是投影后的纬度,A是原始纬度
使用这种投影,实际上全球影像的经度和纬度范围都在-π和π之间,那么顶层实际只需要划分为4个块(level 1)。Google map 使用qrst来依次表示 左上、右上、右下、左下四个块。
对于任意的一个级别以及划分方式,比如 rt,第1级r表示右上的块,它的范围我们知道是
经度(0~180)纬度(0~85)范围内。那么它的左下子块(rt)的纬度范围应该是什么?
此时该块的投影范围应该是 (0~π/2),把π/2代入上的公式,可以反算回A的范围为
A = arctan(e^y)* 2 -90
A = arctan(e^(π/2)) * 2 – 90 = 66.51326044309°