views:

843

answers:

5

Get location(lat/long) without GPS, just like my location feature in Google maps. I have Google Maps in my mobile (Sony Ericsson G502 without GPS). It works fine without GPS in India.

1.How Google finds my position?
2. When i am searching cellid in opencellid database, it has less number of records for India. but Google Maps works fine in my mobile(India)
3.Is Google uses opencellid database or its own?. if Google uses its own, shall we have access to it database
4.Is there any commercial cellid database for India?

+1  A: 

Google almost certainly uses a proprietary database. They admit as much as:

This involves analyzing the Wi-Fi access points around you and your computer's IP address, and sending this information to a Google server to then be translated into a location that we can show on the map.

http://maps.google.com/support/bin/answer.py?hl=en&answer=153807

Google Street View cars have been known to collect data about wireless access points that could be used in such a database.

Jakob Kruse
A: 

This article explains how to access the google cellid database: http://www.codeproject.com/KB/mobile/DeepCast.aspx

Xavier
+1  A: 

Skyhook offer an API for geolocating devices based on Cell ID, Wifi access points, and if available, GPS. The iPhone OS uses this to provide its CoreLocation functionality.

They have SDKs available for most mobile and desktop OSes. It's very good, but you'll have to speak to them about licensing.

tomtaylor
+1  A: 

As other posters have mentioned, both Skyhook and Google maintain proprietary databases of location information for WiFi SSIDs and cell tower IDs. I believe Geomena is trying to start an open database of located IDs, but that it doesn't yet have the breadth of coverage that the proprietary competitors have. Google also provides a simple client-side JavaScript interface for IP geolocation (called ClientLocation), which might be just accurate enough for some applications, and a wide variety of IP geolocation databases exist.

If your application is web-based, you can take advantage of the W3C Geolocation API, which abstracts away the particular geolocation technology and provides your website user-controlled access to whatever geolocation method the browser chooses to use. On the iPhone, Skyhook's database is used to locate the phone with cell tower or WiFi or GPS location; Firefox uses the Google Location Service, which uses WiFi triangulation and falls back on IP geolocation.

Using some abstraction layer (like the W3C API) can have real advantages if you want your application to work across different platforms which have their own location methods, if you want your application to degrade gracefully when only rough methods of geolocation are available and you want your application to get the advantages of additional precision as your customers upgrade to devices with GPS technology.

npdoty
+1  A: 

The answer is that cellular phones use various location methods, most were introduced as part of E-911 (Enhanced 911) or equivalent emergency service for other countries (e.g. 999 in UK) or since.

I don't know if GSM or CDMA has any localization protocols or standards itself beyond whatever E-911 and such requires. So I doubt there is a general API for all mobile phones.

Mobile phone localization is done via:

  • plain GPS
  • Assisted-GPS
  • Cellular triangulation / multilateration
  • Cell (tower) identification (FCC/etc. cellular tower database lookup)
  • Enhanced Cell Identification (E-911)
  • Uplink-Time difference of arrival (U-TDOA)
  • Time-of-Arrival (TOA)
  • Angle of Arrival (AOA)
  • E-OTD (Enhanced-Observed Time Difference)
  • and/or a hybrid of these technologies and approaches.

(Src: Wikipedia / Mobile_phone_tracking)

These approaches vary in accuracy and precision from ~35 km (22 mi) to ~5-10 meters (16-32 ft) or better.

3.Is Google uses opencellid database or its own?.

It appears that they have their own database without a public documented API.

4.Is there any commercial cellid database for India?

I don't know.

mctylr