卫星定位系统 - GPS/GLONASS/北斗:
关于GPS、GLONASS、北斗、伽利略系统的科普请自行谷歌。
GPS是使用最广泛的全球定位网络,几乎是所有智能手机的标配。进几年,俄罗斯的GLONASS定位功能也逐步加入智能手机芯片,与GPS组成双定位系统,定位速度大幅提升。中国自主研发的北斗导航系统,也开始出现在部分高端机型。至于欧洲的伽利略系统,目前还没有见到有哪部手机支持。
卫星定位系统的优点在于精度高,误差一般在15米以内。GPS芯片会接收天空中多颗卫星的同步信号,然后根据信号的相位差,计算出具体的经纬度。保持多颗卫星信号同步,将误差控制在纳秒级以下,是GPS核心技术之一。
下图是Android平台的著名GPS应用GPSTestPlus截图,可以看到本机支持GPS和GLONASS双定位系统(圆点为GPS卫星,三角形为GLONASS卫星),以及定位卫星在天球上的投影。
WIFI定位:
路由器默认都会进行SSID广播(除非用户手动配置关闭该功能),在广播帧包含了该路由器的MAC地址。此时需要采集装置进行MAC信息采集和信号强度信息采集,并上传到服务器,经过服务器的计算,保存为“MAC-经纬度”的映射。例如谷歌的街景采集车,曾经因隐私问题在德国被定性为非法。在国内,通过用户智能手机应用的后门功能采集,则是数据公司获取“MAC-经纬度”映射信息的主要途径。一般情况下,用户周边会有多个WIFI信号源,此时手机会默默地解析出所有WIFI的MAC地址,如果某些WIFI的信息在数据库中已经存在,则可以根据信号强度,推导出未知WIFI的经纬度。如果没有已知WIFI,而手机碰巧开着GPS,则也能完成数据采集。用户在不知情的情况下为地图公司搜集了所有的数据。可以想象,这样的数据量是非常庞大的。
基站定位:
基站数量远少于WIFI,且基站都有公开的位置数据,因此采集工作相对简单。
多种定位途径的精确度:
卫星定位系统 > WIFI > 基站(蜂窝网络)。因此优先级也是卫星定位系统最高。
以Android设备为例,如果用户未关闭GPS功能,则优先使用GPS,从GPS模块读取时钟校准、经纬度等数据。如果同时还开着WIFI和基站,则会同时采用WIFI和基站辅助定位,减少GPS芯片的计算步骤,提高定位速度,这就是A-GPS。
如果关闭GPS,而WIFI模块保持开启,手机会读取周边所有WIFI信号的MAC地址和信号强度,并上传至某公司(通常是地图供应商)的服务器,服务器查询并计算后会返回经纬度。WIFI的覆盖范围一般只在50米内,因此定位精度非常接近卫星定位系统。
如果WIFI模块也关闭了,那么只有通过基站(蜂窝网络)了。此时手机会接收到基站的小区ID,上传至服务器查询,服务器同样返回经纬度。但此时精度较差,误差一般在100以上,毕竟基站的覆盖范围也是很大的,仅凭信号强度是难以计算出精确位置的。
需要注意的是,WIFI方式和基站方式,都需要联网,要不你怎么和服务器联系?但是WIFI模块打开后,即可进行WIFI扫描和信息采集,不必连接到某一AP上,基站也是一样,不必打开蜂窝网络。因为向服务器发起查询请求,既可走蜂窝数据流量,也可走WIFI流量。
苹果系统中,用户无法控制GPS模块的开启和关闭,因此定位途径会根据状况自行决定。室内会自动使用WIFI或者基站。
http://www.cnblogs.com/radiolover/p/4307453.html