github、百度、高德及腾讯坐标转换精度测试
百度、高德、腾讯及github坐标转换精度测试
结论
前言:
- 以下结论均来自于单点转换的测试,仅供参考,是否采信自行判断
- 下述精度计算均为几个坐标系之间两两计算,并未使用任何一个作为基准,具体数值存在不同,所以误差以数量级进行提供
先上结论:
- 若可接受分米及以下级别的误差,可直接使用 github 开源的公式进行计算
- 相同点位从 WGS84 转出至 GCJ02建议使用高德地图接口。 百度、腾讯、高德结果均不同,腾讯与高德较为接近,百度与其他两家相差较大
1、对于GCJ02和BD09的互转
1)、github 的计算结果和百度的结果很接近,误差在 e-11 级别
2)、腾讯的结算结果仅返回五位小数,具体精度和百度在 e-5 级别保持一致(大概米级)
3)、高德的结算结果
- 与百度结果相差不大,精度误差在 e-7级(大概厘米级),偏差 4.5 厘米左右
- 与腾讯结果相差较大,在e-5 ~ e-6 级别相差接近 1(即约 1 米的误差)
2、对于WGS84转GCJ02
github、腾讯、高德的结果相近,误差在 e-7 ~ e-8 精度(约厘米级)。百度与其他相差均较大,误差在 e-6精度(约分米级)
3、对于WGS84转BD09
github与百度结果误差在 e-6 精度(分米级误差)
注:
- 百度地图提供更多的坐标转换支持
- 腾讯、高德仅支持从其他坐标系转为 GCJ02,限制较大
- 腾讯精度仅返回 e-5~ e-6数据精细度明显不足
- 百度、腾讯、高德均不提供转出为 WGS84 的选项
GCJ02转BD09
原始坐标:120.85385769314236, 28.021381022135415
1、百度
转换之后:120.86029339600422, 28.027651931662543
2、github
转换之后:120.86029339601431, 28.027651931614944
3、腾讯和高德
不提供 gcj 转 bd09
BD09转GCJ02
原始坐标:120.85385769314236, 28.021381022135415
1、百度
转换之后:120.84743091246365, 28.015043970608758
2、github
转换之后:120.84743091245831, 28.015043970635794
3、腾讯
转换之后:120.847431, 28.015044
4、高德
转换之后:120.847430458748,28.015044416871
WGS84转GCJ02
原始坐标:120.85385769314236, 28.021381022135415
1、百度
转换之后:120.85781439887153, 28.01800482855903
2、github
转换之后:120.85780927885331, 28.01800044033809
3、腾讯
转换之后:120.857809, 28.018
4、高德
转换之后:120.857808973525, 28.018000217014
WGS84转BD09
原始坐标:120.85385769314236, 28.021381022135415
1、百度
转换之后:120.86426636612079, 28.02422125535989
2、github
转换之后:120.86426123247625, 28.024216946174015
3、腾讯和高德
不提供转换