OpenLayers与百度高德等常见地图坐标系
1. OpenLayers坐标系
OpenLayers中,创建一个Map,默认的显示(View)的投影坐标系是EPSG:3857,常见的另一个坐标系是 EPSG:4326
参考官方API文档:OpenLayers v6.14.1 API - Class: View
如果添加的图层(Layer)坐标系不是EPSG:3857,务必记得设置坐标系参数
但是,通过查询EPSG官网,笔者发现还有一些非官方的EPSG也是同样投影,比如:EPSG:900913
天地图瓦片地图用的就是这个坐标系,所以加载天地图时可以不用额外设置坐标系参数
2. 天地图
参考天地图官方的文档:天地图API (tianditu.gov.cn)
查看天地图地图服务的元数据,可以发现天地图使用的是EPSG:900913:
上文中提到,EPSG:900913和EPSG:3857是相同的投影坐标系
3. OSM地图
OSM地图使用的是WGS84坐标系,EPSG:4326,如下所示:
参考官方文档:Converting to WGS84 - OpenStreetMap Wiki
4. 高德
目前高德地图使用的是 GCJ-02 坐标,GCJ-02是由中国国家测绘局(G表示Guojia国家,C表示Cehui测绘,J表示Ju局)制订的地理信息系统的坐标系统
GCJ-02 坐标是一种对经纬度数据的加密算法,即加入随机的偏差,换言之,GCJ-02和WGS84存在着一点点偏差
参考高德文档:参考手册-地图 JS API v2.0|高德地图API (amap.com)
5. 百度
百度对外接口的坐标系为BD09坐标系
BD09:为百度坐标系,在GCJ02坐标系基础上再次加密。其中bd09ll表示百度经纬度坐标,bd09mc表示百度墨卡托米制坐标
参考百度官方文档:坐标系说明 | 百度地图API SDK (baidu.com)