WithCoderWithCoderWithCoder

地图开发常用的地理坐标系介绍

因为项目需要,最近在研究三维地球和地图开源产品Cesium,其中牵涉到三维坐标系。因为之前基本上没有接触过相关的知识,对于坐标系统的使用有点混乱。特意查找相关知识,并将相关知识记录下来。因为工作关系,本文记录了工作中用到的地理坐标系,也就是常说的经纬度坐标系。目前工作中用到的地理坐标系主要有笛卡尔坐标系,国际标准坐标系WGS-84,火星坐标系GCJ-02,百度坐标系BD-09。

笛卡尔坐标系

笛卡尔坐标系,也称为直角坐标系。二维笛卡尔坐标系是由两条相互垂直、相交于原点的坐标轴设定,通常称为x轴和y轴。通常两个坐标轴只要互相垂直,其指向何方对于分析问题是没有影响的,但习惯性地,x轴被水平摆放,称为横轴,通常指向右方。y轴被竖直摆放而称为纵轴,通常指向上方。两个坐标轴这样的位置关系,称为二维的右手坐标系。

三维笛卡尔坐标系,是在二位笛卡尔直角坐标系上,再添加一个垂直于x轴,y轴的坐标轴,称为z轴。x,y,z三个坐标轴满足右手规则。z轴与 x轴,y轴相互正交于原点。在三维空间的任何一点 P,可以用直角坐标 (x,y,z)来表达其位置。

WGS-84坐标系

是一种国际标准的大地坐标线,是目前GPS全球卫星定位系统使用广泛的坐标系。

       GPS采用的是WGS-84坐标系统。

国际地图提供商使用的坐标系,如open street map。

天地图的在线地图是WGS-84坐标系,Google Earth采用的也是WGS-84坐标系。

GCJ-02坐标系

火星坐标系GCJ-02也叫国家测绘局坐标系,国家规定国内出版的各种地图系统(包括电子形式),必须至少采用GCJ-02对地理位置进行首次加密。

国行移动设备中定位获取的坐标数据使用的是GCJ-02坐标系。

超图云在线地图,谷歌国内在线地图,高德地图,腾讯地图采用的都是GCJ-02坐标系。

BD-09坐标系

百度地图标准的坐标系,其实是百度地图在火星坐标系上进行了二次加密。

百度地图针对海外地区提供的WGS-84坐标系。

GPS定位点坐标

原生ios或android库获取的定位点坐标为WGS-84。

百度移动sdk获取的定位点坐标可以是BD-09或GCJ-02,默认BD-09。

高德移动sdk,腾讯移动sdk等获取的定位点坐标为GCJ-02。

通过以上简介,我们知道各个地图服务商使用的坐标系统可能不同。如果不对坐标系进行处理,地图展示时基本上都会偏移。要解决偏移,只需要对坐标点进行坐标系转换。

举例:使用GPS设备采集的数据,可能是WGS-84坐标系,要将数据在百度地图上正确显示,那么就要将WGS-84坐标系的定位数据先转换为GCJ-02火星坐标系,然后在转换为BD-09百度地图坐标系,最后在进行展示。


欢迎分享交流,转载请注明出处:WithCoder » 地图开发常用的地理坐标系介绍