`
hongtoushizi
  • 浏览: 378935 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

Geolocation背后的基本原理

阅读更多

转载: http://blog.csdn.net/cutesource/article/details/7299372

 

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和基站信息结合起来进行定位。

分享到:
评论

相关推荐

    geolocation

    工作原理 地理定位主要依赖于三种技术: - **GPS(全球定位系统)**:这是最常见的方式,通过接收至少四颗卫星的信号来计算设备的位置。在户外无遮挡的情况下,GPS 可以提供非常精确的位置信息。 - **Wi-Fi三角...

    前端项目-jQuery-Geolocation.zip

    《jQuery Geolocation插件:简化W3C地理位置API的前端应用》 在现代网页开发中,获取用户的位置信息已经成为一种常见的需求,这得益于W3C制定的Geolocation API。然而,对于开发者而言,直接使用原生的Geolocation ...

    geolocation 根据地理坐标获取具体位置信息

    下面将详细阐述`geolocation` API的工作原理、使用方法以及相关应用。 `geolocation` API 的核心在于获取用户的位置信息,这通常包括经度、纬度和海拔高度。这些数据可以通过多种方式获取,如GPS、Wi-Fi信号强度、...

    IP 地址信息 geolocation

    在IT领域,IP地址信息和地理定位(geolocation)是两个关键概念,它们在互联网通信、网络管理和数据分析中起着至关重要的作用。IP地址是Internet Protocol Address的缩写,是互联网上的唯一标识符,用于区分网络上的...

    geolocation_whitepaper.pdf

    LoRaWAN™ infrastructure provides a geolocation solution for low-power wide-area networks (LPWANs), enabling a wide range of applications requiring location determination for batterypowered endpoints....

    Geolocation定位你当前所在位置

    在IT行业中,地理定位(Geolocation)是一项关键的技术,它允许设备通过网络连接确定其物理位置。这篇博客“Geolocation定位你当前所在位置”可能是关于如何利用JavaScript API和其他相关技术来获取用户地理位置的...

    geolocation地理定位

    geolocation地理定位

    客户端地理位置服务Js-geolocation.zip

    Js-geolocation 是一个 Go 开发的,使用谷歌服务的客户端地理位置服务。地理位置数据库是由 Google 维护,非常可靠。{  "city":"cluj-napoca",  "cityLatLong":{  "lat":46.777248,  "long":23.59989  },  ...

    MapNav-Geolocation Toolkit 1.5.0

    MapNav-Geolocation Toolkit 1.5.0 插件为最新版。是Unity 地理定位功能开发的必选插件。功能包括2D/3D对象地理定位,GPS导航和在线地图。只要你厉害,试试用这个开发个自己的轻量级 “高德地图”的App。

    21 - Geolocation.rar

    在这个讨论中,我们将深入探讨Geolocation API的使用、工作原理以及在实际开发中的应用。 首先,Geolocation API是HTML5的一个新增特性,它提供了一种标准化的方法来获取设备(通常是指浏览器所在的设备)的地理...

    Practical Geolocation for Electronic Warfare Using MATLAB

    首先,书中涵盖了电磁场的基础理论,包括电磁波的传播、散射和反射等基本概念。这些理论知识为后续的计算和应用提供了坚实的基础。读者将学习到如何运用这些理论来构建模型,模拟信号在不同环境下的传播特性。 其次...

    PhoneGap,API帮助文档翻译整理9-Geolocation_(定位)

    `geolocation.getCurrentPosition` 是 Geolocation API 的关键方法,用于获取设备的当前位置。这个方法是异步的,意味着它不会立即返回结果,而是通过传递给 `geolocationSuccess` 回调函数的 `Position` 对象来传递...

    Geolocation.dll

    Geolocation

    geolocation-源码.rar

    本文将深入解析名为"geolocation-源码"的压缩包文件,以帮助理解这一关键技术的工作原理和实现方式。 首先,我们来看“geolocation-源码.zip”中的核心组成部分。这个压缩包通常包含了一组JavaScript文件,它们是...

    IP_geolocation_databases_tool_and_library._IP_地理位置_ips.zip

    IP_geolocation_databases_tool_and_library._IP_地理位置_ips

    掌握 JavaScript 中的 Geolocation API:实现精确定位与应用

    本文将详细介绍如何在JavaScript中使用Geolocation API,包括其基本概念、实现步骤、代码示例以及实际应用场景。 Geolocation API为Web开发者提供了一个强大的工具,可以轻松实现基于位置的功能。无论是显示地图、...

    Laravel开发-geolocation

    首先,我们需要理解 Geolocation 的基本概念。地理定位是通过 IP 地址识别用户所在位置的技术。这通常涉及到与第三方服务提供商如 MaxMind、IP2Location 或 GeoIP 数据库的交互,这些服务能够提供关于 IP 地址的详细...

    geolocation:基于可观察的抽象,可将Geolocation API与Angular结合使用

    Angular的地理位置API 部分 这是与Angular一起使用的基于基于Observable的抽象安装如果您没有 : npm i @ng-web-apis/common现在安装软件包: npm i @ng-web-apis/geolocation如何使用GeolocationService ...

    基于HTML5_Geolocation_考勤管理系统.doc

    通过软件工程原理,对这个系统进行需求分析、设计、代码实现和测试,并介绍了基于HTML5 Geolocation API的考勤管理系统软件的设计、实现和各个过程中存在的问题与解决方法。 知识点5: 考勤管理系统的需求分析 在...

Global site tag (gtag.js) - Google Analytics