前段时间在研究解决APP定位相关问题,就附带研究了一趟手机定位相关原理。这篇文章转载自网友的文章,希望对大家有所帮助。
iOS定位方式
早期的iPhone支持的方式只有手机基站定位,后来通过软件升级引入了WIFI定位。从iPhone 3G开始,可以通过手机内建的GPS处理器,支持GPS卫星定位。iPhone4之后换用了精度更高,耗电更少,灵敏度更高的芯片,使定位更加快速与精确。
安卓手机和iPhone手机的定位方式大同小异,定位方式也是上面提到的这几种。不过由于设备及系统软件的差异,所以在定位实际使用中还是存在些微的差异性。
iphone 手机支持定位情况:
1、卫星定位
(1)GPS卫星定位:iPhone3G之后的手机
(2)GLONASS(俄罗斯卫星定位系统):iphone4G之后的手机
2、手机基站定位
同1.1GPS卫星定位。
3、WIFI定位
所有iOS装置,包括Mac电脑。可以观察到每次启动Mac,都会在系统工具栏上看到定位图标显示一段时间之后消失。
iOS各种定位方式原理
手机基站定位
每个手机基站都独有一个识别号码,iPhone可以搜集所有收到讯号的基站和它们的识别代码,通过联网传送到苹果云端服务器,再由服务器根据这些基站的位置资讯查询并计算出当前位置,然后返回给手机。因为基站讯号辐射范围打,所以误差也大,误差范围在500米-几公里之间。
特点:
定位速度快,耗电最少,误差几百上千米。
iOS 优化
无网基站定位:
传统的基站定位需要连接云端服务器,产生网络流量,iOS 4对其进行了优化,可以在无网络连接时进行定位,因为苹果已经预先将一些重要基站提前存储在iOS系统中,在无网情况下,不用上网也能通过这些本地基站资讯定位到使用者位置,不过这个误差范围在10公里到50公里。
定位的前提:手机能接收到内建在手机中的重要基站讯号,不区分运营商,只要能接收到讯号。
WIFI定位
和基站定位原理差不多,iOS装置通过无限网卡收集手机周围所有的WIFI热点,获得它们的Mac地址,然后到苹果云服务器查询这个热点是否已经登记,已登记的话位置是多少,最后通过计算得到当前位置并返回给使用者。
特点:
WIFI定位速度、耗电和精确度都介于基站和GPS之间,经度大概在几十米。
iOS优化
无网WIFI定位:
传统的WIFI定位需要网络,但是iOS对其进行了优化,可以实现无网WIFI定位。原理是iOS装置在有网络连线时,会大致定位出位置,并自动下载所在地区周围(几个街区宽度或者更多)所有的WIFI热点资讯到本地。之后,当你在周围行走并连接WIFI的时候,即使没有网络,iOS照样可以利用之前下载的WIFI热点咨询定位出位置。
这也是为什么有人号称WIFI无网可以定位的原因,但注意:无网WIFI定位的前提是在这个区域成功上过网,若是初次则仍然无法定位。
关于自动下载的热点个数和范围,这个是苹果根据当地热点的密度动态决定的,当地热点很多时(如市中心),可能只下载几条街道范围的所有热点,当地热点密度很小时,可能会下载所有的热点。
GPS定位
GPS定位属于美国军方搞得,军民两用,但仍然完全受军方控制。其原理就是利用天上的卫星,不断广播信号,地面的GPS接收装置收到讯号后,通过分析多个微信讯号接可以计算出地球坐标。GPS保证全球任何一个地方都可以同时收到4个卫星的讯号,从而可以保证定位准确性。我国自行研制的北斗导航系统目前服务范围已扩展至全球,当然苹果手机目前使用的还是美国军方的GPS。
特点
GPS耗电最大,速度最慢,但是精度最高。iPhone的GPS与纯粹的GPS定位不同称为A-GPS(辅助GPS)。其原理是利用网络,先将基站定位或者WIFI定位获得的位置发到远端服务器,由服务器进行查询计算,得出这个位置下当前卫星资讯并反馈给iOS装置,iOS就恶意直接用这些咨询来接受卫星讯号。
综述
iOS会综合利用上述定位方式来实现快速精准定位。一般是先按照最快的无网基站定位返回一个位置,当有网络连接时,再用有网基站定位更新位置,然后利用AGPS上网查询卫星星图,最后在能收到GPS信号的情况下,转为使用GPS定位。