Wednesday, December 12, 2007

Google Maps "My Location"

The recent version of Google Maps for Mobile (version 2.0.5) has an exciting new feature called "My Location". What is exciting about it can locate you based on your mobile cell id also! Now this is useful for people like me who do not have a GPS enabled phone (Nokia E61).

GPS works on satellite based information. Some 24 odd satellites orbit the earth constantly transmitting messages with time at which the message was sent. At a broad level, the GPS receiver on the handset receives information from at least 4 satellites, calculates the distance from each satellite by computing the time the message arrived at the device, and uses trigonometry to calculate the position. GPS is great and accurate, but it requires specialized electronics which are not widely available today and have a cost that is not really small today. Moreover, since GPS receiver requires line of sight to at least 4 satellites, it does not work indoors.

Cellular networks are widely available toady and almost every person has a cell phone (the number of cell phones today are almost equal to half the number of people in the world). In cellular networks, an area is divided into multiple cells, each cell being served by one cellular radio tower. The range of each cell tower is configured based on the topology, population and purpose of the tower. Though it can range up to about 25 miles, in practice in urban areas the range is much smaller - can be as close as 250 meters. The cell phone device can identify the following information when it is attached to a cell tower (GSM):

Mobile Country Code (MCC): Identifies the country. A list of MCCs can be found at http://en.wikipedia.org/wiki/List_of_mobile_country_codes

Mobile Network Code (MNC): Identifies the operator. A list of MNCs can be found at http://en.wikipedia.org/wiki/Mobile_Network_Code

Location Area Code (LAC): A set of base stations (mobile towers) are grouped into one location area and they share the same base station controller (BSC). Each cell in a location transmits the same LAC.

Cell ID: Identifies a mobile cell or mobile tower.

Software running on a phone can retrieve all these information. A lookup into a comprehensive database of cell ids tagged with locations can identify the location of the cell tower and hence roughly the location you are in! Accuracy of this information can be improved if information on multiple cells visible in an area and their signal strengths are available. This will still not be very accurate because signal strength and visibility of a tower may be affected by various factors in urban areas, but it is still better than nothing. It is also sometimes better than GPS as it is faster and works even indoors.

From Google FAQ:Google takes geo-contextual information [from anonymous GPS-readings, etc] and associates this information with the cell at that location to develop a database of cell locations. Based on this information, Google uses various algorithms to approximate your location relative to the cells nearest you. The accuracy of this information depends on how big an individual cell is. Thus, areas with a denser concentration of mobile towers allow for a more accurate My Location reading. Additionally, as our database of cell locations continues to improve, so too does the accuracy and coverage of the My Location feature.

This database could be (and is probably) created by a subset of users that do have GPS whilst using the application - (unconscious) crowd sourcing.

Though "My Location" works fine most of the times with reasonable accuracy. For the picture above, it has placed me directly on the road junction, and I was actually just around 200 meters away from it.

There are a few occasional issues though. Sometimes the location accuracy is very low. Sometimes it says location information is temporarily unavailable - may be because GPRS connection is not available or may be because the cell id is not yet tagged. I think it is mostly because the location is not tagged with Google, because this mostly happens at interior locations and rarely on major roads. Google seems to have tagged the major city roads and highways at the moment.

Now go ahead, download the latest Google Maps For Mobile and happy location hunting! I'll be back with more information on other similar interesting products and also how to build one of your own.