@余虹建 的答案有点问题。
通过ISP分配给你的ip大致猜出你的粗略物理方位
这句话不对。wifi定位的原理不是这样的。
看看窗外,外面街上跑的很多出租车,快递车辆等,都和地理数据公司合作,安装了数据采集装置。甚至是智能手机的持有者,在某些情况下也参与了这项计划(当然他们自己未必知道,这也广泛引起了关于隐私的焦虑和争议)。他们在从事自身业务的同时,顺便也记录了四周每一个wifi信号(注意,这一过程只是扫描信号,并不需要真的连接上去。事实上,很多wifi是加密的,他们就算想连也连不了)与GPS信息的对应关系。通过这种类似众包的办法,地理数据公司可以构建起一个比较完整的庞大数据库。
当你的移动设备需要使用wifi定位的时候,它会搜索周围的wifi信号,同时在数据库中搜索,得到地理位置的数据,这就是wifi定位的方式。
进一步的说明:
- 和许多人以为的不一样,wifi定位并不需要连接到某个wifi网络。事实上,就像我在原理部分描述的,倘若你开启了蜂窝网络数据连接,只要简单地打开wifi开关,使得设备可以搜索周围的wifi信号就行了。这种情况下,你根本没有和wifi信号的ISP发生任何的关系,没有从他那里得到任何的IP地址分配,怎么可能是通过IP获得粗略方位的呢?当然,你如果连接上某个可以方位互联网的wifi网络,也是可以定位的。
- 一个完全没有联网的wifi设备,比如把无线路由的网线拔掉,也是可以帮助移动设备定位的。
- 就算你使用了代理,VPN,SSH tunnel等各种fancy的技术,ip地址被修改得面目全非,也是可以定位的。
通过我在原理部分的描述,很容易猜到,wifi定位的精度在很多情况下是高于3g信号的。因为wifi信号的覆盖面积相对比较小,一般也就几十米。如果能搜索到某个wifi信号,并且从数据库中得到相关的记录,这时候的定位精度一般可以到几十米。反观3g信号定位,这个方法主要是靠基站的三角定位,误差从几十米到上千米不等。
wifi定位的缺点也比较明显。
- 你的这个wifi信号,如果在数据库中没有被记录在案,那就没法定位了。比如,如果你买了个新的无线路由器,靠它肯定是没法帮助你的移动设备定位的。
- 数据更新有延迟。因为wifi信号的数据经常变动,而又只能依靠众包的方法来获取,这中间会有一定的延迟。还是举上边那个例子。假设你买了新的路由器,一开始它肯定不能定位你的手机。开着它经过一段时间以后(时长未知),可能这个信号被数据库收录了,从那以后,你才能用这个wifi信号定位。
最后,以Google为例,我们来看看他对于Wifi地理数据搜集和提交的说明。全文详见:
http://static.googleusercontent.com/external_content/untrusted_dlcp/www.google.com/en//googleblogs/pdfs/google_submission_dpas_wifi_collection.pdf 里面明确说明了,Google会通过多种方式搜集地理数据,比如智能手机的持有人,专门的RF接受设备,街景车等等。这些信息都是被动获取的,并且只有公开广播的wifi信号才会被记录——任何持有相关的无线信号接收设备的人都能获取这些信息。并且,这些信息仅仅用来实现定位的功能。
来源:知乎 www.zhihu.com
作者:
郑海子
【知乎日报】千万用户的选择,做朋友圈里的新鲜事分享大牛。
点击下载
此问题还有
15 个回答,查看全部。
延伸阅读:
为什么 Wi-Fi 版的 iPad 能精确定位?
Wi-Fi 定位的原理是什么?