摘要:前提了解坐标系分类经纬度美国,国际通用,如谷歌国外地图地图火星系国测局制定的标准,国内地图必须至少使用此对位置进行首次加密,高德地图腾讯搜搜地图阿里云地图灵图地图谷歌中国地图百度在标准基础上进行二次加密,百度地图这两天一直在研究经纬度
前提了解:
坐标系分类(经纬度):
WGS84
美国GPS,国际通用,如谷歌国外地图、osm地图
火星系GCJ-02
国测局制定的标准,国内地图必须至少使用此对位置进行首次加密,高德地图、腾讯搜搜地图、阿里云地图、灵图51ditu地图、谷歌中国地图
BD-09
百度在GCJ-02标准基础上进行二次加密 ,百度地图
这两天一直在研究经纬度的问题,最后发现在微信上获取用户的地理位置(经纬度)和在百度上获取实际地址的经纬度之间的距离相差较大,整整相差了5000多米的距离,这到底是怎么回事呢?最后发现原来微信端获取的经纬度使用的是WGS84(大地坐标系),然而在百度上获取的经纬度使用的是百度自己定义的BD-09(百度坐标系),百度对外接口的坐标系并不是GPS采集的真实经纬度,所以导致了两个经纬度之间的差距过大,那么解决方式是什么呢?
既然两个经纬度的坐标系标准不同,那么将其中一个坐标系的转换成另一个坐标系类型不久可以了吗?根据这个思路解决方法如下:
GPS84转换为BD-09:
在百度api中,提供了将WGS84(大地坐标系)和GCJ02(国测局坐标系)转化为BD-09(百度坐标系)的接口
百度坐标转换api地址:http://lbsyun.baidu.com/index...
百度坐标转换接口地址如下:
http://api.map.baidu.com/geoc...
参数说明:
coords
需转换的源坐标,多组坐标以“;”分隔,(经度,纬度)
ak
开发者密钥
from
源坐标类型:
1:GPS设备获取的角度坐标,WGS84坐标;
2:GPS获取的米制坐标、sogou地图所用坐标;
3:google地图、soso地图、aliyun地图、mapabc地图和amap地图所用坐标,国测局(GCJ02)坐标;
4:3中列表地图坐标对应的米制坐标;
5:百度地图采用的经纬度坐标;
6:百度地图采用的米制坐标;
7:mapbar地图坐标;
8:51地图坐标
to
目标坐标类型:
5:bd09ll(百度经纬度坐标);
6:bd09mc(百度米制经纬度坐标)
根据如上就可以实现将我们微信端获取的经纬度转化成百度自己加密过后的经纬度
当时如何将BD-09转换成GPS84百度没有提供接口,具体如何转换目前不清楚,有知道的,欢迎评论,谢谢
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/31487.html
摘要:数据将具有如下个特点将二维的经纬度转换成字符串,比如下图展示了北京个区域的字符串,分别是,等等,每一个字符串代表了某一矩形区域。例如,坐标对,位于北京安定门附近,后形成的值为。 作者简介:戴嘉乐( Mr.Maple ) | 前百度高级研发工程师 | IPFS应用实践者&布道师|个人网站:https://www.daijiale.cn联系方式:微信号:daijiale6239。 show...
阅读 2156·2019-08-30 15:54
阅读 1905·2019-08-30 13:49
阅读 614·2019-08-29 18:44
阅读 789·2019-08-29 18:39
阅读 1059·2019-08-29 15:40
阅读 1483·2019-08-29 12:56
阅读 3082·2019-08-26 11:39
阅读 3029·2019-08-26 11:37