GIS基础知识 - 坐标系、投影、EPSG:432六、EPSG:3857

最近接手一个GIS项目,须要用到 PostGIS,GeoServer,OpenLayers 等工具组件,遇到一堆地理信息相关的术语名词,在这里作一个总结。php

1. 大地测量学 (Geodesy)

大地测量学是一门量测和描绘地球表面的学科,也包括肯定地球重力场和海底地形。wordpress

1.1 大地水准面 (geoid)

大地水准面海洋表面在排除风力、潮汐等其它影响,只考虑重力和自转影响下的形状,这个形状延伸过陆地,生成一个密闭的曲面。虽然咱们一般说地球是一个球体或者椭球体,可是因为地球引力分布不均(由于密度不一样等缘由),大地水准面是一个不规则的光滑曲面。虽然不规则,可是能够近似地表示为一个椭球体,这个椭球体被 称为参考椭球体(Reference ellipsoid)。大地水准面相对于参考椭球体的高度被称为 Undulation of the geoid 。这个波动并非很是大,最高在冰岛为85m,最低在印度南部为 −106 m,一共不到200m。下图来自维基百科,表示 EGM96 geoid 下不一样地区的 Undulation。工具

 1.2 参考椭球体(Reference ellipsoid)

参考椭球体(Reference ellipsoid)是一个数学上定义的地球表面,它近似于大地水准面。由于是几何模型,能够用长半轴、短半轴和扁率来肯定。咱们一般所说的经度、纬度以及高度都以此为基础。post

一方面,咱们对地球形状的测量随着时间迁移而不断精确,另外一方面,由于大地水准面并不规则,地球上不一样地区每每须要使用不一样的参考椭球体,来尽量适合当地的大地水准面。历史上出现了不少不一样的参考椭球体,不少还仍然在使用中。国内过去使用过“北京54”和“西安90”两个坐标系,其中北京54使用的是克拉索夫斯基(Krasovsky)1940的参考椭球,西安80使用的是1975年国际大地测量与地球物理联合会第16届大会推荐的参考椭球。当前世界范围内更广泛使用的是WGS所定义的参考椭球。ui

2. 坐标系(coordinate system)

有了参考椭球体这样的几何模型后,就能够定义坐标系来进行描述位置,测量距离等操做,使用相同的坐标系,能够保证一样坐标下的位置是相同的,一样的测量获得的结果也是相同的。一般有两种坐标系 地理坐标系(geographic coordinate systems) 和 投影坐标系(projected coordinate systems)。spa

2.1 地理坐标系(Geographic coordinate system)

地理坐标系通常是指由经度、纬度和高度组成的坐标系,可以标示地球上的任何一个位置。前面提到了,不一样地区可能会使用不一样的参考椭球体,即便是使用相同的椭球体,也可能会为了让椭球体更好地吻合当地的大地水准面,而调整椭球体的方位,甚至大小。这就须要使用不一样的大地测量系统(Geodetic datum)来标识。所以,对于地球上某一个位置来讲,使用不一样的测量系统,获得的坐标是不同的。咱们在处理地理数据时,必须先确认数据所用的测量系统。事实上,随着咱们对地球形状测量的愈来愈精确,北美使用的 NAD83 基准和欧洲使用的 ETRS89 基准,与 WGS 84 基准是基本一致的,甚至我国的 CGCS2000 与WGS84之间的差别也是很是小的。可是差别很是小,不表明彻底一致,以 NAD83 为例,由于它要保证北美地区的恒定,因此它与 WGS84 之间的差别在不断变化,对于美国大部分地区来讲,每一年有1-2cm的差别。orm

2.2 投影坐标系(Projected coordinate systems)

地理坐标系是三维的,咱们要在地图或者屏幕上显示就须要转化为二维,这被称为投影(Map projection)。显而易见的是,从三维到二维的转化,必然会致使变形和失真,失真是不可避免的,可是不一样投影下会有不一样的失真,这让咱们能够有得选择。经常使用的投影有等矩矩形投影(Platte Carre)和墨卡托投影(Mercator),下图来自Mercator vs. well…not Mercator (Platte Carre),生动地说明了这两种投影下的失真:blog

左图表示地球球面上大小相同的圆形,右上为墨卡托投影,投影后仍然是圆形,可是在高纬度时物体被严重放大了。右下为等距投影,物体的大小变化不是那么明显,可是图像被拉长了。Platte Carre 投影由于在投影上有扭曲,并不适合于航海等活动,可是由于坐标与像素之间的对应关系十分简单,很是适合于栅格图的展现,Platte Carre 投影是不少GIS 软件的默认投影。ip

须要注意的是,对于墨卡托投影来讲,越到高纬度,大小扭曲越严重,到两极会被放到无限大,因此,墨卡托投影没法显示极地地区。下图来自维基百科,能够看到墨卡托投影下每一个国家的大小和实际大小的差别。可是 conformality(正形性) 和 straight rhumb lines 这两个特色,让它很是适合于航海导航。开发

墨卡托投影下各个国家的大小和实际大小

 By Jakub Nowosad - Own work, CC BY-SA 4.0, Link

3. 对于 Web Map 开发人员的意义

对于 Web Map 开发人员来讲,最熟悉的应该是EPSG:4326 (WGS84) and EPSG:3857(Pseudo-Mercator),这又是啥呢?

3.1 EPSG:4326 (WGS84)

前面说了 WGS84 是目前最流行的地理坐标系统。在国际上,每一个坐标系统都会被分配一个 EPSG 代码,EPSG:4326 就是 WGS84 的代码。GPS是基于WGS84的,因此一般咱们获得的坐标数据都是WGS84的。通常咱们在存储数据时,仍然按WGS84存储。

3.2 EPSG:3857 (Pseudo-Mercator)

伪墨卡托投影,也被称为球体墨卡托,Web Mercator。它是基于墨卡托投影的,把 WGS84坐标系投影到正方形。咱们前面已经知道 WGS84 是基于椭球体的,可是伪墨卡托投影把坐标投影到球体上,这致使两极的失真变大,可是却更容易计算。这也许是为何被称为”伪“墨卡托吧。另外,伪墨卡托投影还切掉了南北85.051129°纬度以上的地区,以保证整个投影是正方形的。由于墨卡托投影等正形性的特色,在不一样层级的图层上物体的形状保持不变,一个正方形能够不断被划分为更多更小的正方形以显示更清晰的细节。很明显,伪墨卡托坐标系是很是显示数据,可是不适合存储数据的,一般咱们使用WGS84 存储数据,使用伪墨卡托显示数据。

Web Mercator 最先是由 Google 提出的,当前已经成为 Web Map 的事实标准。可是也许是因为上面”伪“的缘由,最初 Web Mercator 被拒绝分配EPSG 代码。因而你们广泛使用 EPSG:900913(Google的数字变形) 的非官方代码来表明它。直到2008年,才被分配了EPSG:3785的代码,但在同一年没多久,又被弃用,从新分配了 EPSG:3857 的正式代码,使用至今。

 

参考资料:

EPSG 4326 vs EPSG 3857 (projections, datums, coordinate systems, and more!) 

Mercator vs. well…not Mercator (Platte Carre)

相关文章
相关标签/搜索