地球坐标、火星坐标、百度坐标

2024-04-22 06:58
文章标签 百度 坐标 地球 火星

本文主要是介绍地球坐标、火星坐标、百度坐标,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

转自:http://www.cnblogs.com/Tangf/archive/2012/09/16/2687236.html

先普及一下坐标系统的概念。我们使用GPS系统获得的坐标系统,基本为标准的国际通用的WGS84坐标系统,而我们的国测局出于安全考虑,推出了02坐标系统,就是在标准的WGS84坐标系统上进行了人为的偏移,并且还是非线性的,所有的导航软件导航地图都需要使用国家02坐标系统,比如Google地图、腾讯SOSO地图等就是直接使用了国家02坐标系统,我们有一个不成文的说法,前者叫地球坐标,后者叫火星坐标,并且,火星坐标是无法转换成地球坐标的(网上虽然有一定的方法,但基本上都是基于偏移数据库,精度较高的数据库需要购买,当然这都是一种破解手段)。而百度地图等,可能是出于商业化考虑,为了不让自己的用户流失,而推出了自家的坐标系统,就是谁也看不懂的百度坐标系统,在百度地图上,没有任何偏差,但你又无法将转换后的百度坐标系统反转回来,这样你用百度地图坐标就自然离不开百度了。对于这样的行径,很是无语,但作为一个公司的商业化手段,也算能理解。iOS中,CLLocationManager获取的是地球坐标,MapKit中使用定位获取到是的火星坐标。

1、地球坐标转火星坐标

原则上,国家提供了保密插件,直接可算,但你必须通过正规的商业化渠道才可以获得,一般的个人是不可能从国测局取得保密插件代码的。

这个问题不是没有解决办法,因为网络地图公司就一定会使用到这样的接口,比如Google地图、MapABC地图等,网上一个朋友在iOS上实现了该转换,用的是高德MapABC的接口(详见这里),我来说说百度地图接口的做法。

接口地址:http://api.map.baidu.com/ag/coord/convert?x=121.583140&y=31.341174&from=0&to=2&mode=1

说明:x和y就是经纬度了,替换成你真实的经纬度即可,from和to表示坐标系,0表示地球坐标,2表示火星坐标,4表示百度坐标,所以这里是从地球坐标转换成火星坐标,mode参数未知。

结果:[{"error":0,"x":"MTIxLjU4NzM2NDA5NTA1","y":"MzEuMzM5MDI3NTA2NTE="}]

说明:error为0表示没有错误,返回的x和y是base64算法后的结果(可以自行Google加解密base64),解密后就是:121.58736409505和31.33902750651,这个就是火星坐标。

问题:我不知道官方是否提供了这个方法,但验证下来基本没有偏差(第六位同MapABC加密出来的不同,原因未知),第六位的偏差也可以基本忽略。

本想用这个接口自己来写一个小软件的,但想想过于麻烦,所以有心的朋友来写一个吧,当然,也要注意,这个接口的调用最好是异步的,并且每次最多好像是20个。

2、火星坐标转地球坐标

如上文所述,国家是不可能公开这个算法的,网上流传的基本上都是基于数据库的,而高精度的反算数据库有人是卖钱的。

关于这方面的研究,三年前就已经是热火朝天了,只是个人有一两个工具可用,所以也一直无心研究具体实现。至于数据库,0.1的数据库应该是比较容易获得的,由于手头看到的都已经加密成二进制,所以待我找到后再同大家分享吧。顺便推荐一下这篇:一种根据纠偏数据对火星坐标进行完美拟合的方法,有兴趣的朋友可以研究一下,或者做成一个工具。

3、地球坐标到百度坐标

百度已经提供了两个示例:

虽然这两个示例中,百度提供了一个js,但实际上也逃离不了第一点中描述的接口http://api.map.baidu.com/ag/coord/convert?x=121.583140&y=31.341174&from=0&to=2&mode=1,只是变更为了from 0 to 4。以此类推,下述第四点即为from 2 to 4。

4、火星坐标到百度坐标

同第三点所述。

5、百度坐标到火星坐标

结合上文所述,地球坐标到火星坐标是国家的方法,那么火星坐标到百度坐标应该是自己的算法,搜狗有能够解密出百度的坐标(提供的也仅仅是接口,无实际算法)

6、百度坐标到地球坐标

这个问题基本无解,即便有解也需要先解决第五点和第二点。这里就不多说了。

这篇关于地球坐标、火星坐标、百度坐标的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/925085

相关文章

百度/小米/滴滴/京东,中台架构比较

小米中台建设实践 01 小米的三大中台建设:业务+数据+技术 业务中台--从业务说起 在中台建设中,需要规范化的服务接口、一致整合化的数据、容器化的技术组件以及弹性的基础设施。并结合业务情况,判定是否真的需要中台。 小米参考了业界优秀的案例包括移动中台、数据中台、业务中台、技术中台等,再结合其业务发展历程及业务现状,整理了中台架构的核心方法论,一是企业如何共享服务,二是如何为业务提供便利。

SW - 引入第三方dwg图纸后,修改坐标原点

文章目录 SW - 引入第三方dwg图纸后,修改坐标原点概述笔记设置图纸新原点END SW - 引入第三方dwg图纸后,修改坐标原点 概述 在solidworks中引入第三方的dwg格式图纸后,坐标原点大概率都不合适。 全图自动缩放后,引入的图纸离默认的原点位置差很多。 需要自己重新设置原点位置,才能自动缩放后,在工作区中间显示引入的图纸。 笔记 将dwg图纸拖到SW中

Imageview在百度地图中实现点击事件

1.首先第一步,需要声明的全局有关类的引用 private BMapManager mBMapMan; private MapView mMapView; private MapController mMapController; private RadioGroup radiogroup; private RadioButton normalview; private RadioBu

三维激光扫描点云配准外业棋盘的布设与棋盘坐标测量

文章目录 一、棋盘标定板准备二、棋盘标定板布设三、棋盘标定板坐标测量 一、棋盘标定板准备 三维激光扫描棋盘是用来校准和校正激光扫描仪的重要工具,主要用于提高扫描精度。棋盘标定板通常具有以下特点: 高对比度图案:通常是黑白相间的棋盘格,便于识别。已知尺寸:每个格子的尺寸是已知的,可以用于计算比例和调整。平面标定:帮助校准相机和激光扫描仪之间的位置关系。 使用方法 扫描棋盘:

看病要排队这个是地球人都知道的常识

归纳编程学习的感悟, 记录奋斗路上的点滴, 希望能帮到一样刻苦的你! 如有不足欢迎指正! 共同学习交流! 🌎欢迎各位→点赞 👍+ 收藏⭐ + 留言​📝唯有付出,才有丰富的果实收获! 看病要排队这个是地球人都知道的常识。 不过经过细心的0068的观察,他发现了医院里排队还是有讲究的。0068所去的医院有三个医生(汗,这么少)同时看病。而看病的人病情有轻重,所以不能根据简单的先来

【无线通信发展史⑧】测量地球质量?重力加速度g的测量?如何推导单摆周期公式?地球半径R是怎么测量出来的?

前言:用这几个问答形式来解读下我这个系列的来龙去脉。如果大家觉得本篇文章不水的话希望帮忙点赞收藏加关注,你们的鼓舞是我继续更新的动力。 我为什么会写这个系列呢? 首先肯定是因为我本身就是一名从业通信者,想着更加了解自己专业的知识,所以更想着从头开始了解通信的来源以及在每一个时代的发展进程。 为什么会从头开始写通信? 我最早是学习了中华上下五千年,应该说朝代史,这个算个人兴趣,从夏

百度之星 2015 复赛 1001 (数长方形)

数长方形    Accepts: 595    Submissions: 1225  Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Problem Description 小度熊喜欢玩木棒。一天他在玩木棒的时候,发现一些木棒会形成长方形

百度之星 2015 初赛(1) 1002 找连续数

找连续数      Accepts: 401      Submissions: 1911  Time Limit: 2000/1000 MS (Java/Others)      Memory Limit: 32768/32768 K (Java/Others) Problem Description 小度熊拿到了一个无序的数组,对于这个数组,小度熊想知道是

百度之星初赛1002(二分搜索)

序列变换    Accepts: 816    Submissions: 3578  Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Problem Description 给定序列 A={A1,A2,...,An} , 要求改变序列A中

百度之星初赛1006(计算几何:能包含凸包的最小矩形面积)

矩形面积    Accepts: 717    Submissions: 1619  Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Problem Description 小度熊有一个桌面,小度熊剪了很多矩形放在桌面上,小度熊想知道能把这些