By Long Luo
最近在书店里看到一本 《数学的奥秘》 ,原著是 《The Secret Life of Equations: The 50 Greatest Equations and How They Work》 ,讲的是最伟大的数学方程式起源、构成、含义和应用。书的内容并不多,我看了其中的一部分,里面有讲 墨卡托投影(Mercator projection) 。
我对地理和地图一直很感兴趣,但之前对原理一直一知半解的,只知道我们常见的地图都是墨卡托投影,由墨卡托 在 1569年创立。但墨卡托投影的原理是什么却并不清楚。书里面只有几页,但具体公式缺乏说明及推导过程,所以这几天通过查找资料掌握了墨卡托投影的原理。
如何绘制地图?
在大航海时代,航海家可以通过六分仪和观察日月星辰获取到经纬度,但在茫茫大海中迷失方向是很可怕的事情,如何才能正确的航行到目的地呢?
地球由于自转是一个两极比赤道略短的扁球体,但扁率约为 1/300 ,非常之低,因为可以视为球体。因为球面不是可展曲面,也就是如果展成平面的话,长度会发生形变,所以也会形变。因为根据高斯绝妙定理(Gauss theorem egregium) ,平面的高斯曲率为 0 ,而球面的高斯曲率为 R21 ,其中 R 为球面半径,所以在保持图形完整性前提下,将球面转化为平面,投影后得到的经纬线网形状必然会产生变形,也就是说,在投影的过程中,变形是必然存在的。
在这种情况下,墨卡托运用等角圆柱投影法绘制了航海图,极大地方便了航海家。有了墨卡托海图,航海家想要到达某个目的地,只需要在出发点和目的地之间连一条直线,量出这条航线和经线的夹角,按照航行路线就能到达目的地。

什么是墨卡托投影?
设想将地球置于在一中空的圆柱里,如下图所示,其基准纬线(赤道)与圆柱相切。再设想地球中心处放置一灯泡,那么从球心处发射的光线会把球面上的图形投影到圆柱体上,之后再将把圆柱体展开,那么就可以得到一张墨卡托投影绘制出的地图。

墨卡托公式的推导
设 P(lng,lat) 表示投影前的球面上的点,在数学上我们常使用弧度制,则表示为 P(λ,φ) ,其中 λ=lng⋅180π ,φ=lat⋅180π ,所以墨卡托投影就是将球面上的 P(λ,φ) 转换为平面直角坐标系 P′(x,y) ,即定义为下面的一个映射:
f:P→P′
那么则有函数 fx 和 fy :
{xy=fx(λ,φ)=fy(λ,φ)
如下图,图中由经纬线分割出的方块区域 □KPMQ 映射为 □K′P′M′Q′ ,如果 P 和 Q 点足够近的话,那么 □KPMQ 可以近似为矩形。

P 的经纬度为 [λ,φ] ,相邻点 Q 的经纬度为 [λ+dλ,φ+dφ] ,那么平行赤道的纬线所在圆的半径 r=Rcosφ ,则有圆弧:
PM=r×dλ=Rcosφdλ
,圆弧 PK=Rdφ 。投影变换后平面上的矩形长宽分别为 dx 和 dy 。
在变换后,在微观局部应该保持长宽比例不变,那么:
dyR⋅dφ=dxR⋅cosφ⋅dλ
另外也可以根据墨卡托投影是等角投影, ∠α=∠β ,则有:
tan∠α≈QMPM=RdφRcosφdλ
tan∠β=Q′M′P′M′=dydx
那么:
RdφRcosφdλ=dydx
显然同一条经线上的点,变换到墨卡托之后横坐标相同,而横坐标的值就是赤道弧线划过的长度,所以 x=R⋅λ,那么 dx=R×dλ 。
消掉 dx 和 dλ ,可得:
⎩⎪⎨⎪⎧x′(λ)y′(φ)=R=R⋅cosφ1⋅dφ=Rsecφ
对上式积分可得:
∫dy=R∫cosφ1dφ=R∫secφdφ=Rln(secφ+tanφ)+C
可得:
y=Rlntan(4π+2φ)+C
根据初始条件可知 C=0 ,所以等角投影的公式:
⎩⎨⎧xy=R(λ−λ0)=Rln[tan(4π+2φ)]
等角航线
之前讲过墨卡托投影的地图上,经线投影成一组平行线,两地之间的等方位角曲线(Rhumb line),在地图上是一条直线。航海家只需要保持方位角不变,不改变航线即可达到终点,所以在航海中得到广泛应用。但这条航线并不是两地之间的最短航线,我们知道球面上两点间最短距离是通过两点间大圆的劣弧,如下图所示。在航海或航空中,运用此特性而走最短距离的航线叫做大圆航线(Great Circle Route)。

参考文献