地球的三级逼近
地球的自然表面不是平整的,需要想办法用数学公式描述地球表面,只能设想一个近似的数学面。
大地水准面是地球表面的第一级逼近。假设当海水处于完全静止的平衡状态时,从海平面延伸到所有大陆下部,而与地球重力方向处处正交的一个连续、闭合的曲面,这就是大地水准面。
地球椭球体是地球表面的第二级逼近。大地水准面可以近似成一个规则成椭球体,但并不是完全规则,其形状接近一个扁率极小的椭圆绕短轴旋转所形成的规则椭球体,这个椭球体称为地球椭球体。
由一系列参数可确定一个椭球体,地球椭球体的基本参数如下
大地基准面是地球表面的第三极逼近。椭球体是对地球的抽象,不能与地球表面完全重合,在设置参考椭球体的时候必然会出现有的地方贴近的好(参考椭球体与地球表面位置接近),有地地方贴近的不好的问题,因此这里还需要一个大地基准面来控制参考椭球和地球的相对位置。
大地基准面通过让椭球怎样移动或缩放的一些参数来定义,通过某一区域的大地基准面来“微调”参考椭球,就可以使之更加贴合当地的实际情况,这样在测量计算中也更加接近实际。因此,大地基准面是在参考椭球的基础上建立的。并且同一个椭球体,可以有很多个大地基准面。基准面主要有以下两类:1、地心基准面:由卫星数据得到,使用地球的质心作为原点,使用最广泛的是 WGS 1984。2、区域基准面:特定区域内与地球表面吻合,大地原点是参考椭球与大地水准面相切的点,例如Beijing-54、Xian-80。
地理坐标系统(英文简写GCS,Geographical Coordinate System)
地理坐标系是球面坐标,参考平面是椭球面,坐标单位是经纬度,经纬度所表示的意义是角度值,其可以是十进制的数据,也可以是度分秒这种格式。
球面坐标是三维坐标,是表示空间上的点所用到的坐标参考,它有三个分量:r、θ、φ。其中,经度就是φ,纬度就是θ,第三个分量r表示点到原点(椭球心)的距离。但是,因为这个r非常大,通常我们谈高度只谈海拔高度,并不谈到地心的距离,所以这个r是被忽略的,这就解释了明明是三维坐标,却只有经纬度两个分量。
“经度(φ)就是椭球上的点与原点连线这一线段,在赤道平面上投影与x轴的夹角”——只不过加了东经和西经,并不是0到360°。
“纬度就是椭球上的点与原点连线这一线段,与z轴的夹角的余角。”——赤道上的点与原点连线和z轴的夹角是90度,但是纬度是0度,所以是余角的关系。
我们知道地理坐标系统是定义在一个数学椭球面上的,但是还有一个小问题:偏移。虽然椭球面方程“决定”了地球的形状,但是原点的位置却没有指定。按理说,是统一使用地心才对的,事实上,如果地心≠椭球心,椭球面就会比较靠近某个地区,这种“靠近”就便于某个国家或地区的计算,因为一旦靠近,很多地方的位置偏差就很小。这就有了地心地理坐标系统(椭球的球心=地球的质心)和参心地理坐标系统之分(椭球的球心≠地球的质心)。
当今为了全球计量需要,我们熟知的地心地理坐标系有:WGS84和CGCS2000。而北京54和西安80实际上是两个参心坐标系,它们的椭球体分别是克拉索夫斯基1940椭球体和IUGG1975椭球体。
常见地理坐标系具体信息:
大地坐标系统
在大地测量学中,对于地理坐标系统中的经纬度有三种描述:即天文经纬度、大地经纬度和地心经纬度。其中使用最多的就是大地经纬度,它也是大地坐标系中的经纬度单位。
大地坐标系是大地测量中以参考椭球面为基准面建立起来的坐标系。地面点的位置用大地经度、大地纬度和大地高度表示。大地坐标系的确立包括选择一个椭球、对椭球进行定位和确定大地起算数据。
一个形状、大小和定位、定向都已确定的地球椭球叫参考椭球。参考椭球一旦确定,则标志着大地坐标系已经建立。大地坐标系是一种伪地理坐标系。大地坐标系为右手系 。
大地经度L是通过目标点的子午面与起始子午面间的夹角。由格林威治子午线起算,向东为正,向西为负。大地纬度B是通过目标点的法线与赤道面的夹角。由赤道起算,向北为正,向南为负。大地高H是目标点沿法线到参考椭球面的距离。
投影坐标系统(英文简写PCS,Projection Coordinate System)
投影坐标系是平面坐标系,参考平面是水平面,坐标单位是米、千米等的,是用笛卡尔平面直角坐标系表示的点。
投影坐标系统是基于一个法则f和一个地理坐标系统而定义的,即投影坐标系统 = f(地理坐标系统),法则f即“投影方法”,换句话说,一个投影坐标系统,必然包括一个投影方法和一个地理坐标系统的定义。
常用坐标系统
WKID与EPSG
WKID即Well Known ID,众所周知的ID号的意思。EPSG是管理这些ID号的一个组织。通常来说,一个GIS里的坐标系统,必须有一个WKID,某些特别的除外。例如,WKID=4326,即WGS84这个地理坐标系统的ID。
注意:地理坐标系统和投影坐标系统均使用这套定义,但是不会重复,也没有规律说哪一段数字是地理坐标系统,哪一段是投影坐标系统。
常见地理坐标系统及WKID
WGS84(WKID=4326):全称 World Geodetic System 1984,美国GPS使用的一个全球地理坐标系统,使用范围极其广泛,我们在网上交流的数据大多数都是WGS84的,加密前的高德、百度用的也是WGS84
CGCS2000(WKID=4490):我国的GPS系统-北斗导航系统以及国家发行的“天地图”,用的是这一套地理坐标系统,中文名“中国国家2000地理坐标系统”,英文全称翻译名“中国大地坐标系2000”。英文名 China Geodetic Coordinate System 2000。
北京54(WKID=4214)、西安80(WKID=4610):是我国已经逐渐停止使用的两个地理坐标系统。北京54是建国初,在当时技术条件不高时“引”苏联的地理坐标系统到我国境内的,在地理坐标系统的精确定义时会详细展开为何北京54在我国境内为何有较大偏差。而西安80则是改革开放后,技术稍好,为解决北京54偏差问题,为我国各项事业发展搞的一个适用于国内的地理坐标系统。尽管有大量历史遗留数据仍采用这两个坐标系统,作为学习研究使用当然是可以的,但是建议尽快转移到国家2000坐标系来。
美国常用地理坐标系统:NAD27、NAD83
常见投影方法
根据投影面和地球的相对位置,可以有非常多种投影方法。
高斯克吕格(Gauss - Kruger):高斯克吕格是由高斯和克吕格两人一起搞的投影法则,投影面是一个椭圆柱面打横着套在地球的数学椭球面上,围绕地轴旋转,将地球表面投影到该椭圆柱面的一种投影方法。
以某条经线与椭圆柱面相切(这条经线就叫中央经线),投影到椭圆柱面后,再沿着椭圆柱面的高剪开摊成平面,就是高斯投影的原理。高斯克吕格投影是分带的,经度有东西各180度,所以可以按3度或者6度剥开一瓣用于投影。旋转高斯克吕格的投影面,可以获取下一个分带的投影,以合适全球所有的地方。越远离中央经线的地方投影到椭圆柱面上,变形越严重,反而是中央经线附近的地方非常能贴合投影面。
高斯投影的学名是横轴(因为投影面是躺着的 与地轴垂直)切(因为与地表面是相切关系)椭圆柱(投影面是椭圆柱面)投影。实际上,高斯克吕格投影也叫“横轴墨卡托投影”,因为投影面是(椭)圆柱面的投影均叫“墨卡托投影”。
墨卡托投影(Mercator):墨卡托发明的投影叫墨卡托投影,特点是纵轴,即投影面是个圆柱,与地球赤道相切(立着的水管里塞了个乒乓球),学名:正轴切圆柱投影。
UTM投影(Universal Transverse Mercator):全称“通用横轴墨卡托投影”,和高斯克吕格投影非常相似,只不过它并不是切于经线圈,而是穿地球而过。我们从侧面来看,高斯投影面和经线圈是完全重合的,但是UTM则不是,UTM投影是贯穿地球的,应该是侧面上看相割。
网络墨卡托(WebMercator):Web Mercator投影不是严格意义的墨卡托投影,而是一个伪墨卡托的投影方法,这个伪墨卡托投影方法的大名是 Popular Visualization Pseudo Mercator,PVPM。因为这个投影方法是Google Map最先发明并使用的。它的地理上的不严谨性在于,在投影过程中,将表示地球的椭球面作为正球面处理。传说中是因为谷歌程序员懒得用椭球面来编程计算屏幕坐标…
兰伯特(Lambert)投影与阿尔伯斯(Albers)投影:兰伯特投影,投影面是圆锥面,更像是一个圆锥筒子套在一个球上(图a),此时的兰伯特投影是切圆锥投影,当然兰伯特也可以是割圆锥投影(图b),它类似于阿尔伯斯投影,不同之处在于其描绘形状比描绘面积更准确。而阿尔伯斯投影常见于我国的省区投影,因为面积更准确。阿尔伯斯投影是一种圆锥等面积投影。
常见投影坐标系统及WKID
基于高斯克吕格投影的投影坐标系统一族:在我国,基于北京54、西安80、国家2000,均可以使用高斯克吕格投影定义出投影坐标系统。因为高斯克吕格投影方法允许分带表达,所以,该投影坐标系统族有很多个,以WKID=4547为例。
WKID=4547这个投影坐标系统是这样定义的:
地理坐标系为国家2000坐标系,使用3度分带规则,中央经线为东经114°,使用高斯克吕格投影的投影坐标系统,并且平面坐标系统的经度方向上的Y坐标值无投影带号。
简写为:
3度投影带114°中央经线的高斯投影坐标系统(2000坐标不带带号)。
WKID=4526正是WKID=4547这个带带号的PCS对应的有带号的投影坐标系统。
有无带号的区别:无论有无带号,地图投影都有500公里的偏移量(东伪偏移:又称伪东偏,是投影平面中为避免横轴(经度方向)坐标出现负值,而所加的偏移量,对应的还有北伪偏移,我国高斯-克吕格投影北伪偏移值为0),而带号是在500公里前面又加了两位数字表示带号(如带号40,则原本500km的偏移量变为40500km)。无带号的坐标值会在地图上重叠,而有带号会发生偏移。区分有无带号,从投影坐标系统的名称中可以看出,名称中有CM,在Y坐标(经线方向)不带带号,名称中有Zone,则在Y坐标(经线方向)带带号。
基于UTM投影的投影坐标系统一族:和高斯投影坐标系统一族类似,只不过仅仅基于WGS84。
基于网络墨卡托(WebMercator)的投影坐标系统:只有一个,WKID=3857。需要注意的是3857还有另外两个id,即102100、900913,现在基本使用3857表示,但是遇到也要知道他们是同一个。
基于兰伯特与阿尔伯斯的投影坐标系统:此处暂不列举WKID,但我国全国图喜欢用阿尔伯斯投影,我国省区图喜欢用兰伯特圆锥投影。
假坐标系统:GCJ02与BD09
国内高德、百度、腾讯和国内谷歌地图的地理坐标系统均经过加密。
它们使用的都是WGS84坐标系(坊间传)。
因为国家保密需要,网络地图至少要用一种特殊的算法进行加密,那就是大(e)名(chou)鼎(bu)鼎(kan)的加密算法——GCJ02。(当然,天地图没有加密,直接是CGCS2000)
民间也叫火星坐标系,它是加密后的WGS84坐标,与真实的WGS84坐标是有误差的,这个误差值并不固定,通常是几十米到几百米。
GCJ02加密算法是一种多项式+正弦函数加密算法,通常隔一段时间就换一下参数,所以,网上所谓的解密算法并不是官方的精确算法,隔一段时间说不定就不准确了。
百度地图更为恶心,在GCJ02的基础上再次偏移,也就是BD09。
这个加密算法并不公开,需要找有关部门交钱审核才能获取,而且没有精确的反向算法(多项式咋反向啊)。