1. 地理坐标系
- 地理坐标系统 是地球表面空间要素的定位参照系统。地理坐标系统是由 经度 和 纬度 定义的。
- 经度是从本初子午线开始向东或向西量度角度,而纬度是从赤道平面向北或向南量度角度。 子午线 是指经度相同的线。本初子午线经过英格兰的格林尼治,经度为0度。我们可以从本初子午线开始向东或向西在 0 - 180度测量地球表面的某个地点的经度值。 GIS中通常输入带正号或者符号的经度和纬度值。经度值以东半球为正,西半球为负。纬度值以赤道以北为正,赤道以南为负。
- 纬线 是指纬度相同的线。以赤道为0度纬度,我们可以从赤道向南或者向北在 0 - 90度测量纬度值。本初子午线和赤道被看做是地理坐标系统的基线。
1.1 地球椭球体(Ellipsoid)
地球表面是一个凸凹不平的表面,而对于地球测量而言,地表是一个无法用数学公式表达的曲面,这样的曲面不能作为测量和制图的基准面。假想一个扁率极小的椭圆,绕大地球体短轴旋转所形成的规则椭球体称之为地球椭球体。 地球椭球体表面是一个规则的数学表面,可以用数学公式表达,所以在测量和制图中就用它替代地球的自然表面。因此就有了地球椭球体的概念。地球椭球体有长半径和短半径之分,长半径(a)即赤道半径,短半径(b)即极半径。f=(a-b)/a为椭球体的扁率,表示椭球体的扁平程度,a、b、f被称为地球椭球体的三要素。【参考自:https://www.whu-cveo.com/2018/07/26/coordinate-projection/】
1.2 大地基准面(Geodetic Datum)
大地基准面(Geodetic datum),设计用为最密合部份或全部大地水准面的数学模式。它由椭球体本身及椭球体和地表上一点视为原点间之关系来定义。此关系能以 7个量来定义(7参数),通常(但非必然)是大地纬度、大地经度、原点高度、原点垂线偏差之两分量及原点至某点的大地方位角。
我们把地球椭球体和基准面结合起来看,在此我们把地球比做是“马铃薯”,表面凸凹不平,而地球椭球体就好比一个“鸭蛋”,那么按照我们前面的定义,基准面就定义了怎样拿这个“鸭蛋”去逼近“马铃薯”某一个区域的表面,X、Y、Z轴进行一定的偏移,并各自旋转一定的角度,大小不适当的时候就缩放一下“鸭蛋”,那么通过如上的处理必定可以达到很好的逼近地球某一区域的表面。
因此,从这一点上也可以很好的理解,每个国家或地区均有各自的基准面,我们通常称谓的北京54坐标系、西安80坐标系实际上指的是我国的两个大地基准面。我国参照前苏联从1953年起采用克拉索夫斯基(Krassovsky)椭球体建立了我国的北京54坐标系,1978年采用国际大地测量协会推荐的1975地球椭球体(IAG75)建立了我国新的大地坐标系–西安80坐标系,目前大地测量基本上仍以北京54坐标系作为参照,北京54与西安80坐标之间的转换可查阅国家测绘局公布的对照表。 WGS1984基准面采用WGS84椭球体,它是一地心坐标系,即以地心作为椭球体中心,目前GPS测量数据多以WGS1984为基准。【参考自:https://www.whu-cveo.com/2018/07/26/coordinate-projection/】
2. 投影坐标系
地球椭球体表面也是个曲面,而我们日常生活中的地图及量测空间通常是二维平面,因此在地图制图和线性量测时首先要考虑把曲面转化成平面。由于球面上任何一点的位置是用地理坐标(λ,φ)表示的,而平面上的点的位置是用直角坐标(χ,у)或极坐标(r)表示的,所以要想将地球表面上的点转移到平面上,必须采用一定的方法来确定地理坐标与平面直角坐标或极坐标之间的关系。这种在球面和平面之间建立点与点之间函数关系的数学方法,就是地图投影方法。
每一个投影坐标系统都必定会有Geographic Coordinate System(地理坐标系统)。 那么我们从这一角度上解释一下投影和投影所需要的必要条件:将球面坐标转化为平面坐标的过程便是投影过程;投影所需要的必要条件是:第一、任何一种投影都必须基于一个椭球(地球椭球体),第二、将球面坐标转换为平面坐标的过程(投影算法)。简单的说投影坐标系是地理坐标系+投影过程。
2.1 地图投影分类
- 地图投影有两个突出的优点:第一,地图投影使用二维的纸质或数字地图;第二,地图投影可以用于平面坐标或投影坐标,而不是经纬度值。但是从椭球体到平面的转换总是带有变形,没有一种地图投影是完美的,这就是为什么发展了数百种地图投影用于地图制图。每种地图投影都保留了某些空间性质,而牺牲了另一些性质。
- 地图投影根据变形类型、投影面类型、投影面&球面关系分成三个大类。
2.2 web墨卡托投影
对于 Web Map 开发人员来说,最熟悉的应该是 EPSG:4326 (WGS84)
和 EPSG:3857(Pseudo-Mercator)
,这又是啥呢?
EPSG:4326 (WGS84)
前面说了 WGS84 是目前最流行的地理坐标系统。在国际上,每个坐标系统都会被分配一个 EPSG 代码,EPSG:4326 就是 WGS84 的代码。GPS 是基于 WGS84 的,所以通常我们得到的坐标数据都是 WGS84 的。一般我们在存储数据时,仍然按WGS84存储。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 的正式代码,使用至今。
2.3 地理坐标系,投影坐标系QGIS说明
- WGS84 地理坐标系
WGS 84
WKT
GEOGCRS["WGS 84",
DATUM["World Geodetic System 1984",
ELLIPSOID["WGS 84",6378137,298.257223563,
LENGTHUNIT["metre",1]]],
PRIMEM["Greenwich",0,
ANGLEUNIT["degree",0.0174532925199433]],
CS[ellipsoidal,2],
AXIS["geodetic latitude (Lat)",north,
ORDER[1],
ANGLEUNIT["degree",0.0174532925199433]],
AXIS["geodetic longitude (Lon)",east,
ORDER[2],
ANGLEUNIT["degree",0.0174532925199433]],
USAGE[
SCOPE["unknown"],
AREA["World"],
BBOX[-90,-180,90,180]],
ID["EPSG",4326]]
Proj4
+proj=longlat +datum=WGS84 +no_defs
范围
-180.00, -90.00, 180.00, 90.00
- WGS 84 / Pseudo-Mercator投影坐标系
WGS 84 / Pseudo-Mercator
WKT
PROJCRS["WGS 84 / Pseudo-Mercator",
BASEGEOGCRS["WGS 84",
DATUM["World Geodetic System 1984",
ELLIPSOID["WGS 84",6378137,298.257223563,
LENGTHUNIT["metre",1]]],
PRIMEM["Greenwich",0,
ANGLEUNIT["degree",0.0174532925199433]],
ID["EPSG",4326]],
CONVERSION["Popular Visualisation Pseudo-Mercator",
METHOD["Popular Visualisation Pseudo Mercator",
ID["EPSG",1024]],
PARAMETER["Latitude of natural origin",0,
ANGLEUNIT["degree",0.0174532925199433],
ID["EPSG",8801]],
PARAMETER["Longitude of natural origin",0,
ANGLEUNIT["degree",0.0174532925199433],
ID["EPSG",8802]],
PARAMETER["False easting",0,
LENGTHUNIT["metre",1],
ID["EPSG",8806]],
PARAMETER["False northing",0,
LENGTHUNIT["metre",1],
ID["EPSG",8807]]],
CS[Cartesian,2],
AXIS["easting (X)",east,
ORDER[1],
LENGTHUNIT["metre",1]],
AXIS["northing (Y)",north,
ORDER[2],
LENGTHUNIT["metre",1]],
USAGE[
SCOPE["unknown"],
AREA["World - 85°S to 85°N"],
BBOX[-85.06,-180,85.06,180]],
ID["EPSG",3857]]
Proj4
+proj=merc +a=6378137 +b=6378137 +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null +wktext +no_defs
范围
-180.00, -85.06, 180.00, 85.06
3. WGS84, GCJ02, BD09坐标转换
转换代码:https://github.com/wandergis/coordtransform
- GPS设备直接返回的坐标即为WGS84。随GPS通用,能正确套到现在大部分基于这套坐标建立的卫星地图上。全球除神州外,几乎所有地图商都是使用这个坐标系,比如Google地图使用的就是WGS84坐标。
- GCJ02火星坐标系,由中国国家测绘局制定的地理信息系统的坐标,国内出版的各种地图坐标系统(包括电子地图),必须至少采用GCJ02对WGS84进行首次加密。
- 百度坐标系(BD09),在火星坐标系基础上再次加密。
参考资料
- 《地理信息系统导论》 - Kang-tsung Chang
- [GIS] 地理坐标系及投影坐标系的构建过程全解析 【视频教程】
https://www.bilibili.com/video/BV1rK4y1S7fx/?spm_id_from=333.788.recommend_more_video.-1 - 初中地理 | 超详细的经纬线判读和分析方法(适合打印)
https://zhuanlan.zhihu.com/p/92100095 - GIS基础知识 - 坐标系、投影、EPSG:4326、EPSG:3857
https://e7868a.com/gis-coordinate-project - WGS84,GCJ02,BD09,火星坐标,大地坐标等解析说明与转换
https://cloud.tencent.com/developer/article/1972290
张晓东老师博客:
- 空间坐标与投影系统系列(一):空间坐标和地图投影
https://www.whu-cveo.com/2018/07/26/coordinate-projection/ - 空间坐标与投影系统系列(二):国内常用投影坐标系
https://www.whu-cveo.com/2018/07/31/coordinate-china/ - 空间坐标与投影系统系列(三):坐标转换
https://www.whu-cveo.com/2018/08/07/coordinate-convert/ - 空间坐标与投影系统系列(四):七参数转换实例
https://www.whu-cveo.com/2018/08/17/coordinate-7params/
10分钟GIS 【视频教程,适合GIS入门】
https://space.bilibili.com/520898392/channel/seriesdetail?sid=663633
10分钟GIS——Web Mercator vs WGS1984
https://www.bilibili.com/video/BV1454y1b7sX?spm_id_from=333.999.0.0
10分钟GIS——大地坐标系及基准面Datum
https://www.bilibili.com/video/BV1oU4y1h77z?spm_id_from=333.999.0.0
10分钟GIS——投影坐标系
https://www.bilibili.com/video/BV1n64y1i79d?spm_id_from=333.999.0.0
10分钟GIS——坐标转换
https://www.bilibili.com/video/BV1rB4y1c7Ki?spm_id_from=333.999.0.0