Wednesday, March 21, 2012

Hi,

I was wondering how Google can find my location when I'm using WiFi, and I kept digging the Internet to find an answer.

To collect information about WiFi access points, Google uses information provided by  
  • cellphone handsets.
  • computer applications.
  • radio receivers attached to vehicles.
Google used wardriving to collect data about access points. It used the same vehicles which collected imagery for the street view service to collect information about WiFi access points.

Furthermore, according to this page, Google also uses Android powered devices to collect these data as follows: 

Android Location Services periodically checks on your location using GPS, Cell-ID, and WiFi to locate your device. When it does this, your Android phone will send back publicly broadcast WiFi access points' Service set identifier (SSID) and Media Access Control (MAC) data. 

The Data is used in aggregate to improve Google's location based services.

The data collected by the vehicle-based method is not tied to any particular user. Google doesn't share location based services directly with users but through the free publicly available Geolocation API.

Applications that return information to users receive geocoded locations that are individual to the user's request and they don't receive specific information about an access point.

When using vehicle-based method, Data about WiFi access points are collected passively which means that the equipment that receives the data  receives signals broadcast to it but not actively initiating a communication with the access point.

Data collected is only that is broadcast publicly on the WiFi radio network. It's visible to anyone else with a WiFi receiver.

Google location based services using WiFi access points data work as follows:

  • The user's device sends a request to Google location server with a list of MAC addresses which are currently visible to the device.
  • The location server compares the MAC addresses seen by the user's device with it's list of known MAC addresses, and identifies associated geocoded locations (i.e. longitude/latitude).
  • The location server then uses the geocoded locations associated with visible MAC addresses to triangulate the approximate location of the user.
    So, The more WiFi networks around, the higher is the accuracy of the positioning.
  • This approximate location is then geocoded and sent back to the user's device.

For more details, you can visit this and this.

That's it, don't hesitate to comment, to share your knowledge and to correct me. 

3 comments:

  1. what happens if the wifi router is shifted to another location. like a home shift

    ReplyDelete
    Replies
    1. Check the answer of this stackoverflow question: http://stackoverflow.com/questions/1668304/how-does-google-calculate-my-location-on-a-desktop

      Delete
  2. Do the location servers have Canadian locations? The reason that I ask is I traveled into Canada and across time zones and the clock did not update to the new time zone. Not even with the gps on and maps showing my location.

    ReplyDelete