一、墨卡托投影

墨卡托投影,又称正轴等角圆柱投影,由荷兰地图学家墨卡托(G.Mercator)于1569年创拟。假设地球被套在一个圆柱中,赤道与圆柱相切,然后在地球中心放一盏灯,把球面上的图形投影到圆柱体上,再把圆柱体展开,就形成以一幅墨卡托投影的世界地图(如下图)。因其等角特性,广泛应用与航空、航海中。

墨卡托投影,是正轴等角圆柱投影,圆柱投影的一种,为地图投影方法中影响最大的投影。假设地球被围在一中空的圆柱里,其基准纬线(赤道)与圆柱相切,然后再假想地球中心有一盏灯,把球面上的图形投影到圆柱面上,再把圆柱面展开,这就是一幅选定基准纬线上的“墨卡托投影”绘制出的地图。其中,按等角条件将经纬网投影到圆柱面上,将圆柱面展为平面后,得平面经纬线网。

imgimg

从墨卡托投影图上可以看出,经线间隔的经度如果相等,则经线是等距平行的直线,纬线也是平行的直线,而且经纬线是相互垂直的。

墨卡托投影有一个特别的特性:所有罗盘等角线,或称斜航线(就是与所经过的所有经线形成相同角度的航线,也称恒向航线)在墨卡托投影下都是直线。这使得在航海领域这个投影非常重要。

墨卡托投影对透视圆筒投影改造点:要使圆筒投影称为等角的性质,必须使由赤道向两极经线逐渐伸长的倍数与经线上各点相应的纬度扩大的倍数相同。

img

从上图中可以看出,X轴的刻度是等距的,Y轴方向越靠近两极变形越大。假设墨卡托投影的坐标系原点为(0,λ0) ,表示X轴为赤道,Y轴则在经度为λ0处垂直于赤道。 墨卡托投影公式即为:

img

其中, λ为经度, φ为纬度。左侧为正算,右侧为逆运算。

即有经纬度( φ,λ)对应的墨卡托平面坐标即为(xR,yR)。很明显,y方向的距离只有在赤道附近才是接近实际距离的。

地球赤道的圆周长为2πR(R为赤道半径),而各纬线圈周长为2πRcosΦ (Φ 表示对应的纬度),因此,墨卡托投影地图上纬线长与地球上实际纬线长的比值为:

img

既然各纬度的纬线扩大sec Φ (正割)倍,为了保持等角,各纬线通过处的经线也要相应的扩大sec Φ 倍。

这时,经线方向上的长度比才能与纬线方向上的长度比相等。

注意:投影地图上经纬线的伸长与纬度的正割成比例变化,随纬度增高极具拉伸,到极点成为无穷大;面积的扩大更为明显,在 60^{\circ} 的地方面积要扩大四倍(因为 \sec 60^{\circ} = 2,面积比是长度比的两倍,所以是四倍)。如下图所示,地理上等半径圆在高纬度面积明显扩大。

img

二、Web墨卡托投影

Web墨卡托投影(英文名为Web mercator 或 Spherical mercator)坐标系,广泛应用与Google Map、Bing Map等地图投影中。它以整个世界范围,赤道作为标准纬线,本初子午线作为中央经线,两者交点为坐标原点,向东向北为正,向西向南为负。

X轴:赤道半径取值为6378137米,则赤道周长为2PIr ,以坐标原点为中心,东西南北各方向为其值一半,即 PI*r= 20037508.3427892,因此X轴的取值范围:[-20037508.3427892,20037508.3427892]。

Y轴:由墨卡托投影的公式可知,当纬度φ接近两极,即90°时,y值趋向于无穷。为了使用方便,就把Y轴的取值范围也限定在[-20037508.3427892,20037508.3427892]之间,形成一个正方形。

因此在投影坐标系(米)下的范围是:最小(-20037508.3427892, -20037508.3427892 )到最大 (20037508.3427892, 20037508.3427892)。经过反算,可得到纬度85.05112877980659。因此纬度取值范围是[-85.05112877980659,85.05112877980659]。

Web Mercator 坐标系使用的投影方法不是严格意义的墨卡托投影,而是一个被 EPSG(European Petroleum Survey Group)称为伪墨卡托的投影方法,这个伪墨卡托投影方法的大名是 Popular Visualization Pseudo Mercator,PVPM。 看起来就觉得这个投影方法不是很严谨的样子。

因为这个坐标系统是 Google Map 最先使用的,或者更确切地说,是Google 最先发明的。在投影过程中,将表示地球的参考椭球体近似的作为正球体处理(正球体半径 R = 椭球体半长轴 a)。这也是为什么在 ArcGIS 中我们经常看到这个坐标系叫 WGS 1984 Web Mercator (Auxiliary Sphere)。Auxiliary Sphere 就是在告知你,这个坐标在投影过程中,将椭球体近似为正球体做投影变换,虽然基准面是WGS 1984 椭球面。

这里写图片描述

在很长一时间是内,并没有被EPSG的投影数据库所接纳。EPSG认为他不能算作科学意义上的投影,所以只是给了一个EPSG:900913 的标号(SRID),这个标号游离在EPSG常规标号范围之外。也有人说,这个900913是google自己定的编号。900913 由于得不到官方的认证ID,Google为Web Mercator 任性地制定了这个ID,自娱自乐,也祝大家玩的开心……下面可不是我编的。

i think 900913 is great. 9-g 0-o 0-o 9-g 1-l 3-e get it? 900913 is equal to google. THAT’S AMAZING ! =-)

EPSG:3785 这是 EPSG 在 2008 年5月给 Web Mercator 设立的WKID,但是这个坐标系的基准面是正圆球,不是WGS 1984。 存在了一段时间后被弃用。

EPSG:3857 后来,Web Mercator 在 Web 地图领域被广泛使用,这个坐标系就名声大噪。尽管这个坐标系由于精度问题一度不被GIS专业人士接受,但最终 EPSG 还是给了 WKID:3857。EPSG为 Web Wercator 最终设立的WKID,也就是现在我们常用的Web 地图的坐标系,并且给定官方命名 “WGS 84 / Pseudo-Mercator“。

ESRI:102113 Esri内部使用ID,与 EPSG:3785 相应。已被弃用。

ESRI:102100 Esri内部使用ID,与 EPSG:3857 相应。

因此,细心地话,会发现在 ArcGIS Server 的REST 服务页面中,Web Mercator 的空间参考会记做: 102100(3857)

为什么这么受欢迎的坐标系还会受到GIS大咖的诟病?

拒绝给这个坐标系分配 坐标系ID 的原话是这样的:

“ The projected coordinate reference system originally lacked an official spatial reference identifier (SRID), and the Geodesy subcommittee of the OGP’s Geomatics committee (also known as EPSG) refused to provide it with one, declaring “We have reviewed the coordinate reference system used by Microsoft, Google, etc. and believe that it is technically flawed. We will not devalue the EPSG dataset by including such inappropriate geodesy and cartography.” ”

这不是EPSG 冷酷无情无理取闹,从技术角度看是有原因的。简而言之,主要原因在于基准面被篡改后,本来是等角投影的Mercator坐标变换算法,不再等角了,而是近似等角,也就是出现角度变形。这种变形势必影响了坐标的精度,如下是某位GIS专家给出的概要说明(闪亮的最后一条):

这里写图片描述

如果你想进一步关心细节,想知道这位专家对 Web Mercator 的 dark side 的深入见解,点[这里](http://hydrometronics.com/downloads/Web Mercator - Non-Conformal, Non-Mercator (notes).pdf)看看。

三、网络地图投影参数

Spherical Mercator (或称为 Web Mercator)的 Main parameters:

Datum:WGS84
Map projection:Spherical Mercator
Ellipsoid:WGS84
EPSG Code:EPSG: 4326(for coordinates in latitude/longitude)
EPSG Code:EPSG: 900913(for coordinates in metres)

正因为采用了相同的地图投影才使得不同地图服务商的瓦片地图能够很好的叠加,尽管切片规则和算法不尽相同,但最终拼接的结果始终是一致的。

在 EPSG 官网上找到的3857坐标的具体参数介绍,供参考:

这里写图片描述

参考:

墨卡托投影

Mercator Projection

在ArcGIS中设置Web墨卡托投影的方法

墨卡托投影, 18.11

GIS——各大地图厂商为什么偏爱web墨卡托投影

web 墨卡托投影

参考:https://zhuanlan.zhihu.com/p/98951492

转载:https://www.cnblogs.com/arxive/p/7472104.html

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐