博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
地球坐标系 (WGS-84) 到火星坐标系 (GCJ-02) 的转换算法
阅读量:2121 次
发布时间:2019-04-30

本文共 1687 字,大约阅读时间需要 5 分钟。

原文


WGS-84 到 GCJ-02 的转换(即 GPS 加偏)算法是一个普通青年轻易无法接触到的“公开”的。这个算法的代码在互联网上是公开的,详情请使用 Google 搜索  。

整理后的算法代码请参考  。知道了这个算法之后,就可以离线进行 Google 地图偏移校正,不必像那么麻烦。

至于 GCJ-02 到 WGS-84 的转换(即 GPS 纠偏),可以使用二分法。


评论


2楼 
2013-03-02 22:53发表   
感谢博主的文章。
Google了一下 wgtochina_lb,你整理的代码多丢掉了两行,导致会有几米的误差, 加入这两行后就没有误差了。
[java] 
  1. x_add = x_add + h_add * 0.001 + yj_sin2(wg_time * 0.0174532925199433) + random_yj();  
  2. y_add = y_add + h_add * 0.001 + yj_sin2(wg_time * 0.0174532925199433) + random_yj();  
[java] 
  1. x_add = x_add + h_add * 0.001 + yj_sin2(wg_time * 0.0174532925199433) + random_yj();  
  2. y_add = y_add + h_add * 0.001 + yj_sin2(wg_time * 0.0174532925199433) + random_yj();  
Re: 
2013-03-04 09:41发表 
回复wy721:GCJ-02 到 WGS-84 的转换的话,我觉得直接使用正向偏移反推回来就够了,毕竟在小范围内该算法偏移差距都不大。
[python] 
  1. def gcj2wgs(lat, lon):  
  2.     g_lat, g_lon = wgs2gcj(lat, lon)  
  3.     d_lat = g_lat - lat  
  4.     d_lon = g_lon - lon  
  5.     return lat - d_lat, lon - d_lon  
[python] 
  1. def gcj2wgs(lat, lon):  
  2.     g_lat, g_lon = wgs2gcj(lat, lon)  
  3.     d_lat = g_lat - lat  
  4.     d_lon = g_lon - lon  
  5.     return lat - d_lat, lon - d_lon  
测试了一下,在广州反推结果误差在1米左右的样子。
Re: 
2013-03-04 09:53发表 
回复wy721:二分法可以更加精确。
Re: 
2013-03-03 09:11发表   
回复wy721:我认为这两行代码是用于混淆的。
验证是否有误差,不能使用 GPS 传感器(手机) + 地图的方式,因为 GPS 传感器本身就有几米的误差。
准确的验证方式可以参考这个:
http://hi.baidu.com/coolypf/item/a5f05188c21d60874414cffe
Re: 
2013-03-04 09:19发表   
回复coolypf:http://api.map.baidu.com/ag/coord/convert?from=0&to=2&x=113.540124&y=23.517846
我是使用百度的官方API验证的。
URL中from,to的取值含义是 0=WGS84, 2=GCJ-02, 4=BD-09
Re: 
2013-03-04 09:51发表   
回复wy721:百度这个 API 是直接使用的测绘局的库,当然会和加了混淆的版本一致。
Re: 
2013-03-04 19:36发表   
回复coolypf:的确用http://hi.baidu.com/coolypf/item/a5f05188c21d60874414cffe这个方法验证和不加那两行代码的算法一致。
谷歌用的高德地图数据,难道高德不是用测绘局的库吗。。
Re: 
2013-03-04 19:46发表   
回复wy721:坐标加偏当然是用的测绘局的库,
但是地图加偏是由测绘局内部完成的。

转载地址:http://fekrf.baihongyu.com/

你可能感兴趣的文章
第一个C#应用程序
查看>>
第一章C#简介
查看>>
NGWS runtime 技术基础
查看>>
Linux find 文件查询 用法示例
查看>>
Linux 查看文件大小
查看>>
mysql 命令
查看>>
MySQL执行外部sql脚本文件的命令
查看>>
解决MySql Error Code: 2006
查看>>
查看mysql数据库和表所占用空间
查看>>
Guava Collections使用介绍
查看>>
Ordering犀利的比较器
查看>>
spring+Mybatis+Ehcache整合
查看>>
google guava使用例子/示范(一)
查看>>
joda-time 时间API
查看>>
Joda Time API -2
查看>>
Spring使用Cache、整合Ehcache
查看>>
Chrome调试工具奇淫技
查看>>
30分钟快速掌握Bootstrap
查看>>
如何针对业务做DB优化
查看>>
程序猿都该知道的MySQL秘籍
查看>>