跳到主内容
UniKit

地理坐标转换

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″N
GCJ02(火星坐标,高德/腾讯)116.410244, 39.916404 · 116°24′36.9″E 39°54′59.1″N
BD09(百度坐标)116.416627, 39.922700 · 116°24′59.9″E 39°55′21.7″N

这个工具能做什么

  • 手机 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

同类工具