地理坐标转换
WGS84(GPS)、GCJ02(火星坐标)、BD09(百度)三种坐标系互转,并支持十进制度与度分秒(DMS)互相换算,全部离线计算。
浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。
所在半球
东经 / 北纬转换结果三种坐标系对照
116.410244, 39.916404
度分秒
116°24′36.9″E 39°54′59.1″N偏移距离
555.0 米WGS84(GPS 原始坐标)
116.404000, 39.915000 · 116°24′14.4″E 39°54′54.0″NGCJ02(火星坐标,高德/腾讯)
116.410244, 39.916404 · 116°24′36.9″E 39°54′59.1″NBD09(百度坐标)
116.416627, 39.922700 · 116°24′59.9″E 39°55′21.7″NGCJ02 与 BD09 是中国境内使用的加密坐标系,境外坐标不做偏移;GCJ02 → WGS84 用迭代反解,精度优于 1e-9 度。全部计算在本地完成,不联网。
这个工具能做什么
- 手机 GPS、高德、百度给出的经纬度对不上时,把坐标在三套系统之间转换,避免打点偏移几百米。
- 把十进制度转成度分秒(116.404 → 116°24′14.4″E),或者反过来把地图上抄来的 DMS 坐标变成程序要的小数。
- 核对转换效果:转换后会同时列出三种坐标系的对照和偏移距离,一眼看出这次转换挪了多少米。
- 处理境外坐标时不用担心被加密:GCJ02 与 BD09 只在中国境内做偏移,境外点原样返回。
示例
输入
WGS84 经度 116.404、纬度 39.915
输出
GCJ02:116.410244, 39.916404(度分秒 116°24′36.9″E / 39°54′59.1″N);偏移距离约 554.98 米;BD09:116.416627, 39.922700
偏移量不是固定值,会随经纬度变化(这是加密算法本身的设计)。GCJ02 → WGS84 用迭代反解,精度优于 1e-9 度,所以来回转换能基本还原原值。
常见问题
GCJ02 和 BD09 是什么,为什么要转换?
GCJ02(火星坐标)是国家测绘局对 WGS84 做的非线性加密偏移,高德、腾讯、国内大部分地图用它;BD09 是百度在 GCJ02 基础上再做一次极坐标偏移。所以同一地点在不同平台上查到的经纬度会差几百米,混用就会打点偏移。
反向转换(GCJ02 → WGS84)准确吗?
正解没有闭式公式,工具用迭代逼近:不断把候选点正向偏移再和已知点比较,直到差值小于 1e-9 度。因此误差在厘米量级,但和真实 GPS 坐标相比仍会残留算法本身带来的截断误差。
境外坐标会被偏移吗?
不会。工具先用经纬度范围粗略判断是否在中国境内(约 73.66–135.05 经度、3.86–53.55 纬度),境外点原样返回。但这个判断只是矩形范围,中国边境附近可能有几个像素的误差。
度分秒和十进制度怎么换算?
1 度 = 60 分 = 3600 秒,例如 116.404 度等于 116 度 24.24 分,也就是 116°24′14.4″。工具支持秒的小数位(默认 1 位),转换时会自动处理进位,例如 59.96″ 会变成下一度的 00.0″。
输入不合法会怎么提示?
经度必须在 -180 到 180 之间,纬度在 -90 到 90 之间,空输入或非数字都会提示格式不正确。转成度分秒时纬度分秒不能越界(分和秒都必须小于 60),否则报错而不是给一个错值。
关键词:coordinatecoordinateswgs84gcj02bd09经纬度坐标转换火星坐标百度坐标dms度分秒gps