开发者社区> 杰克.陈> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

【高德地图API】从零开始学高德JS API(六)——坐标转换

简介: 原文:【高德地图API】从零开始学高德JS API(六)——坐标转换 摘要:如何从GPS转到谷歌?如何从百度转到高德?这些都是小case。我们还提供,如何将基站cell_id转换为GPS坐标? ----------------------------------------------------------------------------------------- 第一部分 各种坐标系详解 1、大地坐标系统 WGS-84 用来表述地球上点的位置的一种地区坐标系统。
+关注继续查看

原文:【高德地图API】从零开始学高德JS API(六)——坐标转换

摘要:如何从GPS转到谷歌?如何从百度转到高德?这些都是小case。我们还提供,如何将基站cell_id转换为GPS坐标?

-----------------------------------------------------------------------------------------

第一部分 各种坐标系详解

1、大地坐标系统 WGS-84

用来表述地球上点的位置的一种地区坐标系统。它采用一个十分近似于地球自然形状的参考椭球作为描述和推算地面点位置和相互关系的基准面。一个大地坐标系统必须明确定义其三个坐标轴的方向和其中心的位置。通常人们用旋转椭球的短轴与某一规定的起始子午面分别平行干地球某时刻的平均自转轴和相应的真起始子午面来确定坐标轴的方向。若使参考椭球中心与地球平均质心重合,则定义和建立了地心大地坐标系。它是航天与远程武器和空间科学中各种定位测控测轨的依据。若椭球表面与一个或几个国家的局部大地水准面吻合最好,则建立了一个国家或区域的局部大地坐标系。大地坐标系中点的位置是以其大地坐标表示的,大地坐标均以椭球面的法线来定义。其中,过某点的椭球面法线与椭球赤道面的交角为大地纬度;包含该法线和大地子午面与起始大地子午面的二面角为该点的大地经度;沿法线至椭球面的距离为该点的大地高。大地纬度、大地经度和大地高分别用大写英文字母B、L、H表示。

国内的互联网公司,都不会使用GPS坐标,因为这不符合国家政策。所以大家都会使用GCJ-02坐标系。

 

2、火星坐标系统 GCJ-02

国家保密插件,也叫做加密插件或者加偏或者SM模组,其实就是对真实坐标系统进行人为的加偏处理,按照几行代码的算法,将真实的坐标加密成虚假的坐标,而这个加偏并不是线性的加偏,所以各地的偏移情况都会有所不同。而加密后的坐标也常被人称为火星坐标系统。

目前使用火星坐标系的地图商:

  • 腾讯搜搜地图
  • 搜狐搜狗地图
  • 阿里云地图
  • 高德MapABC地图
  • 灵图51ditu地图

所有的电子地图所有的导航设备,都需要加入国家保密插件。第一步,地图公司测绘地图,测绘完成后,送 到国家测绘局,将真实坐标的电子地图,加密成“火星坐标”,这样的地图才是可以出版和发布的,然后才可以让GPS公司处理。第二步,所有的GPS公司,只要需要汽车导航的,需要用到导航电子地图的,统统需要在软件中加入国家保密算法,将COM口读出来的真实的坐标信号,加密转换成国家要求的保密的坐标,这样,GPS导航仪和导航电子地图就可以完全匹配,GPS也就可以正常工作。

国内互联网公司,都必须使用GCJ-02坐标系。

 

 

3、百度坐标系统 BD-09

百度坐标对火星坐标系进行了一次加密,形成了百度坐标系.

目前使用百度坐标系的地图商:

  • 百度Baidu地图

少部分公司会在GCJ-02的基础上再进行一次加密,但这样的坐标不通用,只适于特定公司的地图。

 

4、图吧

图吧是百度坐标乘以10000的结果。

目前使用图吧坐标系的地图商:

  • 图吧MapBar地图

少部分公司会在GCJ-02的基础上再进行一次加密,但这样的坐标不通用,只适于特定公司的地图。

 

5、移动联通基站

移动基站采用小区制,覆盖范围几KM;而联通基站采用大区制,可以覆盖几十KM;辐射的频率大小和能量决定覆盖范围。从另一角度来看,从能量守恒的角度来分析:手机辐射大的其基站辐射小(GSM),反之手机辐射小的其基站辐射大(CDMA) 。

联通联通基站格式 MNC MCC LAC CELLID

MNC(Mobile Network Code,移动网络号码),用于识别移动客户所属的移动网络。

MCC(Mobile Country Code,移动国家号码),用于唯一地标识移动客户属于的国家。它由三位十进制数组成(000-999),例如我国的MCC为460。

LAC(Location Area Code, 移动位置区码),是为寻呼而设置的一个区域,覆盖一片地理区域,初期一般按行政区域划分(一个县或一个区),现在很灵活了,按寻呼量划分。当一个LAC下的寻呼量达到一个预警门限,就必须拆分。 为了确定移动台的位置,每个GSMPLMN的覆盖区都被划分成许多位置区,位置区码(LAC)则用于标识不同的位置区。 位置区码(LAC)包含于LAI中,由两个字节组成,采用16进制编码。可用范围为0x0000-0xFFFF,码组0x0000和0xFFFE不可以使用(参见GSM规范03.03、04.08和11.11)。一个位置区可以包含一个或多个小区。

CELLID(Cell Tower ID,移动基站号),单元是指一个DVB-T信号覆盖的地理区域,这个信号是由一个或者多个发射机使用单一频率传输的,每个发射机可以发射特定的传输流。单元也可以包括中继器所覆盖的区域。两个相邻的单元之间可以有重叠的区域。在一个用原始网络标识符(original_network_id)标识的网络里面,标识一个单元的单元标识符(cell_id)是唯一的。

 

6、电信基站格式

SID NID BID

SID和NID确定你现在使用的那里的网络,看你是否漫游,BID主要是确定你是用的哪个基站。

 

二、坐标如何转换

  • GPS转谷歌地图 http://ditujiupian.com/service/api.ashx?key=您的KEY& 功能手机
      type=wgs2gcj&lng=116.420817&lat=39.906987
  • GPS转到高德地图:同上
  • GPS转百度地图 http://ditujiupian.com/service/api.ashx?key=您的KEY&type=wgs2bd&lng=116.420817&lat=39.906987
  • GPS转图吧地图 http://ditujiupian.com/service/api.ashx?key=您的KEY&type=wgs2mb&lng=116.420817&lat=39.906987
  • 谷歌地图转GPS http://ditujiupian.com/service/api.ashx?key=您的KEY&type=gcj2wgs&lng=116.420817&lat=39.906987
  • 谷歌地图转百度地图 http://ditujiupian.com/service/api.ashx?key=您的KEY&type=gcj2bd&lng=116.420817&lat=39.906987
  • 百度地图转GPS http://ditujiupian.com/service/api.ashx?key=您的KEY&type=bd2wgs&lng=116.420817&lat=39.906987
  • 百度地图转谷歌地图 http://ditujiupian.com/service/api.ashx?key=您的KEY&type=bd2gcj&lng=116.420817&lat=39.906987
  • 百度地图转高德地图:同上
  • 图吧地图转GPS http://ditujiupian.com/service/api.ashx?key=您的KEY&type=mb2wgs&lng=116.420817&lat=39.906987
  • 基站转GPS http://ditujiupian.com/service/api.ashx?key=您的KEY&type=cellid2wgs&lac=4340&cellid=13178
  • 基站转谷歌地图 http://ditujiupian.com/service/api.ashx?key=您的KEY&type=cellid2gcj&lac=4340&cellid=13178
  • 基站转到高德地图:同上
  • 基站转百度地图 http://ditujiupian.com/service/api.ashx?key=您的KEY&type=cellid2bd&lac=4340&cellid=13178
  • 经纬度转地址(大地:lnglat2address-wgs,火星:lnglat2address-gcj,百度:lnglat2address-bd) http://ditujiupian.com/service/api.ashx?key=您的KEY&type=lnglat2address-wgs&lng=116.420817&lat=39.906987

以上服务由坐标纠偏网站提供,更多细节可以访问网站,申请key。http://ditujiupian.com/

我申请了一个试用key:08145a5c5d2b487db7adeeac4a90f12a

 

三、百度坐标转到高德坐标的算法

1、线性转换

var TO_GLNG = function(lng){return lng-0.0065;};
var TO_GLAT = function(lat){return lat-0.0060;};

 

2、球面坐标转换

#include <math.h>    
const double x_pi = 3.14159265358979324 * 3000.0 / 180.0;  
void bd_decrypt(double bd_lat, double bd_lon, double &gg_lat, double &gg_lon) { double x = bd_lon - 0.0065, y = bd_lat - 0.006; double z = sqrt(x * x + y * y) - 0.00002 * sin(y * x_pi); double theta = atan2(y, x) - 0.000003 * cos(x * x_pi); gg_lon = z * cos(theta); gg_lat = z * sin(theta); }

 

3、网络接口

http://ditujiupian.com/service/api.ashx?key=您的KEY&type=bd2gcj&lng=116.420817&lat=39.906987

 

----------------------------------------------------------

另外一篇关于坐标转换的文章,《为何您的坐标不准?》

http://www.cnblogs.com/milkmap/p/3627940.html

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
轨迹系列——验证轨迹GPS坐标转换为本地坐标的四/七参数是否准确的一种方案
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1. 背景 目前对多个项目轨迹不准确的情况做了排查,发现导致轨迹偏移百分之七八十的原因反而是转换四参数不准确导致。
1082 0
[unity3d]屏幕坐标跟世界坐标的转换
keep study very day!写写今天的学习收获,今天学习到了平面坐标跟世界坐标的相互转换。 效果:点击鼠标中键,创建一个小球,虽然看起来是屏面的,但实则是在三维空间里面创建的哦! 代码挂在摄像机上: using UnityEngine; using System.
641 0
ArcGIS中利用ArcMap将地理坐标系转换成投影坐标系(从WKID=4326到WKID=102100)
           对于非地理专业的开发人员,对与这些生涩的概念,我们不一定都要了解,但是我们要理解,凡是以经纬度为单位的都是地理坐标系,因为它归根结底是一个椭球体,只不过各个国家为了反映该国家所在区域地球的真实形状,而采用不同的数学模型对本不是椭球体的地球进行椭球体化。
922 0
C#代码与javaScript函数的相互调用 (转)
1C#代码与javaScript函数的相互调用  2  3问:  41.如何在JavaScript访问C#函数?  52.如何在JavaScript访问C#变量?  63.如何在C#中访问JavaScript的已有变量?  74.
689 0
Java 中基本类型和包装类之间的转换
Java 中基本类型和包装类之间的转换 基本类型和包装类之间经常需要互相转换,以 Integer 为例(其他几个包装类的操作雷同哦): 在 JDK1.5 引入自动装箱和拆箱的机制后,包装类和基本类型之间的转换就更加轻松便利了。
959 0
自行开发高效精简的二进制序列化库(支持精简框架集)
在06年开发基于Window CE的嵌入式组态软件时就曾遇到序列化问题,由于程序运行在Window CE平台,其上的.Net Compact Framework仅支持XML序列化,而XML序列化不仅序列化后的体积较大,而且执行时间较长(参见我以前写的文章:嵌入式组态环境升级及XML反序列化慢的困惑、如何加速XML反序列化(精简框架集2.0SP1,WinCE4.2))。
495 0
阿里云SaaS加速器| 掌迅携手阿里云,共同助力工业智造
6月18日,掌迅亿通宣布和阿里云达成深度合作,产品入围阿里云云市场“心选”,掌迅成为阿里云SaaS加速器的行业伙伴。
475 0
+关注
杰克.陈
一个安静的程序猿~
10425
文章
2
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载