【高德地图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/

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

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

时间: 2024-12-19 09:34:38

【高德地图API】如何转到高德坐标系?的相关文章

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

原文:[高德地图API]从零开始学高德JS API(六)--坐标转换 摘要:如何从GPS转到谷歌?如何从百度转到高德?这些都是小case.我们还提供,如何将基站cell_id转换为GPS坐标? ----------------------------------------------------------------------------------------- 第一部分 各种坐标系详解 1.大地坐标系统 WGS-84 用来表述地球上点的位置的一种地区坐标系统.它采用一个十分近似于地球自

【高德地图API】从零开始学高德JS API(七)——定位方式大揭秘

摘要:关于定位,分为GPS定位和网络定位2种.GPS定位,精度较高,可达到10米,但室内不可用,且超级费电.网络定位,分为wifi定位和基站定位,都是通过获取wifi或者基站信息,然后查询对应的wifi或者基站位置数据库,得到的定位地点.定位数据库可以不断完善不断补充,所以,越定位越准确.本文详细描述了,如果使用高德JS API来实现位置定位.城市定位的方法,包含了IP定位,浏览器定位,检索定位等多种网络定位方法.当然,如果您的手机有GPS功能,那么使用浏览器定位的时候,会自动获取GPS信息,使

【高德地图API】从零开始学高德JS API(四)搜索服务

摘要:地图服务,大家能想到哪些?POI搜素,输入提示,地址解析,公交导航,驾车导航,步行导航,道路查询(交叉口),行政区划等等.如果说覆盖物Marker是地图的骨骼,那么服务,就是地图的气血.有个各种各样的地图服务,我们的地图应用才能变得有血有肉,活灵活现.第四篇拆成了几个要点,本篇主要讲搜索服务.包括周边搜索,关键词搜索,范围搜索,搜索提示(自动完成,输入提示),行政区域,交叉路口,检索自有数据(云图). demo:http://zhaoziang.com/amap/zero_4_1.html

【高德地图API】从零开始学高德JS API(二)地图控件与插件——测距、圆形编辑器、鼠标工具、地图类型切换、鹰眼鱼骨

摘要:无论是控件还是插件,都是在一级API接口的基础上,进行二次开发,封装的一系列更加便于开发者使用,减少开发者工作量的二级API接口.除了官方通用的鱼骨.鹰眼控件,还有大量官方开发的地图插件,类似谷歌的lib.当然本文还会介绍自定义插件的使用. ------------------------------------------------------------------------------------------------- 第一部分 控件 目前官方支持的控件包含:缩放控制条-地图

【高德地图API】从零开始学高德JS API(五)路线规划——驾车|公交|步行

先来看两个问题:路线规划与导航有什么区别?步行导航与驾车导航有什么区别? 回答: 1.路线规划,指的是为用户提供3条路线推荐.[高德]在提供路线规划的时候,会提供用户自定义路线规划功能,这是别家没有做到的.导航,指的是为驾车用户提示路口信息,向左向右,进入匝道等信息. 2.我们这里说的步行导航和驾车导航,严格的说,应该是路线规划.从A地到B地,如果是驾车,路线规划会将公路路网做为搜索数据:如果是步行,过街天桥.地下通道.人行道做为搜索数据. ---------------------------

【高德地图API】从零开始学高德JS API(四)搜索服务——POI搜索|自动完成|输入提示|行政区域|交叉路口|自有数据检索

摘要: 地图服务,大家能想到哪些?POI搜素,输入提示,地址解析,公交导航,驾车导航,步行导航,道路查询(交叉口),行政区划等等.如果说覆盖物Marker是地图的骨骼,那么服务,就是地图的气血.有个各种各样的地图服务,我们的地图应用才能变得有血有肉,活灵活现. 第四篇拆成了几个要点,本篇主要讲搜索服务.包括周边搜索,关键词搜索,范围搜索,搜索提示(自动完成,输入提示),行政区域,交叉路口,检索自有数据(云图). demo:http://zhaoziang.com/amap/zero_4_1.ht

【高德地图API】从零开始学高德JS API(一)地图展现——仙剑地图,麻点图,街景,室内图

下面是基于KWIC 的关键字匹配算法(管道+过滤器模式下实现) 关键部分的管道+过滤器 软件体系下的实现, 在很多的关键字搜索平台都使用了这一 循环移位+排序输出的 关键字匹配算法: 具体需求如下: 1.使用管道-过滤器风格: 每个过滤器处理数据,然后将结果送至下一个过滤器,.要有数据传入,过滤器即开始工作.过滤器之间的数据共享被严格限制在管道传输 四个过滤器: 输入(Input filter): 从数据源读取输入文件,解析格式,将行写入输出管道 移位(CircularShifter filte

【高德地图API】从零开始学高德JS API(一)地图展现

摘要:关于地图的显示,我想大家最关心的就是麻点图,自定义底图的解决方案了吧.在过去,marker大于500之后,浏览器开始逐渐卡死,大家都开始寻找解决方案,比如聚合marker啊,比如麻点图啊.聚合marker里面还有一些复杂的算法,而麻点图,最让大家头疼的,就是如何生成麻点图,如何切图,如何把图片贴到地图上,还有如何定位图片的位置吧.以前那么复杂的一系列操作,居然让云图的可视化操作一下子解决了.现在只要点一点鼠标,麻点图就自动生成了.真是广大LBS开发者的福音. 以前写过从零开始学百度地图AP

【高德地图API】从零开始学高德JS API(三)覆盖物——标注|折线|多边形|信息窗口|聚合marker|麻点图|图片覆盖物

覆盖物,是一张地图的灵魂.有覆盖物的地图,才是完整的地图.在一张地图上,除了底层的底图(瓦片图,矢量图),控件(有功能可操作的工具),最重要最不可缺少的就是覆盖物了.覆盖物有多种,包括,标注.折线.多边形.信息窗口.聚合marker.麻点图和图片覆盖物.本文会详细介绍每一种覆盖物的概念,添加方法,修改方法,移除方法等.最后会提供示例和源代码下载. 示例demo:http://zhaoziang.com/amap/zero_3_1.html ----------------------------

【高德地图API】从零开始学高德JS API(三)覆盖物

摘要:覆盖物,是一张地图的灵魂.有覆盖物的地图,才是完整的地图.在一张地图上,除了底层的底图(瓦片图,矢量图),控件(有功能可操作的工具),最重要最不可缺少的就是覆盖物了.覆盖物有多种,包括,标注.折线.多边形.信息窗口.聚合marker.麻点图和图片覆盖物.本文会详细介绍每一种覆盖物的概念,添加方法,修改方法,移除方法等.最后会提供示例和源代码下载. 示例demo:http://zhaoziang.com/amap/zero_3_1.html -------------------------