Friday, October 22, 2010

Google Latitude工作原理

参考自
http://www.computerworld.com/s/article/9127462/FAQ_How_Google_Latitude_locates_you_

How does Latitude do that? Google is using technology that's similar to that of Skyhook Wireless in its Latitude service. Like Skyhook, it is a software-only location solution that allows any mobile device with Wi-Fi, GPS or a cellular radio to determine its position with an accuracy of 10 to 20 meters. What sets XPS apart is that it uses land-based Wi-Fi access points, GPS satellites and cellular towers to determine location information.
In other words, Latitude can use any of the three kinds of signals ― Wi-Fi, 2G/3G/4G mobile or GPS satellite ― that a device can pick up to work out its location. By leveraging these wireless capabilities, the software can combine positioning data from satellites, carrier assistance servers and Wi-Fi base stations to significantly speed up positioning, or TTFF (time to first fix). TTFF for some devices can be up to a minute, but by using multiple reference sites, Latitude can reduce TTFF to a few seconds.
I thought you had to have GPS to work out your location. How does Google get around that? The technique that Google uses to work out your location is actually the same one that any GPS device uses: triangulation.
Here's how it works: When Latitude turns on, it automatically tries to reach any available GPS satellite, cell tower or Wi-Fi access point (AP). Once it establishes three or more links, it starts working out your location.
It does this essentially by figuring out, for example, that if you're two blocks from the cell tower at the church, and you're right under the Wi-Fi AP at the coffee shop, and you're at x distance from a GPS satellite, you must be at Buster's Coffee Shop. Typically, devices can use up to 24 reference points to work out your location.
Now, by itself your mobile device doesn't have the CPU horsepower to work that out. It takes the raw data and transmits it via a GSM, CDMA or Wi-Fi link to an assistance server. This technique is called A-GPS (assisted GPS). Your mobile device or computer works together with the server to plot out your location.
And this is the important part for Latitude: Since the assistance server has the results of the calculation, it's easy to share your position with anyone else who uses Latitude and has your permission to see your location.
How does the system know where Wi-Fi APs and cell towers are? Google uses a database of Wi-Fi AP and cell tower locations. Together, these tens of millions of fixed locations give Latitude the grid it needs to work out your location.

基本意思就是Google Latitude用Wifi,无线通信基站与GPS综合确定用户当前位置。Google有一个database知道很多Wifi AP与基站的确切位置。对于GPS和基站而言,Google可以通过GPS的定位技术与无线信号强度大致确定所在位置与目标参考点的位置,但对于Wifi而言似乎不可以,只是知道目前在这个Wifi的控制范围内。如果这三种定位源不全存在,Google仍然可以大致的确定用户的位置。
因此,这样Google对我的定位比较准确的原因,只能是由于Google非常了解我所使用的Wifi AP的位置,也就是说,Google是知道我家里有一个无线路由器的,而且知道这个路由器的IP地址。

No comments:

Post a Comment