最全的LBS手机定位技术,定位原理教程

2024-06-03 18:39:02 浏览数 (2)

随着手机技术的发展定位方式也发生了很大的变化。获取手机位置有很多种方式。

第一种:CELL-ID定位原理 通过移动网络获取设备当前所在的Cell信息来获取设备当前位置。当设备位置更新设备会向当前服务小区报告当前位置信息,Cell ID定位的精度随着小区的覆盖范围而变化,从几十米到上百米不等。Cell ID是目前最容易使用的定位方式。只要获取手机访问的基站编号,在通过后台服务得到基站的坐标那就能获得手机的大体位置了。

第二种:AFLT定位原理 AFLT(Advanced Forword Link Trilateration) 是在定位操作时同时监听多个基站的信号,利用信号的延时和强度信号来确定手机到附件基站的距离,最后用三角定位算法计算用户的位置。一般在城市里基站的覆盖往往是重叠没有盲区的。所以手机往往会有多个基站的信息。这也是为什么基站定位城市比农村要准确很多的原因。

第三种:基站和GPS的混合定位(AGPS)

第四种:基站 WIFI GPS的混合定位。 这种定位方式是目前最常用的定位方式,在使用手机地图通常是提示你打开GPS或者Wifi。如果要是在室外打开任意一个选项都可以大大提高定位精度。特别是打开wifi会瞬间提高定位精度。目前手机地图的定位方式基本都是这样的混合定位方式。原来也很简单就是IP定位,在你手机接入wifi时回获取到路由的硬件地址,如果你手机在线就可以通过这唯一地址得到路由的位置坐标,在通过对wifi的强度信息获取你的距离信息组后提高你的位置精度。

手机查看基站信息的方法 1. Android智能机:在拨打电话界面输入*#*#4636#*#* 查看相应的基站信息,一般为16进制,请选择1进制进行查询

2. IPhone:在拨打电话界面输入*3001#12345#*查看相应的基站信息

查出CID后你可以尝试在 http://www.minigps.net/cellsearch.html 定位一下自己手机的位置。

输入*#*#4636#*#* 选择->Phone information

方法1: 用浏览器打开http://www.minigps.net/cellsearch.html,然后输入lac和cid信息(mcc和mnc可以填0),如果数据正确就可以获得相应的经纬度

方法2: 发送HTTP请求到http://www.open-electronics.org/celltrack/cell.php?hex=0&lac=<lac>&cid=<cid>,可以获得一个html页面内容,通过正则进行解析,也可以获得经纬度信息

基站定位描述

基站定位一般应用于手机用户,手机基站定位服务又叫做移动位置服务(LBS——Location Based Service),它是通过电信移动运营商的网络(如GSM网)获取移动终端用户的位置信息(经纬度坐标),在电子地图平台的支持下,为用户提供相应服务的一种增值业务。

基站定位的大致原理为:移动电话测量不同基站的下行导频信号,得到不同基站下行导频的TOA(Time of Arrival,到达时刻)或TDOA(Time Difference of Arrival,到达时间差),根据该测量结果并结合基站的坐标,一般采用三角公式估计算法,就能够计算出移动电话的位置。其精度很大程度依赖于基站的分布及覆盖范围的大小,有时误差会超过一公里,实际的位置估计算法需要考虑多基站(3个或3个以上)定位的情况,因此算法要复杂很多。一般而言,移动台测量的基站数目越多,测量精度越高,定位性能改善越明显。

怎样才能基站定位?

基站定位一般应用在手机端,所以必须获取到基站信息才能进行基站的定位;基站信息

包含:MNC,LAC,CID (Cell) 三个参数;如果获取到以上三个参数即可以通过基站数据库,实现对应基站的位置进行定位,直接地图上显示出基站的位置;

-MCC,Mobile Country Code,移动国家代码(中国的为460);

-MNC,Mobile Network Code,移动网络号码(中国移动为00,中国联通为01);

-LAC,Location Area Code,位置区域码;

-CID,Cell Identity,基站编号,是个16位的数据(范围是0到65535)。

如何获取基站信息?

在GSM模块中,可以通过AT指令获取基站信息,以使用UBLOX的GSM模块为例,

当设备注册到移动网络时,按以下步骤即可获取对应的基站信息。

1. 获取MCC和NNC

  AT COPS=3,2 //设置MCC和NNC输出格式为数字   AT COPS=3,2   OK

  AT COPS? //获取MCC和NNC    COPS: 0,2,"46000",0   OK

  MCC:移动国家码,共3位,中国为460;

  MNC:移动网络码,共2位,移动GSM:00、02,移动TD:07,联通GSM:01,电信:03;

2. 发送AT CREG=2 //设置基站信息输出

3. 发送AT CREG? //获取基站信息

基站信息如何转换为经纬度?

根据个人理解,有如下2种方法:

1. 服务器接收到基站信息之后,在基站数据库中查找对应的经纬度。

  优点:速度快

  缺点:需要在服务器上部署基站数据,且基站数据不能及时更新

2. 通过第三方提供的SDK或API查找对应的经纬度

优点:数据比较准确,定位较为精确

缺点:接口不免费

0 人点赞