GIS中的墨卡托投影

来源:互联网 发布:东方网络是什么公司 编辑:程序博客网 时间:2024/05/21 10:23

像Google Map,就是用的墨卡托投影,找了很多资料,对这方面也有了一个大概的了解,“投影”特指将地球表面的地理信息转换到平面地图上来。为了保证地理信息从球面转换到平面之后之后,仍然能够被充分地表达和理解,投影要遵循一定的规则,这样的规则有很多种:有的强调面积不变;有的强调距离不变;有的强调角度不变...总之是千奇百怪,严重挑战人们的想象力,下面几幅图就是使用不同的投影模式制作的:

墨卡托投影,又称等角正切圆柱投影,其原理是假设有一个与在赤道与地球相切的圆柱面,先把球面映射到这个圆柱面,再把这个圆柱面展开成为一个平面。

在墨卡托投影中,强调角度不变——假定地球表面有两点A和B,在地球球面上,B相对于A的角度是北偏东,那么经过墨卡托投影之后,在平面地图上,B相对于A的角度仍然是北偏东。这一点在航海中非常重要,因为在茫茫大海中,没有什么参照物,只能根据罗盘或者星象来判断方位,如果地图上终点相对于出发点的方位角和实际的方位角不同,那么这样的地图在航海中没有实际意义。正因为如此,海图一般都是采用墨卡托投影规则制作的(极地海图除外)。

例:设地球的半径为R,已知地球上一点P的坐标是,其中表示经度,范围是-<<,负数表示西经,正数表示东经;B表示维度,范围是-<<,负数表示南纬,正数表示北纬。将地球球面通过墨卡托投影映射到平面直角坐标系中,以0度经线与赤道的交点的映射点为原点,X轴与纬线平行,并取东方为正方向;Y轴与经线平行,并取北方为正方向。求P点在平面直角坐标系中的映射点P'的坐标(Xp',Yp')。

解:根据墨卡托投影的原理可知,墨卡托投影是由一个和地球赤道相切的圆柱面展开而成的,所以展开之后的图形的宽度就是地球赤道的长度,P'点的X坐标就是通过P'点的经线与赤道的交点到0度经线和赤道的交点之间的距离,也就是赤道线的一部分,其值为:

求P’点的Y坐标稍微麻烦一点,我们看下图:

因为墨卡托投影要遵循的一个原则是方向角不变,所以映射过程中X方向和Y方向的缩放比例要相同。从图中我们可以知道,纬度为的纬线圈,投影过后变成和赤道一样长的一条直线,所以纬度为的点附近一个非常小的区域,投影过后,水平方向的放大比率是:

而根据墨卡托投影的规则,该块小区域垂直方向上上的放大比率也应该是,在投影之前的地球表面上,小块区域竖直方向的边长就是经线的一部分,我们可以用地球的半径乘以一个小角度来表示:

那么投影之后的小区域竖直方向上的边长应该是:

在上式中,对纬度进行积分,我们便可以计算出纬度是的点,投影之后的Y坐标是:

所以,最终的结果就是:

也许你会怀疑,这个积分是怎样计算出来的,说实话我也没有搞清楚,据说是骨灰级的数学家算出来的,如果你想验证,我建议你从微分入手,证明下式成立,可能会容易一些:

至此,我们已经了解了墨卡托投影的原理和坐标转换的算法,但是还只能是比较粗浅的了解,为了能够深入掌握这种投影技术,这里有几个思考题供大家练习:

1)很多人错误地认为,用一个柱面把地球罩起来,柱面与地球的赤道相切,在地球球心处点一盏灯,假设地球表面是半透明的,那么在柱面上能够得到地球表面的影子,把柱面上地球表面的影子固定下来,把柱面沿着0度经线裁开,展开成为平面图,就完成了墨卡托投影。这种说法是否正确?怎样证明?如果错了错在哪里?

2)根据墨卡托投影得到的平面图,南北极点投影到无穷远处,但是google maps的世界地图却是正方形的,所以google maps的地图上,靠近极地附近的地理信息肯定是缺失的,利用“正方形”做为切入点,计算google maps地图上,能够体现的最高的纬度是多少?

3)对于墨卡托投影,有一个非常形象的比喻,就是利用一个柱面把地球罩起来,柱面与地球的赤道相切,把地球看成一个大气球,不断地膨胀,接触到柱面的地方就粘在柱面上,粘住的部分就固定不动了,剩余的部分继续膨胀,继续粘在柱面上,从而完成投影。这种说法是否正确?怎样证明?

关键词:GIS墨卡托投影
原创粉丝点击