I have done something similar to what you are trying to do. We ran a study a
while back where we compared the accuracy and precision of a time-shifted
location process vs an on-demand one. We wrote an article with our results.
We collected GSM and WiFi data on several locations and we also collected
the Android's Network Provider location coordinates. The GSM and WiFi data
we collected was processed by a perl script that sends the infor to Google's
geolocation API and parses the response with the result (which is location
coordinates).
We found that our method was pretty good compared to the location the device
serves up on-site. Our purpose was to develop a way to annotate events with
location data without the users of our apps incurring in any costs.
There is a caveat you should know about, it's a limitation of the API. If
you are operating your phone in 3G mode you can only get information for the
cell you are connected to, all information from neighbouring cells will show
up with the value -1. However, if you change the radio to operate strictly
in 2G mode, then all neighbouring cell information shows up just fine when
you call the method from the API.
Additionally, from our results, I can tell you that using just GSM data
doesn't provide you with very precise location data. Either use GSM+WiFi or
just WiFi which have nearly identical results. Anyway, it obviously depends
on how precise you want your location data to be.

Regards,
André Coelho

2011/6/9 Davide Ronchi <id...@idave.it>

> Hi all.
>
> I am about to start an Android development project. I would like some
> advice before starting with the project.
>
> First of all, I have done some research on which phone would be the
> best to do Android development. I have seen many suggestions, but most
> people seem to point at the Google Nexus One (or its UK equivalent,
> the HTC Desire). I was wondering if there is anything more recent that
> is as good as the Nexus One. I have seen people suggesting the Nexus
> S, but I'd rather not use a Samsung phone for the reason I'll explain
> below. Also, the HTC Desire S seems to have a signed bootloader, and
> I'd like to be able to tinker with the OS if I will need to during the
> project (this is not a commercial application, it's more of a research
> project, so it's ok if I need to modify the OS). The HTC Desire HD
> seems more like a modern alternative to the Desire, but I have found
> no one suggesting it as a good, modern developer phone for Android.
> Any other suggestion?
>
> For this project I will need to triangulate the user's location using
> GSM cell info. Problem is that sometimes, we will need to triangulate
> the position *after* the phone has lost signal (i.e. the user has
> gotten into an underground transport system). I was thinking of two
> possible strategies to do so:
> 1. write an application that stays in the background and uses
> LocationManager + LocationManager.NETWORK_PROVIDER to receive location
> updates from the network provider and then use the latest known
> location
> 2. log all the cell IDs I see and use the last few ones (together with
> their known location) at a later time to triangulate the user's
> location
>
> Strategy #1 has the obvious advantage that it is supported by most
> Android phones and works reasonably well for what I need to do.
> Problem is, it will drain the user's battery. Even if it is relatively
> cheap to use Network Location instead of GPS to locate the user, I
> need only to locate the user when he/she enters the public transit
> network. If the user goes out of town, my application will keep
> querying the location provider for nothing.
>
> Strategy #2 works reasonably well for my purposes, as I suppose the
> phone will see a different set of cells depending on the entry point
> (and therefore it might not even be necessary to do the actual
> triangulation, I could build a database of (Station Name, Set of
> visible cells) tuples and consult it without even bothering
> translating that into actual coordinates. Also, logging the cell
> information is something that can be done substantially for free, as
> the phone already has that information and I am only reading it and
> discarding it if I don't need it. Trouble is, in this case, that I
> have seen that the function for doing this on Android don't always
> work well on all phones. I know, by reading previous posts on this
> forum, that Samsung phones don't support getNeighboringCellInfo().
> Also, many *other* phones don't support that function.
>
> I was wondering: is there anyone here who knows of a current phone
> that supports getNeighboringCellInfo() *for sure*?
>
> Thanks,
> Davide
>
> --
> You received this message because you are subscribed to the Google
> Groups "Android Developers" group.
> To post to this group, send email to android-developers@googlegroups.com
> To unsubscribe from this group, send email to
> android-developers+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/android-developers?hl=en

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to