你有没有遇到过这种情况:
把 GPS 设备或手机定位拿到的经纬度,直接标在高德地图或百度地图上,发现位置偏了几百米,甚至偏了将近一公里?
这不是你的 GPS 坏了,也不是地图有 bug,而是坐标系不一样导致的。
在中国,地图坐标这件事情比大多数人想象的要复杂。土薯工具的「卫星坐标在线转换」支持 WGS84、GCJ-02(火星坐标)、BD-09(百度坐标)三种坐标系之间的批量互转,粘进去一行行坐标,一键出结果。
🔗 工具地址:https://toolshu.com/laton
为什么中国地图会有坐标偏移?
这是一个很多人不知道但开发者和地图使用者经常踩坑的问题。
全球通用的坐标系叫 WGS84,这是 GPS 卫星使用的原始坐标系,手机 GPS 芯片获取到的原始坐标就是 WGS84。在世界大多数国家,地图用的就是这套坐标,GPS 定位和地图是对上的。
但在中国大陆,出于测绘安全规定,所有正式出版的地图产品都必须经过一次坐标加偏处理,使用的是 GCJ-02,也叫「火星坐标」。高德地图、腾讯地图用的就是这个坐标系。偏移量是非线性的,不同地点偏移量不同,大约在几百米到一公里之间。
百度地图在 GCJ-02 的基础上又做了一次加偏,形成了 BD-09 坐标系,只有百度自己的服务在用。
三套坐标系同时存在,互相不兼容,这就是为什么从 GPS 拿到的坐标直接用在国内地图上会出现偏移,也是为什么高德的坐标直接用在百度地图上也会偏。
三种坐标系对照表
| 坐标系 | 别名 | 使用场合 |
|---|---|---|
| WGS84 | GPS坐标 | 手机GPS、国际地图、谷歌地图(海外) |
| GCJ-02 | 火星坐标 | 高德地图、腾讯地图、谷歌地图(国内) |
| BD-09 | 百度坐标 | 百度地图、百度相关服务 |
工具支持哪些转换方向?
目前支持四个方向:
- WGS84 → GCJ-02:GPS 原始坐标转高德/腾讯坐标
- GCJ-02 → WGS84:高德坐标还原 GPS 原始坐标(近似值)
- GCJ-02 → BD-09:高德坐标转百度坐标
- BD-09 → GCJ-02:百度坐标转高德坐标
输入格式是「经度,纬度」,一行一组,支持批量输入,一次处理几十上百条都没问题。
哪些场景会用到坐标转换?
地图开发:用高德地图 SDK 展示 POI,但数据来源是 GPS 采集的 WGS84 坐标,需要转成 GCJ-02 才能正确显示。这是最常见的开发场景。
数据标注:做地理数据分析或机器学习标注,需要统一多个来源的坐标到同一坐标系,批量转换是必须的。
位置打卡系统:企业开发内部考勤系统,设备获取 WGS84 坐标,但对接的是高德地图验证,需要转换后再比对范围。
地图数据迁移:从百度地图迁移到高德地图,所有存量的 BD-09 坐标需要批量转成 GCJ-02。
户外运动轨迹:用 GPS 设备记录的轨迹文件(GPX 格式)是 WGS84 坐标,导入国内地图 App 显示前需要转换,否则轨迹会整体偏移。
转换精度怎么样?
由于 GCJ-02 的加偏算法本身没有公开,逆向转换(GCJ-02 → WGS84)是通过迭代近似算法实现的,存在约 0.1 米左右的误差,日常使用完全可以忽略。
正向转换(WGS84 → GCJ-02)采用业界公认的标准算法,精度有保障。
所有计算在浏览器本地完成,坐标数据不上传服务器,涉密或敏感坐标可以放心使用。
👉 立刻转换你的地图坐标:https://toolshu.com/laton
土薯在线工具 toolshu.com,地图开发者和GIS从业者的实用工具,收藏备用。



加载中...