24 Eylül 2008 Çarşamba

Adding location to a non GPS phone: introducing OpenCellID

In this two part article, we will introduce mobile positioning based on CellID, and we will take a look at OpenCellID, the open source database of CellIDs. We will demonstrate how to use OpenCellID through some simple examples. The second part of the article will show how to use OpenCellID with OpenStreetMap and the 8Motion library to create a full interactive mobile mapping experience in JavaME, with each of these examples being less than 100 lines of code.

What is CellID?
We all know that GPS will be deployed in the vast majority of phones in the future. For now though, only a few high-end handsets are GPS enabled. An alternative, which has been available for some time, but which has gained momentum only recently is location based on CellID. So, what is CellID? A CellID is a number which is associated with a specific cell (the radio tower to which your handset is connected). In most cases, this is the closest tower to your location. So by knowing the location of this tower, then you can know approximately where the handset is. This concept is illustrated below. However, a tower can cover a huge area, from a few hundred meters, in high density areas, to several kilometers in lower density areas. This is why location CellID accuracy is lower than GPS accuracy. Nevertheless location via CellID still presents a very useful alternative.

CellID has recently become much more popular, thanks mainly to its seamless integration into GoogleMaps for Mobile.

So this sounds great, let's just get the device's CellID, and then we will know its location. So what's the catch? The issue is that the location of cells is not public information. Operators keep this private, for many reasons including:

They don’t want to give tower location information to their competitors
They use this as an extra revenue income, as they provide paying services to retrieve cell location
This is the reason we have set up a service called "OpenCellID". OpenCellID.org is an open source database of CellIDs, serving two purposes:

Anyone can create or use an application to gather information about cell locations, and send this information to the OpenCellID server, thereby improving the coverage
The database can be used by any application to retrieve the location of a cell, according to the CellID

to be continued

Hiç yorum yok: