转载: 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,电脑手机都可以。
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....
前端项目-jQuery-Geolocation,jQuery plugin which acts as a simplification of the W3C Geolocation API
geolocation地理定位
Js-geolocation 是一个 Go 开发的,使用谷歌服务的客户端地理位置服务。地理位置数据库是由 Google 维护,非常可靠。{ "city":"cluj-napoca", "cityLatLong":{ "lat":46.777248, "long":23.59989 }, ...
获取当前网络的真实IP地址信息 详细接口请参考:http://ip-api.com/和http://ipinfo.io/
geolocation 根据地理坐标获取具体位置信息
MapNav-Geolocation Toolkit 1.5.0 插件为最新版。是Unity 地理定位功能开发的必选插件。功能包括2D/3D对象地理定位,GPS导航和在线地图。只要你厉害,试试用这个开发个自己的轻量级 “高德地图”的App。
Geolocation
PhoneGap,API帮助文档翻译整理9-Geolocation_(定位)
Collaborative time of arrival (CToA) is the next generation, indoor geolocation method, which is designed for enabling scalability of the existing IEEE802.11/Wi-Fi-based, geolocation systems. The ...
NULL 博文链接:https://spring036765.iteye.com/blog/1264555
HTML5定位技术,用于手机应用,网页的定位技术,和地图结合的很好,应该适当些时髦的技术
geolocation for osm data
Angular的地理位置API 部分 这是与Angular一起使用的基于基于Observable的抽象安装如果您没有 : npm i @ng-web-apis/common现在安装软件包: npm i @ng-web-apis/geolocation如何使用GeolocationService ...
电磁场计算
geolocation-源码.rar
google-geolocation 适用于Node.js的Google Maps Geolocation API(非官方) 您需要具有访问Google Maps Geolocation API的Google API密钥。 例子 const geolocation = require ( 'google-geolocation' ) ( { key...
21 - Geolocation.rar
HTML5 Geolocation