如何实现定位

By Gavin     @2019-12-08     1325 views

定位的方式有哪些呢?常见的定位方式有IP定位、GPS定位、基站定位、Wi-Fi定位、蓝牙定位(Beacon)和惯导定位(位置推算)等等,还有一些不是很常用或者不是很通用的定位方式,需要特定的设备,这里就管不了了

那么问题来了,我们日常使用的手机等设备都是怎么定位的呢?而这些数据又是从哪里来的呢?

IP定位

一般来说,我们打开的网页中如果有本地的天气信息,那么一般都是来自于IP定位。IP定位精度非常低,一般可以精确到城市或者区县,但是如果有些服务提供商收集过高精度的IP位置信息,那么可能会有精度更高的位置结果。但是整体来说,基于IP的定位是不准确并且不可靠的,一般用在无法获取其他定位信息或者精度要求低时才会使用。如果有VPN的话,尝试连接一下其他地方的VPN,再打开网页你就发现天气已经是别的地方的了😂

那么问题来了,看下面的两张图,正常情况下天气显示在北京,当连接上香港的VPN的时候,刷新页面,就是香港的天气了(别问我为什么VPN是香港的,因为离大陆近,网速快)

IP定位-北京天气 IP定位-北京天气

GPS定位

说起GPS定位,与其类似的还有格洛纳斯、伽利略和北斗定位系统,都可以实现高精度的区域或者全球的定位。当然最牛X的还是GPS了。就拿GPS来举个栗子吧。GPS定位系统在太空中有24颗卫星(当然还有一些备用和冗余的),能够覆盖全球98%的区域,咱们普通使用的精度一般可以达到10米(军用的精度炒鸡高,加上地面的辅助设备可以达厘米级甚至更高😱)

使用GPS定位时,接收机接受来自卫星的信号,计算自己到已知卫星的距离,结合多个卫星的数据就可以计算自己的具体位置。由于接收机的时间不一定是同步的,所以需要计算经度、维度、高度和时间这四个变量,那么接收到4个卫星的信号就可以定位喽,so easy妈妈再也不用担心我找不到家了。如果能够接收到更多卫星的信号位置会计算的更准确,如果有AGPS信息,精度可以更高并且首次定位更快(GPS冷启动首次定位会让你等哭的😭)

GPS

但是问题来了虽然GPS定位精度高,全球覆盖范围广,但是一般局限于室外,有建筑物等遮挡会影响定位效果

基站定位

那么问题来了,有木有一个在室内也可以定位的方法呢?那么基站定位就来了,基站就是咱们日常生活中手机打电话上网用的的通信基站。这些基站的位置相对较为固定,可以用作定位使用

我们手机一般可以搜到一个或者多个基站,连接上其中一个可以用于通信。一般偏远地区基站覆盖范围较大,可能搜不到基站(没信号😢)或者只能搜到一个基站,定位精度可达几百米甚至几千米。人口密度大的城镇地区基站覆盖范围相对较小,基站密集,定位精度可以达到几百甚至几十米

能搜索到一个基站则可以认为在这个基站附近一定范围内,搜索到的基站越多,那么定位结果的可信度和准确度就越高。如果能结合用户的历史数据的话,还可以进一步提升基站定位的精度

但是问题来了,虽然基站定位可以在室内定位,能够覆盖大部分区域(有人烟的区域),但是定位精度低,精度几百米甚至几千米

Wi-Fi定位

那么问题又来了,有木有室内定位更准一点的方法呢?那么Wi-Fi定位就不得不说了,现在没了Wi-Fi好像丢了魂一样😂,一般咱们在室内手机定位如果精度比较高,那么非常有可能来自Wi-Fi定位

Wi-Fi定位为啥比基站定位精度高呢?当然是因为Wi-Fi覆盖范围小了,只要知道了Wi-Fi的位置,能扫描到这个Wi-Fi就说明在附近了。但是Wi-Fi与基站不同,Wi-Fi移动性比较强,比如说咱们手机分享的热点,搬个家家里的Wi-Fi也就跟着跑了之类的,甚至行车记录仪还带着Wi-Fi满地图跑😂,这些都会导致Wi-Fi定位结果不准确。所以我们需要更多的Wi-Fi或者结合基站定位结果来确定一个置信度更高的位置

Wi-Fi定位精度比较高,可以达到几十米甚至十米,但受移动Wi-Fi影响较大

蓝牙定位(Beacon)

那么又有人问了,现在商场太TM大了,我想在室内能够知道在哪层还能导航,这时候咋办嘞?那么蓝牙定位就来了。现在的蓝牙4.x在低功耗模式下功耗非常低,并且可以用作定位,精度可以达到5米甚至更高

但是想要使用蓝牙定位,需要预先布置Beacon节点,并且入库,才能够在定位系统中使用蓝牙定位。相对来说耗费较大,但是结果非常精确

惯导定位(位置推算)

我们日常使用导航时发现位置移动非常平滑(即使有时候看着特别假),这是大都由于有滤波算法(比如卡尔曼滤波)在其中。并且使用到了咱们手机中的地磁、加速度计和陀螺仪等传感器(俗称9轴,因为每个传感器信息都有3轴),可以在没有GPS信号或者信号弱的时候用于推算用户轨迹,以达到轨迹连续、定位准确的目的

数据收集

这时候又有人问了,蓝牙的Beacon是我们自己部署的,我们知道Beacon位置在哪可以理解,但是基站定位和Wi-Fi定位中的的基站、Wi-Fi位置是从哪里来的呢?这要归功于咱们的手机和互联网厂商,比如说Google的Android就会匿名收集基站、Wi-Fi对应的GPS位置信息,咱们使用高德地图、百度地图的时候也会匿名收集同样的信息,也算是取之于民用之于民了

小结

至此,仿佛知道了日常生活中使用的定位是怎么搞的了,其实还有一些特定设备或者场景下的定位方法没有讨论,有兴趣的话可以自己Google一下

上述单种定位方式往往不能得到满意的定位结果,并且都会有一定的局限性,结合多种定位方式,优缺点互补,以达到最优的定位结果

Gavin's Daily

© 2019-2020 Gavin's GoBlog