知乎上有个问题问“除了 GPS 和基站定位,目前还有哪些其它传感定位技术?”,正好最近在做这方面的一些调研学习,于是把我了解到的信息整理喽一下做了回答,之后知乎上有其他网页对我的答案做了纠正与补充,这里我一并整理一下发出来备份吧
申明:以下内容感谢徐哲、滇狐、maggie、穆荣、猪头心宇在知乎上的补充。
目前常用的定位方式有:GPS定位、基站定位、wifi定位、IP定位、RFID/二维码等标签识别定位、蓝牙定位、声波定位、场景识别定位。技术上可以采取以下一种或多种混合。
关于GPS与A-GPS定位:
常见的GPS定位的原理可以简单这样理解:由24颗工作卫星组成,使得在全球任何地方、任何时间都可观测到4颗以上的卫星, 测量出已知位置的卫星到用户接收机之间的距离,然后综合多颗卫星的数据就可知道接收机的具体位置。在整个天空范围内寻找卫星是很低效的,因此通过 GPS 进行定位时,第一次启动可能需要数分钟的时间。这也是为啥我们在使用地图的时候经常会出现先出现一个大的圈,之后才会精确到某一个点的原因。不过,如果我们在进行定位之前能够事先知道我们的粗略位置,查找卫星的速度就可以大大缩短。
GPS系统使用的伪码一共有两种,分别是民用的C/A码和军用的P(Y)码。民用精度约为10米,军用精度约为1米。GPS的优点在于无辐射,但是穿透力很弱,无法穿透钢筋水泥。通常要在室外看得到天的状态下才行。信号被遮挡或者削减时,GPS定位会出现漂移,在室内或者较为封闭的空间无法使用。
正是由于GPS的这种缺点,所以经常需要辅助定位系统帮助完成定位,就是我们说的A-GPS。
例如 iPhone 就使用了 A-GPS,即基站或 WiFi AP 初步定位后,根据机器内存储的 GPS 卫星表来快速寻星,然后进行 GPS 定位。例如在民用的车载导航设备领域,目前比较成熟的是 GPS + 加速度传感器补正算法定位。在日本的车载导航市场是由 Sony 的便携式车载导航系统 Nav-U1 首先引入量产。例如在增加了三轴陀螺仪的iphone4里可以利用三轴陀螺仪来辅助完成定位,具体可以参见这篇文章的介绍,不过三轴陀螺仪定位的误差会随着时间逐渐积累。
关于基站定位(cell ID定位):
小区识别码(Cell ID)通过识别网络中哪一个小区传输用户呼叫并将该信息翻译成纬度和经度来确定用户位置。Cell ID实现定位的基本原理:即无线网络上报终端所处的小区号(根据服务的基站来估计),位置业务平台把小区号翻译成经纬度坐标。
基本定位流程:设备先从基站获得当前位置(Cell ID)。(第一次定位)—— > 设备通过网络将位置传送给agps位置服务器 —— > Agps服务器根据位置查询区域内当前可用的卫星信息,并返回设备。 —— > 设备中的GPS接收器根据可用卫星,快速查找可用的GPS卫星,并返回GPS定位信息。
关于Wifi AP定位:
设备只要侦听一下附近都有哪些热点,检测一下每个热点的信号强弱,然后把这些信息发送给网络上的服务端。服务器根据这些信息,查询每个热点在数据库里记录的坐标,然后进行运算,就能知道客户端的具体位置了。一次成功的定位需要两个先决条件:客户端能上网 ,侦听到的热点的坐标在数据库里有
PS:苹果用的WIFI定位服务http://www.skyhookwireless.com/ ;这个网站可以通过MAC地址取得位置信息http://samy.pl/mapxss/
关于FRID、二维码定位: