前言:
目前兄弟们对“networklocation”大约比较珍视,同学们都需要分析一些“networklocation”的相关资讯。那么小编在网摘上网罗了一些有关“networklocation””的相关知识,希望我们能喜欢,大家一起来了解一下吧!前面文章介绍了一些GPS定位概念
GPS定位知识介绍
GPS启动方式、定位速度、定位精度介绍
GPS定位场景介绍
本文再对定位系统、分类和数据进行介绍
定位分类
GNSS(Global Navigation Satellite System)全球定位系统,这是一个统称,包含以下定位系统。
全球定位系统中国北斗卫星导航系统(BeiDou navigation satellite system, BDS)美国GPS(Global Positioning System)俄罗斯格洛纳斯卫星导航系统(global navigationsatellite system, GLONASS)欧洲伽利略卫星导航系统(Galileo navigationsatellite system, Galileo)
区域定位系统日本准天顶卫星系统(quasi-zenith satellite system,QZSS)印度区域卫星导航系统(Indian regionalnavigational satellite system, IRNSS),IRNSS 也称为印度星座导航(navigationwith Indian constellation, NavIC)
星基增强系统
除中国BDS之外的 5 个国家作为 GNSS 服务提供商均持有相应的星基增强系统,它们分别是
美国广域增强系统(wide area augmentation system, WAAS)俄罗斯差分改正监测系统(differential correctionsand monitoring, SDCM)欧洲地球静止导航重叠服务(European geostationary navigation overlayservice, EGNOS)印度GPS 辅助型静地轨道增强导航系统(GPS aided geo augmented navigation,GAGAN )日本多功能卫星星基增强系统( multi-functional satellite augmentation system,MSAS)
网络定位NLP(Network Location Provider)
主要分为Wi-Fi 定位、基站定位,IP定位等
Wi-Fi 定位主要就是固定的AP mac基站定位主要获取以下信息移动国家代码MCC(Mobile Country Code),中国为460移动网络号码MNC(Mobile Network Code),中国移动为00,中国联通为01;位置区域码LAC(Location Area Code)基站编号CID(Cell Identity),是个16位的数据(范围是0到65535)
五类 provider
Gps providerNetwork providerFused providerPassive providerMock provider
其中 Gps位置提供者和Network位置提供者比较常用。
GPS provider 特性
耗电高,会让GPS芯片开始工作,除了系统耗电外,会增加额外的耗电。当GPS设置为1秒的上报频率,那系统将基本处于非睡眠状态。Android 对GPS调用有一些策略,譬如会对后台的GPS调用直接将上报频率修改为30分钟每次(地图类app除外)。GPS位置精度除与软件算法相关外,受信号强度特别是多径信号影响严重,在不同的场景下,位置的精度将不会相同,空旷场景下,精度可达到1~2M,而非空旷场景,精度与实际的位置将会差异达到10M甚至100M以上。GPS位置最快上报频率为1HZ ( HZ意思就是一秒钟电流往返的次数 )GPS位置可以与sensor数据等进行整合,QCOM/MTK平台有惯性导航 对位置跳点及多径影响 有一定的改善作用。GPS首个位置时间的长短与辅助数据有关系,辅助数据越全,则耗时越短。
Network provider特性
低耗电,基本上就是Wi-Fi扫描的耗电网络位置调用一般极少有需要持续请求的应用,一般只用于一个位置请求服务于国内几大地图厂商(百度、高德、腾讯)以及海外Google GMS服务和Skyhook等三方提供商。网络位置的精度与周围Wi-Fi AP的数量以及服务端大数据收集完善有关系,精度最高可以达到M级别网络位置上报的最快频率为0.1HZ,因为网络位置的来源是通过搜集周围的wifi /cell反查,在网络畅通的情况下,位置很快返回Google目前对网络位置采取开放策略,第三方APP可以集成定位SDK,可以自己有独立的网络定位方式,而不从系统拿网络位置。
Fused provider特性
Fused provider 就是混合provider,这是模仿iphone位置设计的一个接口,调用者只需要传入想要位置精度信息再进行位置的获取。
目前官方资料介绍很少,可能因为其文档介绍和使用太过于晦涩,目前这个Fused provider被使用的比较少。
最大的优势有两个
速度方面,有些应用可能只需要获取一个非常粗的位置,希望位置可以秒定(这里的位置可能是上一次的最新位置)。
使用方面,开发者不需要区别 Gps Network Passive 等,直接一个参数就拿到一个位置。
Passive provider特性
用来被动监听,当系统有位置上报时,就会回调给相应注册Passive provider的应用,这种最大的优点就是不主动请求位置,这样应用就不需要主动唤醒系统获取位置。
Mock provider特性
表示地址伪造,自己可以去注册Mock provider来屏蔽掉系统的provider,需要打开开发者选项里面 “选择模拟位置信息应用” 按钮,选中我们自己写的app。这时候系统就会获取自己设置的Mock provider位置,因为此时系统的位置是用户自己设定的,就可能导致终端上某些获取位置的应用报错。