关于坐标系,可能专业人士比较清楚,可是我一个外行的人,确实被各种坐标系给弄晕了。
地理坐标系统与投影坐标系统
- 地理坐标系统(Geographic Coordinate System),是一种球面坐标,是使用三维球面来定义地球表面位置,以实现通过经纬度对地球表面点位引用的坐标系。
- 投影坐标系统(Projection Coordinate System),是一种平面坐标。
投影坐标系使用基于X,Y值的坐标系统来描述地球上某个点所处的位置。这个坐标系是从地球的近似椭球体投影得到的,它对应于某个地理坐标系。
投影坐标系由以下参数确定:
- 地理坐标系(由基准面确定,比如:北京54、西安80、WGS84)
- 投影方法(比如高斯-克吕格、Lambert投影)、Mercator投影)
关于地理坐标系统
WGS84
GPS,WGS-84,原始坐标体系。一般用国际标准的GPS记录仪记录下来的坐标,都是GPS的坐标。很可惜,在中国,任何一个地图产品都不允许使用GPS坐标,据说是为了保密。
GCJ-02
国测局02年发布的坐标体系。又称“火星坐标”。在中国,必须至少使用GCJ-02的坐标体系。比如腾讯,高德都在用这个坐标体系。GCJ-02也是国内最广泛使用的坐标体系。
其他坐标体系。
一般都是由GCJ-02进行再一次加密得到的。这种体系就根据每个公司的不同,坐标体系都不一样了。比如,百度,就在火星坐标上面再一次进行了加密。哎,这他妈已经很混乱了,结果还来。
各种坐标系对比与测试
现在使用谷歌地球、百度、高德分别拾取故宫左下角位置的坐标进行对比。位置如图所示。
坐标相互转换,结果如下。
坐标系 | Google Earth(WGS84) | 百度地图(BD09) | 高德地图(火星坐标) |
---|---|---|---|
拾取的坐标 | 116.386364 39.911985 | 116.398991,39.919753 | 116.392627,39.913428 |
转换为谷歌地球 | \ | 116.386371,39.912032 | 116.386384,39.912025 |
转换为百度地图 | 116.398979,39.919702 | \ | 116.399003,39.919747 |
转换为高德地图 | 116.392602,39.913383 | 116.392614,39.913434 | \ |
表格里面的结果不能十分直观的反应各个坐标系之间的差异了,但是放在地图里面就十分直观了。对比下图。
关于投影坐标系统
前面讲了,每一种投影坐标是由地理坐标加投影方式产生的一种新坐标。
投影方式
待更
各种工具使用的坐标系
OpenLayers
目前OpenLayers 3支持两种投影
- EPSG:4326,等同于WGS84坐标系
- EPSG:3857,等同于900913,由Mercator投影而来,经常用于web地图
天地图
考虑到天地图是以CGCS-2000坐标系,与GPS坐标系一样,同是地心坐标系,所以相差不大数据偏移量会很小
百度地图
百度地图一般使用的是(BD-09)
国内Google地图
GCJ-02
各种坐标的转换
其他
例外,百度API上取到的,是BD-09坐标,只适用于百度地图相关产品。
例外,搜狗API上取到的,是搜狗坐标,只适用于搜狗地图相关产品。
例外,谷歌地球,google earth上取到的,是GPS坐标,而且是度分秒形式的经纬度坐标。在国内不允许使用。必须转换为GCJ-02坐标。