经常会用到地图开发,有些基础知识过段时间不用就会混淆,所以记录一下。
目前我习惯用的地图api还是高德,高德默认坐标系是EPSG3857,EPSG指的是投影方式。
3857和4326投影的区别可以点击看这里
google的摩卡托坐标,也就是我们经常看到的 EPSG:3857 坐标系。
EPSG:3857 的数据一般是这种的。[12914838.35,4814529.9],看上去相对数值较大。不利于存储,比较占内存。4326 WGS-84:是国际标准,GPS坐标(Google Earth使用、或者GPS模块)
EPSG:4326 的数据一般是这种的。[22.37,114.05]。利于存储,可读性高
所以我们常常看到和用到的坐标系数据往往不是墨卡托坐标,而是EPSG:4326坐标系下的坐标数据。
如果我们用4326的坐标系加载高德地图,就会发现地图被压缩了,这是投影不同造成的。当然还有3395,船讯网的海图就是3395的。
讲完投影方式,我们再聊一下坐标系,WGS84、GCJ-02、BD-09
WGS84是为GPS全球定位系统建立的坐标系统,是世界上第一个统一的地心坐标系,因此也被成为大地坐标系、原始坐标系,一般通过GPS记录仪记录下来的经纬度,就是基于WGS84坐标系的数据。
GCJ-02 是由中国国家测绘局(G表⽰Guojia国家,C表⽰Cehui测绘,J表⽰Ju局)制订的地理信息系统的坐标系统,是在WGS84经纬度的基础上执⾏加密算法⽽成。因为GPS得到的经纬度直接在 GCJ-02 坐标系下会定位到错误的地点,有种到了⽕星的感觉,因此在坊间也将 GCJ-02 戏称为火星坐标系。
国测局规定,国内出版的各种地图系统(包括电⼦形式),必须⾄少采⽤ GCJ-02 对地理位置进⾏⾸次加密的坐标系,⾼德和Google在国内都是使⽤ GCJ-02 坐标系,⽽百度使⽤的是在 GCJ-02 基础上再⼀次加密的 BD-09 坐标系。
总结:投影方式和坐标系是两个概念,需要分开理解。