简谈百度坐标反转至WGS84的三种思路
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处: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的三种思路相关推荐
- python如何下载os库_简谈下载安装Python第三方库的三种方法
如何下载安装Python第三方库(注:此文章以Windows的安装环境为前提) 一.利用Python中的pip进行第三方库的下载 首先我们要搞清楚Python中的pip是个什么东东?pip是一个安装和 ...
- python读取图像数据流_浅谈TensorFlow中读取图像数据的三种方式
本文面对三种常常遇到的情况,总结三种读取数据的方式,分别用于处理单张图片.大量图片,和TFRecorder读取方式.并且还补充了功能相近的tf函数. 1.处理单张图片 我们训练完模型之后,常常要用图片 ...
- 火星坐标gcj02、百度坐标bd09II、WGS84坐标相互转换及墨卡托转经纬度百度墨卡托bd09mc
写在前面 bd09II: 百度地图 gcj02: 高德地图.腾讯地图 cgcs200: 天地图 wgs84: osm.谷歌.arcgisonline.... 1.经纬度转换 BD09 <=> ...
- JS: 火星坐标gcj02、百度坐标bd09II、WGS84坐标相互转换及墨卡托转经纬度百度墨卡托bd09mc
写在前面 bd09II: 百度地图 gcj02: 高德地图.腾讯地图 cgcs200: 天地图 wgs84: osm.谷歌.arcgisonline.... 1.经纬度转换 BD09 <=> ...
- java百度地图路线规划_浅谈百度地图WEB开发中的四种路线规划
百度地图在3.0的Javascript api中增加了四种路径规划,分别是:步行.骑行.自驾.公交. 关于路线规划的引用也相当简单,我们以步行为例://实例化地图 var map = new BMap ...
- 【Python】图像反转/反色的三种方法(pillow)
引言 图像反转(反色)是将图像的灰度值反转,若图像灰度级为 256,则新图的灰度值为 255 减去原图的灰度值.本文介绍了使用 Python 的 pillow 库进行图像反转(反色)的三种方法. 安装 ...
- echart横坐标太长导致坐标显示不完全(三种方法)
三种方法的完整方法如下图所示 三种方法分开阐述: 解决办法(三种方法) ①在xAxis中加入=> axisLabel :{interval:0} //axisLabel:{// inter ...
- java 经纬度坐标转换 WGS84、火星坐标 (GCJ-02)、百度坐标 (BD-09)
会有偏移,但是还能接受 WGS84 国际标准,从 GPS 设备中取出的数据的坐标系 国际地图提供商使用的坐标系 火星坐标 (GCJ-02) 中国标准,从国行移动设备中定位获取的坐标数据使用这个坐标系 ...
- 各坐标系转换,百度、高德、wgs84、cgcs2000坐标系互转
首先申明:转换方法都是网上找的,但是都不全,整理了一下 其中wgs84.cgcs2000互转结果有差异,也就是完全还原不了 先附上百度.高德.wgs84互转方法 js /*** Created by ...
- AI一分钟 | 谷歌租下北京 6000 平米写字楼,或将发展AI项目;工信部就个人信息保护约谈百度、支付宝、今日头条
一分钟AI 今日头条召开算法分享大会,称算法分发并非是把所有决策都交给机器 谷歌计划推出利用AI技术+人工审查的方法来共同消除视频中的不恰当内容 谷歌的智能音箱销量仅为25%,为扭转亚马逊独占市场大 ...
最新文章
- Linux Ubuntu上架设FTP
- 园内ORM讨论的经典文章及评论[转]
- 单体预聚合的目的是什么_聚合物在加工过程中降解可能性分析与预防
- [云炬python3玩转机器学习笔记] 3-3Numpy数据基础
- 学习ccna,ccnp中如何提高英语问题
- 计算并联电阻的阻值(信息学奥赛一本通-T1015)
- python collections(容器)模块
- 获取文件夹以及子文件夹里面的所有文件
- 游戏控制管理器(a11s)
- QGIS根据字段属性实现sld样式的编辑和导出
- Linux TCP之sack(二)
- 马云给公司年轻员工的一封信
- 计算机工程制图标注,工程制图与计算机辅助设计:第3章 组合体视图即尺寸标注...
- 小米选择了总是打开方式_小米手机,不小心设置成了总是此应用打开,怎样取消...
- 网易云音乐 真实地址
- 大众营销OUT,活跃科技教你玩精众营销
- 美团2017年CodeM资格赛题解
- 实验作品集:百度随心听air桌面版
- BW Upgrade Authorization Solution(转帖)
- sql server2008处理笛卡儿积的逻辑——记一次解决疑惑
热门文章
- 利用composer搭建PHP框架(三.模板引擎)
- 鸿蒙比苹果流畅,华为鸿蒙应用恢复率优于苹果iOS,无惧老化36个月持续流畅
- 光学定位与追踪技术_从显微镜到显纳镜:小于2nm定位精度光学显微镜
- 题目:将一个正整数分解质因数
- 美团猫眼电影Android模块化实战总结
- python标准库——math模块
- php 松散耦合,PHP依赖注入和松散耦合
- Android 5.1 memory leak,Android 性能优化之使用MAT分析内存泄露问题
- 新地址 贴吧_建议收藏 | 新媒体人必备5大工具
- java 默认为空的注解,错误注解的字段设置一个默认的空值