文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/

1.背景

基于百度地图进行数据展示是目前项目中常见场景,但是因为百度地图是基于BD09坐标系的,GPS坐标(WGS84)或者其他常见的标准坐标是无法准确在地图上进行展示的,但是互联网在线情况下,百度提供了将WGS84经纬度转换成百度经纬度坐标的API,这里不再对其进行研究(离线情况下也有专门方法解决)。这里,我们探讨,如何将在百度上获取的百度坐标数据反转成WGS84坐标。

目前有三种通用方法来解决此问题,分别是算法逼近、误差逼近和格网逼近方法。

2.算法逼近方法

百度地图坐标系的背景为首先使用国测局制定的GCJ-02,对地理位置进行首次加密,然后再利用其自创的BD-09进行二次加密措施。所以基于算法的逼近,也是进行这样的反解步骤:首先将BD09坐标转换成GCJ02坐标,然后再将GCJ02坐标反算成WGS84坐标。

以下为基于算法反解的详细代码:

3.误差逼近方法

A点为百度坐标点,假设此时我们将其看作一个WGS84坐标点A1,利用百度提供的在线WGS84坐标转换成百度经纬度坐标系的API,可得到A1’百度坐标,此时A1’与A1之间的坐标差为L。假设百度地图在2L范围的坐标其反转误差大致相同,则我们将真实的百度坐标A做L标准差的线性加减得到A’,最后A’则为百度坐标A反转所得的WGS84坐标。

详细代码如下:

4.网格逼近算法

该方法我在之前的博客中详细介绍过:http://www.cnblogs.com/naaoveGIS/p/5342177.html。

其流程大致为:

a.将指定范围以100M(或更小)划分成若干格网。

b.建立各个格网的四角坐标中WGS84坐标与百度坐标之间的对应关系。

c.判断待转换的百度点落在哪个网格中,获取该格网的四角坐标对应的WGS84坐标。

按照该点在格网的权重算出其WGS84坐标后转换完毕。

5.误差对比

此三种方法皆为逼近,误差是无法避免的,对这三种算法的误差做了初步的统计,如下:

首先对比了误差逼近方法和算法逼近方法,可见他们的平均误差均在10M上下,其中算法逼近方法比误差逼近方法稍微精度高一些。

而网格方法是一种误差很稳定的方法,以100M的网格划分为例,其误差是厘米级的,具体如下:

6.总结

当精度要求不高,并且需要快速部署情况下,首推算法逼近方法。当需要高精度方法时,还是需要使用网格逼近方法。

                       -----欢迎转载,但保留版权,请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/

如果您觉得本文确实帮助了您,可以微信扫一扫,进行小额的打赏和鼓励,谢谢 ^_^

简谈百度坐标反转至WGS84的三种思路相关推荐

  1. python如何下载os库_简谈下载安装Python第三方库的三种方法

    如何下载安装Python第三方库(注:此文章以Windows的安装环境为前提) 一.利用Python中的pip进行第三方库的下载 首先我们要搞清楚Python中的pip是个什么东东?pip是一个安装和 ...

  2. python读取图像数据流_浅谈TensorFlow中读取图像数据的三种方式

    本文面对三种常常遇到的情况,总结三种读取数据的方式,分别用于处理单张图片.大量图片,和TFRecorder读取方式.并且还补充了功能相近的tf函数. 1.处理单张图片 我们训练完模型之后,常常要用图片 ...

  3. 火星坐标gcj02、百度坐标bd09II、WGS84坐标相互转换及墨卡托转经纬度百度墨卡托bd09mc

    写在前面 bd09II: 百度地图 gcj02: 高德地图.腾讯地图 cgcs200: 天地图 wgs84: osm.谷歌.arcgisonline.... 1.经纬度转换 BD09 <=> ...

  4. JS: 火星坐标gcj02、百度坐标bd09II、WGS84坐标相互转换及墨卡托转经纬度百度墨卡托bd09mc

    写在前面 bd09II: 百度地图 gcj02: 高德地图.腾讯地图 cgcs200: 天地图 wgs84: osm.谷歌.arcgisonline.... 1.经纬度转换 BD09 <=> ...

  5. java百度地图路线规划_浅谈百度地图WEB开发中的四种路线规划

    百度地图在3.0的Javascript api中增加了四种路径规划,分别是:步行.骑行.自驾.公交. 关于路线规划的引用也相当简单,我们以步行为例://实例化地图 var map = new BMap ...

  6. 【Python】图像反转/反色的三种方法(pillow)

    引言 图像反转(反色)是将图像的灰度值反转,若图像灰度级为 256,则新图的灰度值为 255 减去原图的灰度值.本文介绍了使用 Python 的 pillow 库进行图像反转(反色)的三种方法. 安装 ...

  7. echart横坐标太长导致坐标显示不完全(三种方法)

    三种方法的完整方法如下图所示 三种方法分开阐述: 解决办法(三种方法) ①在xAxis中加入=>    axisLabel :{interval:0} //axisLabel:{// inter ...

  8. java 经纬度坐标转换 WGS84、火星坐标 (GCJ-02)、百度坐标 (BD-09)

    会有偏移,但是还能接受 WGS84 国际标准,从 GPS 设备中取出的数据的坐标系 国际地图提供商使用的坐标系 火星坐标 (GCJ-02) 中国标准,从国行移动设备中定位获取的坐标数据使用这个坐标系 ...

  9. 各坐标系转换,百度、高德、wgs84、cgcs2000坐标系互转

    首先申明:转换方法都是网上找的,但是都不全,整理了一下 其中wgs84.cgcs2000互转结果有差异,也就是完全还原不了 先附上百度.高德.wgs84互转方法 js /*** Created by ...

  10. AI一分钟 | 谷歌租下北京 6000 平米写字楼,或将发展AI项目;工信部就个人信息保护约谈百度、支付宝、今日头条

    一分钟AI 今日头条召开算法分享大会,称算法分发并非是把所有决策都交给机器 谷歌计划推出利用AI技术+人工审查的方法来共同消除视频中的不恰当内容 谷歌的智能音箱销量仅为25%,为扭转亚马逊独占市场大 ...

最新文章

  1. Linux Ubuntu上架设FTP
  2. 园内ORM讨论的经典文章及评论[转]
  3. 单体预聚合的目的是什么_聚合物在加工过程中降解可能性分析与预防
  4. [云炬python3玩转机器学习笔记] 3-3Numpy数据基础
  5. 学习ccna,ccnp中如何提高英语问题
  6. 计算并联电阻的阻值(信息学奥赛一本通-T1015)
  7. python collections(容器)模块
  8. 获取文件夹以及子文件夹里面的所有文件
  9. 游戏控制管理器(a11s)
  10. QGIS根据字段属性实现sld样式的编辑和导出
  11. Linux TCP之sack(二)
  12. 马云给公司年轻员工的一封信
  13. 计算机工程制图标注,工程制图与计算机辅助设计:第3章 组合体视图即尺寸标注...
  14. 小米选择了总是打开方式_小米手机,不小心设置成了总是此应用打开,怎样取消...
  15. 网易云音乐 真实地址
  16. 大众营销OUT,活跃科技教你玩精众营销
  17. 美团2017年CodeM资格赛题解
  18. 实验作品集:百度随心听air桌面版
  19. BW Upgrade Authorization Solution(转帖)
  20. sql server2008处理笛卡儿积的逻辑——记一次解决疑惑

热门文章

  1. 利用composer搭建PHP框架(三.模板引擎)
  2. 鸿蒙比苹果流畅,华为鸿蒙应用恢复率优于苹果iOS,无惧老化36个月持续流畅
  3. 光学定位与追踪技术_从显微镜到显纳镜:小于2nm定位精度光学显微镜
  4. 题目:将一个正整数分解质因数
  5. 美团猫眼电影Android模块化实战总结
  6. python标准库——math模块
  7. php 松散耦合,PHP依赖注入和松散耦合
  8. Android 5.1 memory leak,Android 性能优化之使用MAT分析内存泄露问题
  9. 新地址 贴吧_建议收藏 | 新媒体人必备5大工具
  10. java 默认为空的注解,错误注解的字段设置一个默认的空值