Geolocation背后的基本原理

来源:互联网 发布:苏州软件行业怎么样 编辑:程序博客网 时间:2024/04/29 07:36

LBS在移动设备和浏览器里已应用地非常广泛,基于API能很轻松地实现一些和地址位置有关的应用,但一直对这些API背后是如何获取使用者的位置信息却不得而知,今天花了时间粗浅地研究了一下:

得到位置信息主要通过两种途径:GPS和WIFI

1. GPS

GPS基本原理是测量出已知位置的卫星到用户接收机之间的距离,然后综合多颗卫星的数据就可知道接收机的具体位置。要达到这一目的,卫星的位置可以 根据星载时钟所记录的时间在卫星星历中查出。而用户到卫星的距离则通过记录卫星信号传播到用户所经历的时间,再将其乘以光速得到。可见GPS导航系统卫星 部分的作用就是不断地发射导航电文。然而,由于用户接受机使用的时钟与卫星星载时钟不可能总是同步,所以除了用户的三维坐标x、y、z外,还要引进一个 Δt即卫星与接收机之间的时间差作为未知数,然后用4个方程将这4个未知数解出来。所以如果想知道接收机所处的位置,至少要能接收到4个卫星的信号。

由上可知,GPS并不是我原先所想的,GPS设备向卫星发请求,卫星把位置返回的模式。

由GPS的原理可以得知它定位的优缺点:

  • 优点:在空旷地区比较准确,覆盖面比较广
  • 缺点:需要比较长时间定位,比较耗电池,在室内work不太好,需要GPS设备支持

2. WIFI

Google和Skyhook等一些Geolocation service provider会在全世界范围内去收集WIFI热点的位置信息,然后用户的设备只要能支持WIFI就能获取到周围WIFI热点的位置和信号强弱信息,然 后把这些信息发给Google或Skyhook,就能得到自己的位置。这其中最为关键的是WIFI热点的位置信息收集。一般有两种方式,一是 provider(如Google)自己开车到世界各地去收集,如下图所示:

城市街道:

三轮车:

室内:


另一种就是通过用户参与的方式,由用户的设备或人工录入来提供位置信息。

各浏览器就是基于WIFI来定位,但所使用的provider却是不同的:

Firefox & Grome: Google

Safari: Skyhook

由wifi定位的原理可以得知它的优缺点:

  • 优点:比较准确,适用于室内环境,相应速度快
  • 缺点:在wifi热点少的地方不适用

还有一些其他定位方式:

3. IP

IP定位原理很简单,就是通过你设备的物理地址所备案的地址信息来定位,但这种方式很难准确,特别是在基于proxy来上网的情况下,一般作为GPS和WIFI都不支持的情况下大致模糊匹配,比如各大团购网站检测用户所在城市。

4. 手机基站

和WIFI原理类似,就是把WIFI热点换成基站,实际上Apple的设备就是把WIFI和基站信息结合起来进行定位。





原创粉丝点击