WIFI定位原理分析

地图SDK/定位SDK的定位策略:
WIFI + 基站 +GPS 三者混合的定位策略
定位精度:
基站精度,平均100~300米,视运营商基站覆盖范围而定。
WIFI精度,30~200米。
GPS精度,为30米左右。
在户外,先开启GPS再进行定位,结果较准。但GPS比较费电,且在室内不可用。
tips:
1) wifi定位只需 设备能够扫到wifi,但不需要连接wifi
2) 默认首先使用GPS定位,然后是WIFI定位,最后基站定位。并且,百度地图定位SDK会根据环境自动调整定位策略
3) 百度定位SDK可以返回三种坐标系,分别是bd09, bd09ll和gcj02,其中bd-09能无偏差地显示在百度地图上。
tttips:
IOS 定位,为苹果系统定位。不支持第三方定位。
百度地图IOS SDK的接口取苹果定位信息进行坐标转换,以及后续的地图实现。

以上,所有情况,均需网络畅通! 定位SDK的调用必须在主线程中。更多了解移步官网

参考:http://tieba.baidu.com/p/1996491045

AP为Access Point简称,一般翻译为“无线访问节点”

著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
作者:小韩韩
链接:http://www.zhihu.com/question/20593603/answer/16523229
来源:知乎

1.每一个无线AP都有一个全球唯一的MAC地址,并且一般来说无线AP在一段时间内是不会移动的
2.设备在开启Wi-Fi的情况下,即可扫描并收集周围的AP信号,无论是否加密,是否已连接,甚至信号强度不足以显示在无线信号列表中,都可以获取到AP广播出来的MAC地址

3.设备将这些能够标示AP的数据发送到位置服务器,服务器检索出每一个AP的地理位置,并结合每个信号的强弱程度,计算出设备的地理位置并返回到用户设备
4.位置服务商要不断更新、补充自己的数据库,以保证数据的准确性,毕竟无线AP不像基站塔那样基本100%不会移动

这样的位置服务商现在来说只有Skyhook和Google两家.他们收集位置数据的方式也是相似的
1.主动采集
Google的街景拍摄车还有一个重要的功能就是采集沿途的无线信号,并打上通过GPS定位出的坐标回传至服务器
2.用户提交
Android手机用户在开启“使用无线网络定位”时会提示是否允许Google的定位服务手机匿名地点数据

答案主要来自此链接
浅析无线定位技术
Shi Songhua ,游戏生产加工
袁野Jason Chen知乎用户 等人赞同
因为奇怪没有联网的iPod Touch也能很精确的定位,搜过这个最早做Wi-Fi定位的是Skyhook skyhookwireless.com/iPhone/iOS开始也用Skyhook,但从4.0开始,苹果开始用自己的数据库,Skyhook被无情的抛弃。Apple自己的定位数据库建立很顺理成章:Skyhook收集数据… 显示全部
因为奇怪没有联网的iPod Touch也能很精确的定位,搜过这个

最早做Wi-Fi定位的是Skyhook skyhookwireless.com/
iPhone/iOS开始也用Skyhook,但从4.0开始,苹果开始用自己的数据库,Skyhook被无情的抛弃。
Apple自己的定位数据库建立很顺理成章:Skyhook收集数据还要派车走街串巷,但Apple有众多的iPhone用户帮忙crowd-sourcing,所有iOS用户都可以为苹果贡献匿名的定位数据:一个坐标及其周边的所有Wi-Fi AP和基站的信息。

主要看的两篇文章:
How the iPhone knows where you are
macworld.com/article/11
这篇文章把iPhone定位的原理说的很清楚。
最早的纯GPS定位最慢要12.5分钟,现在定位神速的多是依靠Wi-Fi或基站辅助的AGPS

Apple Q&A on Location Data
apple.com/pr/library/20
上面一文里有提到的苹果官方的说明。因为11年有人发现iPhone里竟然保存了用户一年多的定位记录,还同步到iTunes备份,严重危害用户隐私。导致苹果发此文澄清。

总之Apple会依靠用户上传的Wi-Fi以及基站数据建立一个大的数据库,用户都在默默奉献... (Google也是这么干的,不过也派车队,Google车比较多)
用户的设备上会保存用户自己最近7天的Wi-Fi AP/基站数据,以及从Apple下载的大数据库的一小部分数据,覆盖用户的周边地区。
这些数据都有助于GPS快速定位,甚至在到了5代依旧令人发指的不装GPS芯片的iPod Touch上面靠Wi-Fi独立定位。
大伟知乎用户、知乎用户 等人赞同
wifi定位方法基本上可以分为两大类: 1.不基于RSSITOA(time ofarrival)TDOA(time difference of arrival)AOA(angle of arrival)但是这些值的获取需要特殊的wifi模块,在智能机上无法获取,因此这类方法无法使用。 2.基于RSSI在智能手机上,可以通过系统… 显示全部

wifi定位方法基本上可以分为两大类:


1.不基于RSSI

  • TOA(time ofarrival)
  • TDOA(time difference of arrival)
  • AOA(angle of arrival)

但是这些值的获取需要特殊的wifi模块,在智能机上无法获取,因此这类方法无法使用。


2.基于RSSI


在智能手机上,可以通过系统SDK获取到周围各个AP(Access Point)发送的信号强度RSSI及AP地址,利用RSSI来定位目前看来是最可行的方法,因此下面着重介绍,基于RSSI定位主要有两个算法:三角定位算法,指纹算法。

  1. 三角定位:

    如果我们已经知道了这些AP的位置,我们可以利用信号衰减模型估算出移动设备距离各个AP的距离,然后根据智能机到周围AP距离画圆,其交点就是该设备的位置。很容易发现,三角定位算法需要我们提前知道AP的位置,因此对于环境变化较快的场合不适合使用。

  2. 指纹算法

    指纹算法类似于机器学习算法,分为两个阶段:

    1. 离线训练阶段
      将需要室内定位区域划分网格,建立采样点(间距1~2m)
      使用wifi接受设备逐个采样点采样,记录该点位置、所获取的RSSI及AP地址。
      对采样数据进行处理(滤波、均值等)
    2. 在线定位阶段
      用户持移动设备在定位区域移动,实时获取当前RSSI及AP地址,将该信息上传到服务器进行匹配(匹配算法有NN、KNN、神经网络等) 得到估算位置。
      匹配算法有NN、KNN、神经网络等。

比较:

  • 指纹算法相比较三角定位算法精度更高。
  • 三角定位算法需要提前知道所有AP的位置
  • 指纹算法需要提前绘制一幅信号Map。

总结:
智能手机基于WIFI的室内定位应用,更适合使用基于RSSI信号的指纹算法,原因在于我们不需要提前知道所有AP的位置,而且指纹算法可以应对AP位置或状态的改变。可以提前将测绘指纹数据库储存到服务器上,移动设备在定位区域将自己得到的周围AP信息实时发送给服务器,由服务器进行匹配并返回坐标位置给客户端。一旦AP状态或位置变化,只需要更新定位区域数据库而并不需要在客户端作出改变。

知乎用户 ,没有知识、没有经验,只好分享见解。
郭乐乐可可 赞同
在Google map mobile帮助页面找到这些信息:Data sourcesThe following location data sources may be used to derive location: GPS: GPS accuracy can be up to several meters depending on your GPS signal and connection. Your phone must support GPS… 显示全部
在Google map mobile帮助页面找到这些信息:
Data sources
The following location data sources may be used to derive location:
  • GPS: GPS accuracy can be up to several meters depending on your GPS signal and connection. Your phone must support GPS, have it enabled, and allow Google Maps access to it.
  • WiFi: WiFi (wireless network) accuracy should be similar to the access range of a typical WiFi router, or about 200m or better. Your phone must support WiFi and have it enabled.
  • Cell ID: Cell ID (cell tower) accuracy depends on cell tower density and available data in Google's cell ID (cell tower) location database. Accuracy may be approximated at distances up to several thousand meters. Note: Some devices do not support cell ID location.
support.google.com/gmm/
知乎用户 ,股票跌了没?
非专业,从业余的角度来讲一下:当一台设备打开Wi-Fi功能时,可以找到很多Wi-Fi热点,可以测出每个热点的信号强度,还能知道每个热点的SSID和MAC地址。那么,如果可以在每个地方记录下周围有那些Wi-Fi热点,就可以得到一个很大的数据表,然后当你的设备打开… 显示全部
非专业,从业余的角度来讲一下:

当一台设备打开Wi-Fi功能时,可以找到很多Wi-Fi热点,可以测出每个热点的信号强度,还能知道每个热点的SSID和MAC地址。那么,如果可以在每个地方记录下周围有那些Wi-Fi热点,就可以得到一个很大的数据表,然后当你的设备打开Wi-Fi,根据周围搜索到的Wi-Fi的MAC地址和信号强度,就可以反查出你在哪个位置。

有两种方式获得这张数据表,一是Google的街景车,到处开一下,每时每刻都在搜索周围的Wi-Fi信号,并和车载GPS得到的地理位置信息一起记录起来。二是每台Android设备,当你同时打开Wi-Fi和GPS的时候,设备也会将搜索到的数据上传的Google服务器。

至于具体是怎么反查的,还需要算法达人帮忙解答一下~
刘波 ,返璞归真,追求自然
任文龙 赞同
asbkd ,Be a man
基于wifi指纹库的算法是目前应用最广泛的算法,就是wifi RSSI指纹库什么的,精度不算太高,但综合成本,设备,便携性等诸多方面,wifi定位应该是最靠谱的过去用wifi定位,就是分为两个阶段,一是需要离线采集数据建库(就像上面有的说的google用的街景车)… 显示全部
基于wifi指纹库的算法是目前应用最广泛的算法,就是wifi RSSI指纹库什么的,精度不算太高,但综合成本,设备,便携性等诸多方面,wifi定位应该是最靠谱的

过去用wifi定位,就是分为两个阶段,一是需要离线采集数据建库(就像上面有的说的google用的街景车),二是在线定位,即拿用户搜集到的wifi强度去跟指纹库中的众多数据进行匹配,以此实现定位,但这样太麻烦,ap一点微小的位置改变,或是天气,或是海拔,或是人群走动神马各种因素都可能需要数据采集者重新再来一遍,之前的数据算是差不多白费了。。。。

现在不少人在做基于众包模式的wifi定位,就是依靠用户自己去上传数据,这样就把之前的两个阶段融合起来啦,显而易见,省了很多力气,但是目前感觉还缺少一个友好的交互界面和用户上传的奖励机制,仅仅停留在试验阶段而已,根本没法商业化。。。

其实这里面最难的还是匹配算法,原理什么的都简单,算法才是真正的应该思考的,如何筛选错误数据,如何精确的匹配,如何适应各种环境的改变。。。等等
zen ,通信工程小硕/室内定位研究者
vin cent清然陈光 赞同
蟹妖传统的WiFi定位方法与 @雁渡所述的基本一致,但是室内环境变化比较大,无线传播的经验公式肯定误差非常大,现在的研究基本集中在用机器学习(支持向量机等)算法在室内定位中的应用,精度也比较高。实际上这是将室内定位算法转换成一个分类问题首先是第… 显示全部
蟹妖
传统的WiFi定位方法与 @雁渡所述的基本一致,但是室内环境变化比较大,无线传播的经验公式肯定误差非常大,现在的研究基本集中在用机器学习(支持向量机等)算法在室内定位中的应用,精度也比较高。

实际上这是将室内定位算法转换成一个分类问题
首先是第一步,有人先去室内的场景将楼道,办公室等空间划分为一个个大小相同的网格,每个网格对应着一个位置标号ID,在每个网格都采集Wifi信号强度,例如收到哪些无线接入点AP的信号,信号强度RSS是多少,这样就构成一组代表这个网格位置的特征参数。

然后第二步是训练采集到的数据生成分类器,训练的方法有很多,有支持向量机,人工神经网络什么的,具体细节就不赘述了,目标就是任意输入一组Wifi信号强度数据,就应该能获得这组数据所对应的类别,这里的类别就是位置ID

得到训练好的分类器,就可以定位了,具体就是手机搜索到一组wifi数据,将这组数据送到定位服务器中,定位服务器就将数据送到分类器中,分类器返回位置ID,再反查该ID对应的坐标就可以得到位置坐标了。

目前商用化比较少,主要是采集数据比较困难,不过google已经提出IPS室内定位系统的计划,小的商业应用主要集中在国外的医院或者养老院这些有需求的特定场所。
Alps ,计算机研究生/室内定位/实习生
知乎用户、知乎用户、清然 赞同
作为研究这方面的苦逼人员。。正常来说这方面算法太多了,各种各样的,然后比较简单的原理有:1、三角定位。。(简单的很) 2、fingerrpint 也不难。 3、Time-of-arrival 这个原理不难,但是实现需要很多细节,这个实现好了精度很高。。还有各种其他例如超… 显示全部
作为研究这方面的苦逼人员。。正常来说这方面算法太多了,各种各样的,然后比较简单的原理有:1、三角定位。。(简单的很) 2、fingerrpint 也不难。 3、Time-of-arrival 这个原理不难,但是实现需要很多细节,这个实现好了精度很高。。还有各种其他例如超声波反馈建模(我看过一个论文,写这个太深奥了。。) 或者现在有个很多的:zigbee节点定位,原理太多。。。
Leo Harling ,发现生活,传递心声音
知乎用户 赞同
1、AP的信号中包含全球唯一的MAC地址。2、只要能够搜索到wifi信号,就能得知AP的MAC地址,并不需要连接到wifi。3、每一个AP在地理坐标上作为一个锚点,并且用MAC地址来唯一标识它。4、wifi定位是通过参照一个或多个AP的坐标计算得出来的。5、在服务器端维护… 显示全部
1、AP的信号中包含全球唯一的MAC地址。
2、只要能够搜索到wifi信号,就能得知AP的MAC地址,并不需要连接到wifi。
3、每一个AP在地理坐标上作为一个锚点,并且用MAC地址来唯一标识它。
4、wifi定位是通过参照一个或多个AP的坐标计算得出来的。
5、在服务器端维护了一个AP的坐标数据库。
6、AP的位置(坐标)是通过参照连网的GPS设备得到,GPS设备定位成功后GPS应用自动将其周边的AP信息反馈给服务器,自动维护AP坐标数据库。
7、通过wifi定位时,GPS应用通过周边AP信号的MAC地址去查询每个AP的坐标,并根据信号的强度计算出所在的位置。
看了其他回答,我放心大胆的回答了:通过AP因为我们公司做非精准定位也是这么干的。记录每一个AP铺设的地理位子,然后通过收集是哪个AP接入的得出。速度超快啊。。。。
看了其他回答,我放心大胆的回答了:通过AP
因为我们公司做非精准定位也是这么干的。记录每一个AP铺设的地理位子,然后通过收集是哪个AP接入的得出。速度超快啊。。。。
周腾 ,一入微博深似海,从此清纯是路人
所以说现在提个奇葩的问题,我现在在拉一根几百公里的光纤,将互联网传输到一个没有人烟的地方,然后接上AP设备,这时我拿着没有GPS功能的终端设备比如平板或者ipod touch通过WIFI来定位,这肯定定位不到是吧。
所以说现在提个奇葩的问题,我现在在拉一根几百公里的光纤,将互联网传输到一个没有人烟的地方,然后接上AP设备,这时我拿着没有GPS功能的终端设备比如平板或者ipod touch通过WIFI来定位,这肯定定位不到是吧。
  • 4
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: Android Wi-Fi室内定位是一种利用Wi-Fi信号进行室内定位的技术。它比传统的GPS室外定位更为准确,因为室内信号相对复杂,而Wi-Fi信号采用的是定位较为准确的无线电技术。 AndroidWi-Fi室内定位可以通过手机或其他Wi-Fi设备来实现。当设备连接Wi-Fi网络时,会自动获取Wi-Fi信号并且将其传回服务器进行分析。利用这些数据,服务器可以轻松地确定设备的位置。 实现室内定位需要部署Wi-Fi设备以便能够覆盖整个区域,并且需要制作可行的地图以用于定位。在这个过程中,需要在特定位置上放置信号源,以便可以准确地定位设备。这个过程和GPS定位原理类似,只是换成了Wi-Fi信号。 AndroidWi-Fi室内定位技术的主要应用包括办公室、购物中心和酒店等室内场所。它可以帮助人们快速找到需要的地点,提升用户的使用体验。同时,它也可以为商家提供更精准的客户定位,以便进行更有针对性的服务和营销。 ### 回答2: androidwifi室内定位是一种利用WiFi信号强度及其分布规律实现的室内定位技术。WiFi定位通过手机内置WiFi芯片扫描周围可用WiFi热点的信号强度,将WiFi信号强度与预先录入的室内WiFi信号地图对比,从而确定用户所在的位置。由于WiFi信号强度随着与手机的距离逐渐减弱,所以定位结果可能存在误差。 实现室内WiFi定位需要准确建立室内WiFi信号地图,并通过这张地图进行定位。室内WiFi信号地图的建立需要采集WiFi信号强度数据,并进行分析优化。WiFi定位技术不需要依赖GPS,可以在室内、地下和远离城市建筑群等位置进行定位,具有较好的定位准确度。此外,WiFi定位技术易于扩展,并能够与其他传感器技术结合使用。由于其无需安装设备等特点,已经广泛应用于各种场景,例如商场、机场、医院等地的室内导航、位置服务和安防监控等领域。 ### 回答3: Android的Wi-Fi室内定位是一种利用Wi-Fi信号识别手机位置的方法。通过检测周围的Wi-Fi信号强度和设备的接收器来定位设备的位置。 在使用该技术时,Wi-Fi信号的强度对计算位置非常重要。通常,手机会在登录过的Wi-Fi设备中寻找信号,并读取周围所有可用的Wi-Fi信号的信息,包括信号强度、频率和噪声等信息,并将其发送给室内定位系统。定位系统会对这些数据进行分析,然后将其与已知的Wi-Fi信号数据库进行匹配,从而识别出设备的位置。 室内定位技术有许多应用场景,比如在商场中为用户提供导航、在医院中跟踪病人行踪等等。但是,这种技术也存在一些问题,比如对Wi-Fi信号的依赖性和精度的限制。 虽然室内定位技术还面临一些挑战,但随着技术的不断发展,这种技术的应用将会越来越广泛。同时,我们需要更好地保护用户的隐私,确保这种技术的安全性和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值