Web墨卡托投影(转)

Google Maps地图投影全解析(1):Web墨卡托投影html

 

Google Maps、Virtual Earth等网络地理所使用的地图投影,常被称做Web Mercator或Spherical Mercator,它与常规墨卡托投影的主要区别就是把地球模拟为球体而非椭球体。建议先对地图投影知识作一个基本的了解,《地图投影为何》。git

什么是墨卡托投影?算法

墨卡托(Mercator)投影,又名“等角正轴圆柱投影”,荷兰地图学家墨卡托(Mercator)在1569年拟定,假设地球被围在一个中空的圆柱里,其赤道与圆柱相接触,而后再假想地球中心有一盏灯,把球面上的图形投影到圆柱体上,再把圆柱体展开,这就是一幅标准纬线为零度(即赤道)的“墨卡托投影”绘制出的世界地图。从球到平面,有个转换公式,这里就再也不罗列。网络

Google们为何选择墨卡托投影?htm

墨卡托投影的“等角”特性,保证了对象的形状的不变行,正方形的物体投影后不会变为长方形。“等角”也保证了方向和相互位置的正确性,所以在航海和航空中经常应用,而Google们在计算人们查询地物的方向时不会出错。对象

墨卡托投影的“圆柱”特性,保证了南北(纬线)和东西(经线)都是平行直线,而且相互垂直。并且经线间隔是相同的,纬线间隔从标准纬线(此处是赤道,也多是其余纬线)向两级逐渐增大。blog

可是,“等角”不可避免的带来的面积的巨大变形,特别是两极地区,明显的如格陵兰岛比实际面积扩大了N倍。不过要是去两极地区探险或科考的同志们,通常有更详细的资料,不会来查看网络地图的,这个没关系。图片

 

 

为何是圆形球体,而非椭球体?ip

这说来简单,仅仅是因为实现的方便,和计算上的简单,精度理论上差异0.33%以内,特别是比例尺越大,地物更详细的时候,差异基本能够忽略。get

Web墨卡托投影坐标系

以整个世界范围,赤道做为标准纬线,本初子午线做为中央经线,二者交点为坐标原点,向东向北为正,向西向南为负。

X轴:因为赤道半径为6378137米,则赤道周长为2*PI*r = 2*20037508.3427892,所以X轴的取值范围:[-20037508.3427892,20037508.3427892]。

Y轴:由墨卡托投影的公式可知,同时上图也有示意,当纬度φ接近两极,即90°时,y值趋向于无穷。这是那些“懒惰的工程师”就把Y轴的取值范围也限定在[-20037508.3427892,20037508.3427892]之间,搞个正方形。

懒人的好处,众所周知,事先切好静态图片,提升访问效率云云。俺只是告诉你为何会是这样子。所以在投影坐标系(米)下的范围是:最小(-20037508.3427892, -20037508.3427892 )到最大 (20037508.3427892, 20037508.3427892)。

对应的地理坐标系:

按道理,先讲地理坐标系才是,好比球体仍是椭球体是地理坐标系的事情,和墨卡托投影本关联不大。简单来讲,投影坐标系(PROJCS)是平面坐标系,以米为单位;而地理坐标系(GEOGCS)是椭球面坐标系,以经纬度为单位。具体可参考《坐标系、坐标参照系、坐标变换、投影变换》。

经度:这边没问题,可取全球范围:[-180,180]。

纬度:上面已知,纬度不可能到达90°,懒人们为了正方形而取的-20037508.3427892,通过反计算,可获得纬度85.05112877980659。所以纬度取值范围是[-85.05112877980659,85.05112877980659]。其他的地区怎么办?没事,企鹅们不在意。

所以,地理坐标系(经纬度)对应的范围是:最小(-180,-85.05112877980659),最大(180, 85.05112877980659)。至于其中的Datum、坐标转换等就再也不多言。

若是想知道坐标怎么计算的,请看全解析第2季《相关坐标计算》;更深刻的和GIS相关的第3季《WKT形式表示》。

 

3、网络地图投影参数

Global Spherical 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)

 

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

相关文章
相关标签/搜索