分类
所有坐标体系的原点,都是非洲几内亚湾。
按用途分类:
- GIS(尤其WebGIS)常用坐标系: WBS84,GCJ02,BD09
- 测绘常用坐标系:西安80,北京54,CGC2000
按测量单位分类:
- 经纬度坐标:球面坐标,单位度,如(116.38817139.935961)。
- 墨卡托坐标:平面坐标,单位米,如(215362.00021333335 99526.00034912192), 主要用于后台计算。
墨卡托坐标和经纬度坐标基本一一对应,如 WGS84墨卡托,GCJ02墨卡托,BD09墨卡托,此处按下不表。
按获取途径分:
- 设备获取GPS坐标:
- 若ios的原生定位库,则获得WGS84
- 若高德sdk,则获取GCJ02
- 若百度sdk,则可获得百度坐标(bd09)或者火星坐标(GCJ02),默认是bd09
- 在线WEB地图应用:遵循各自的坐标系。
WGS84坐标系
WGS-84坐标系(World Geodetic System)是目前国际上统一采用的大地坐标系。坐标原点为地球质心。
GPS广播星历是以WGS-84坐标系为根据的。
世界主流Web地图都基于该坐标系。如:
- Google Maps
- OpenStreetMap
- Bing Map
- ArcGIS
- Heremaps
中国因政策要求,在WGS基础上进行经纬度加密,形成加密后的新坐标系(GCJ02、BD09)。
GCJ02坐标系(火星坐标系)
GCJ-02坐标系(Guojia,Cehui,Ju),是由中国国家测绘局制订的地理信息系统的坐标系统。
- 该坐标系在WGS84坐标系的基础上,加密经纬度数据。
- 按地形图非线性保密处理算法,将真实坐标加密成虚假坐标。因随机加密,故各地偏移情况有所不同。
- 使用GCJ-02记录的地点,在GCJ-02地图中会正确显示位置,在WGS-84地图会有100-700米不等的偏移。
- 网上纠偏实现都是基于某份泄露的WGS到CGJ加偏代码实现。
国内出版的各种地图系统(包括电子形式),必须至少采用GCJ-02对地理位置进行首次加密。
- 国测局授权提供位置和地图服务的厂商,例如高德地图、NavInfo,都需要特别购买一个“纠偏”算法,将GPS坐标转为和地图一致的坐标系。
- 由于一国两制,香港、澳门地图不受测绘法限制,没有偏移问题。然而在两地和中国大陆边境附近,网络地图提供的道路形状会因为偏移而互相断开。
中国主流Web地图都是基于GCJ02坐标系,如:
- 谷歌中国地图(由高德提供地图数据)
- 腾讯地图
- 高德地图
BD09坐标系(百度坐标系)
该坐标系在GCJ02坐标系基础上,加密经纬度算法(百度自身的加偏算法)。
目前只有百度地图采用BD09坐标系:
- 百度地图
其他坐标系
搜狗坐标: 搜狐搜狗地图API
关系图
互联网地图服务规定,国内互联网地图必须使用国测局加密的GCJ02坐标系。
百度在GCJ02的基础上,又做了一次加密。
graph TD A((WGS84坐标系)) ==> B>加密] B ==> C((GCJ02坐标系)) C ==> E>加密] E ==> F((百度坐标系)) A --- D(相关地图) D --- D1(GoogleMaps) D --- D2(BingMap) D --- D3(ArcGIS) D --- D4(OpenStreetMap) D --- D5(Heremaps) F --- F1(百度地图) C --- G(相关地图) G --- G1(高德地图) G --- G2(腾讯地图) G --- G3(谷歌中国地图) G1 -.- H1(阿里) G2 -.- H2(腾讯) F1 -.- H3(Echarts) style C fill:greenyellow style F fill:greenyellow style F1 fill:orange style G1 fill:orange style G2 fill:orange style G3 fill:orange
坐标转换
各类别坐标可相互转换(位置纠偏),但请首先确认采集数据的坐标系类别。
- 坐标系类别
- 是否经纬度反序,如谷歌地图(lat, lng),高德地图(lng, lat)
1 | public class GPSUtil { |