麻辣GIS微信平台

更多 GIS 干货

微信关注不错过

「GIS教程」WebGIS中的坐标系到底是 EPSG:3857 还是 4326?

最近有小伙伴留言说自己在 Leaflet 项目的时候,OpenStreetMap 明明写的是 WGS 84,Leaflet 默认又是 EPSG:3857,这两个 EPSG 编号到底谁才是 WebGIS中使用的坐标系?相信大家可能也遇到类似的问题,小编今天就尝试解释一下。

EPSG 3857 和 EPSG 4326 的区别

我们先看看EPSG官网的介绍,如下图,先看4326

再看3857

看到主要区别了没?4326是基于WGS-84的地理坐标系,而3857是投影坐标系。而我们开发二维WebGIS的时候,电脑屏幕是平面的,是经过投影的,那必然用的就是3857。所以可以简单总结下底图瓦片用 EPSG:3857,而业务坐标习惯写 EPSG:4326 的经纬度,API 会在背后做转换。

混淆原因

这类困惑,多半不是某个软件写错了,而是把数据使用什么坐标系存储和地图使用什么坐标系展示当成了一回事。WGS 84 是基准面,EPSG:4326 是地理坐标系编号,用经纬度表示位置。EPSG:3857 则是基于同一套 WGS 84 椭球,把地球球面投影到平面上的 Web 墨卡托,单位是米。两者底层基础面一致,但坐标形式和适用场景完全不同。

如果你没系统学过GIS,很可能会被各家产品绕晕。比如 Google Earth 用地理坐标,WGS 84,对应 EPSG:4326; Google Maps 在线地图用投影坐标,Web 墨卡托,对应 EPSG:3857。同样的 OpenStreetMap 矢量数据库存经纬度,EPSG:4326,OpenStreetMap 瓦片服务和 WMS 出图却是 EPSG:3857。所以你会同时看到项目用 WGS 84和EPSG:3857两种说法,如果还没分清基准面和投影,可以先看小编之前的《「GIS教程」搞懂投影与基准面:坐标系入门第一课》。

如何快速区分 4326 和 3857

简单说看数值大小和单位即可,EPSG:4326 是角度,经纬度通常在正负 180 和正负 90 之间,小数位很多。比如巴黎大约是纬度 48.8589506、经度 2.2768485。EPSG:3857 是米,数值往往很大。同一地点投影后大约是 X 约 253457、Y 约 6250962。

拿到一对坐标,如果两个值都在几度、几十度的量级,基本可以判断是 4326;如果都到了六位数、七位数,多半是 3857。当然两者之间是可以转换的,可参考《墨卡托坐标与经纬度相互转换的方法》。

总结

最后小编补充一点,我们在做国内WebGIS相关应用的时候,默认 Web 墨卡托在高纬度地区面积变形大,中国区域还会显得略“低头”。如果做的是全国专题大屏、强调面积对比的统计图,可以考虑像小编在《Web 中如何将 GeoJSON 数据使用 Albers 投影渲染》里那样,换 Albers 等积圆锥投影,也不是非要抱着3857的。

这种地图是不是看的就舒服多了?不过要注意的是Leaflet对自定义投影支持不算太好,更推荐使用OpenLayers,使用的时候其他相应的瓦片数据也要做转换。

相关阅读

麻辣GIS-Sailor

作者:

GIS爱好者,学GIS,更爱玩GIS。

声明

1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。

2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。

手机阅读
公众号关注
知识星球
手机阅读
麻辣GIS微信公众号关注
最新GIS干货
关注麻辣GIS知识星球
私享圈子
没有下文

留言板(小编看到第一时间回复)