背景
业务开发或者数据可视化时,我们会发现数据和地图底图并不匹配,不匹配的原因基本是坐标系的问题。解决该问题,首先要明确底图和数据分别是什么坐标系,比如高德地图采用GJ02, 我们数据采用 GJ02 地图就是匹配的。如果我们的数据不是GCJ02 那么就需要进行坐标转换,或者更换与数据坐标系一致的底图。
| 地图与数据不吻合 | 地图与数据吻合 |
几种坐标系
WGS84:为一种大地坐标系,也是目前广泛使用的GPS全球卫星定位系统使用的坐标系。 GCJ02:又称火星坐标系,是由中国国家测绘局制订的地理信息系统的坐标系统。由WGS84坐标系经加密后的坐标系。 BD09:为百度坐标系,在GCJ02坐标系基础上再次加密。其中bd09ll 表示百度经纬度坐标,bd09mc表示百度墨卡托米制坐标。 除了国内百度之外,高德、腾讯在国内地图都采用GCJ02 坐标系。
如何进行坐标转换
业界(非官方) 有很多坐标转换的方案,偏移坐标一般和实际坐标有 0 到几百米的偏移而且是非线性加偏,不能准确反算,现有纠偏方法一般是模拟计算,纠偏后误差 10 米左右,10米误差在实际应用中足够了。这里介绍坐标转换的方案,满足各类用户的需求。
组件库
面向开发同学使用的组件库
- 支持 WGS84、GCJ02、BD09坐标系相关转换。
- 支持浏览器中使用,在应用中动态切换
- 支持不同语言版本 Node、Python、Go还有命令行工具
详情了解: github.com/wandergis/c…
QGIS 插件
GeoHey Toolbox 目前已经不提供转 WGS84 坐标了, 也就是只能加偏不能解偏,不过国内使用足够了, :::info 因国家法律规定,不提供转WGS84的工具, :::
打开QGIS,点击菜单【插件】->【管理并安装插件…】。
toolbox 工具箱中找到 Geohey Toolbox
打开对应的工具的就可以可以进行坐标转换了。
在线转换工具
很多时候临时坐标转换,不想写代码也不希望下载插件,可以使用这个在线工具。
tool.lu/coordinate/…
地理可视化大家都在用 L7 github.com/antvis/l7