OpenLayers与百度高德等常见地图坐标系

1. OpenLayers坐标系

OpenLayers中,创建一个Map,默认的显示(View)的投影坐标系是EPSG:3857,常见的另一个坐标系是 EPSG:4326

image-20220715161025363

参考官方API文档:OpenLayers v6.14.1 API - Class: View

如果添加的图层(Layer)坐标系不是EPSG:3857,务必记得设置坐标系参数

但是,通过查询EPSG官网,笔者发现还有一些非官方的EPSG也是同样投影,比如:EPSG:900913

天地图瓦片地图用的就是这个坐标系,所以加载天地图时可以不用额外设置坐标系参数

image-20220715161512118

参考官方文档:Google Maps Global Mercator - Spherical Mercator (unofficial - used in open source projects / OSGEO) - EPSG:900913

2. 天地图

参考天地图官方的文档:天地图API (tianditu.gov.cn)

查看天地图地图服务的元数据,可以发现天地图使用的是EPSG:900913

image-20220715161954592

上文中提到,EPSG:900913EPSG:3857是相同的投影坐标系

3. OSM地图

OSM地图使用的是WGS84坐标系,EPSG:4326,如下所示:

image-20220715164319876

参考官方文档:Converting to WGS84 - OpenStreetMap Wiki

4. 高德

目前高德地图使用的是 GCJ-02 坐标,GCJ-02是由中国国家测绘局(G表示Guojia国家,C表示Cehui测绘,J表示Ju局)制订的地理信息系统的坐标系统

GCJ-02 坐标是一种对经纬度数据的加密算法,即加入随机的偏差,换言之,GCJ-02和WGS84存在着一点点偏差

image-20220715171402322

参考高德文档:参考手册-地图 JS API v2.0|高德地图API (amap.com)

百度百科:GCJ-02_百度百科 (baidu.com)

5. 百度

百度对外接口的坐标系为BD09坐标系

BD09:为百度坐标系,在GCJ02坐标系基础上再次加密。其中bd09ll表示百度经纬度坐标,bd09mc表示百度墨卡托米制坐标

image-20220715172348063

参考百度官方文档:坐标系说明 | 百度地图API SDK (baidu.com)

posted @ 2022-07-15 17:36  当时明月在曾照彩云归  阅读(3435)  评论(0编辑  收藏  举报