手机各种定位技术解析和优缺点分析

发表于:2017年5月3日

 Android,iPhone等智能手机上的定位技术是一大亮点,实用性非常高。无数基于位置的服务(Location Based Service,简称LBS)应用都建立在该技术的基础上,尤其是地图类应用。
  一说起手机定位,大家首先会想到是GPS。最近在网上搜集整理一下,发现手机定位远不止GPS这么单纯。事实上目前智能机上使用了至少3种定位技术:基于移动网络基站的低精度定位,基于美国GPS卫星信号的定位,还有就是基于WiFi资料库的定位。(还有一种叫A-GPS的方式,是复合应用了两种技术:既基于移动网的基站,也使用GPS卫星信号)
 1. 基于移动网络基站定位
  2G时代传统的手机定位技术是基于移动网络的基站。基本原理大致是这样的:手机有信号的前提下,能够测量出周围不同基站的信号强度,时间变化等参数,根据这些参数能计算出与基站的大概相对距离。由于每个基站都有准确的经纬度信息,这样就可以推算出手机的大致地理位置。但是这种定位方式精度很差,其理论最大误差为两个基站间的距离。在市区内基站密集的地方,一般误差在500米内,基本可以定位到手机所在街道或小区。到了地广人稀的郊区,只能定位到一个较大区域的程度(取决于基站的覆盖面积)。
  各大移动运营商是开放手机卡的定位信息查询的。以中国移动的GSM网的手机为例,只要SIM卡开通了gprs流量就有了定位功能,哪怕是最低端的老人儿童手机。当然被定位的手机卡号需要授权。中国移动推出的亲情定位,一般都是针对手持低端手机的老人和孩子的。另外淘宝网上出售的一些价格低廉的GPRS定位车辆防盗器,也是采用这样的方式。很多卖家故意混淆GPRS和GPS的概念,其实完全是两码事儿。带有GPS功能的防盗器精度更高,缺点是价格要贵一些,并且在室内GPS没法用,还有耗电要大很多。
  2. GPS卫星定位
  GPS定位技术就不必多说了,汽车GPS导航仪早都已普及了。只要GPS终端设备能收到4颗以上的GPS卫星发来的信号,都能计算出经纬度信息。在中国大陆多数地区都能收到7颗卫星发来的信号,定位的精度基本能达到10米左右,民用已经够用了。缺点是室内收不到卫星信号,无法定位。另外还有一个缺点就是初始化慢,主要原因是为了找到可用的卫星,需要在全频段进行搜索。每次开机都需要这个过程,特别费时费电。一般的汽车导航仪开机后都需要等几分钟才能进行定位状态,就是这个原因。
  为了克服GPS搜索卫星阶段初始化慢的缺点,A-GPS被发明出来。这种技术可以让手机在初始化阶段从移动网络中快速下载本地区可用的GPS卫星信息,避免了全频段去搜索卫星信号,从而大大提高了搜星速度。同时也减小了设备的电量消耗。但由于核心的定位技术还是GPS,所以室内无法定位这种固有缺陷还是照样存在的。参照
  3. 基于谷歌或苹果WiFi资料库的定位
  到了3G时代,特别是iPhone和Android这样的智能手机兴起以后,一种基于WiFi信息库的新的定位方式开始大行其道。这种方式的原理不难理解,但是实现得让人不可思议。而且不同于GPS这种单方向的信号接收,WiFi定位软件除了定位功能,还会将位置信息发给谷歌或者苹果的服务器。表面上看这样做的确是为了提高定位服务的质量,但是同时也带来了安全隐私风险。
  WIFI定位主要靠的是侦测附近周围所有的无线网络接入点 (WiFi Access Point) 的 MAC Address (类似 10-78-D2-93-58-C2 这样的格式),然后去比对谷歌或者苹果公司的资料库中保存的该 MAC Address 的座标信息,交叉连集出所在地。理论上周围的WiFi接入点越多,并且这些接入点都在资料库中有各自的网络MAC地址对应的地理信息,那么定位越准确。显然,这种方式的前提是手机能连上互联网,能到资料库中查询才能完成定位。
  问题是谷歌和苹果公司是如何知道这些无线接入点的MAC地址以及它们对应的经纬度信息的呢?这些数据库是如何建立和维护的呢?
  网上的有些资料说基础建设靠的是 Google 街景车。Google 街景车带有GPS设备,四处搜集所有公开的无线网路 MAC Address,与当时的经纬度一并记录并最终将这些信息导入它们的数据库。这种做法在欧美行得通,在国内应该是不行,估计政府不会答应。
  另外一种途径就是使用iPhone或者Android手机的用户,在不知不觉的帮忙收集这些信息,并且保持着谷歌和苹果的WiFi信息库的更新。数据收集的过程是当 WiFi 与手机基地台定位或 GPS 定位同时开启时,手持装置借由手机基地台定位或 GPS 定位这两种方式可以获得目前的座标,再透过 WiFi 搜寻到附近所有的 MAC Address,背后向 Google或者苹果的资料库做更新。也就是说,用户在不知不觉中,持续向国外的谷歌或者苹果发送者自己的位置信息以及周围能探测到的所有WiFi信号的MAC地址。天哪,这简直就是一个间谍软件!这种方式确实会引起不少人的反感。但是当谷歌和苹果的资料库变得比较全面以后,定位的速度和精确度都是相当不错的。
  有了这些(无线接入点的MAC地址,地理坐标)的数据库,再定位通过这些无线路由器上网的电脑也就不再是难事了。关于隐私,可以参考这位网友的博客。值得一提的是,Google其实是开放这个数据库的,开发者可以去调用Google的WiFi定位查询接口。文档
  可以推测一点,国内的行货Android手机由于都阉割掉了google 的GMS (google mobile service),所以除了无法使用Gmail,同时也就不能使用google的WiFI定位了。理论上安全性应该提高了,但是实际用起来,确实没有水货手机好用。
  总结一下主要的手机定位技术:
  定位精准性:A-GPS = GPS > WiFi定位 > 基站定位 (在某些特定情况下,WiFi定位精准度甚至超过民用级别的GPS定位)
  各种技术的特点:
  A-GPS,优点:精度与GPS相同,而且定位速度快; 缺点:需要用到移动网络,如GPRS。
  GPS,优点:精度高;缺点:初始定位慢,室内无法定位,耗电大。
  WiFi定位,优点:定位速度快,室内也一样定位;缺点:需要有WiFi信号,有安全隐私的问题。
  基站定位,优点:速度快,对手机硬件要求低;缺点:精度低,需要有移动网络