Fubaya, those are some interesting resources. I can't access a couple
of them from work (they block uncategorized websites) but I did try
the cellumap app on my phone. Seems like it tries to do what I am
doing, but falls short of actually attempting to locate the towers
themselves. Also, it looks like a few of them only support GSM cells,
and I'm on CDMA. The Ericsson API looks very promising, but I could
not find any apps that specifically claim to use their database, and I
don't know enough about android programming to develop my own app
right now. I once tried an app that claimed to use the opencellid,
but it did not work for me at all, there were no towers reported
nearby.
Back to my project:
I was able to integrate a traceroute into my data recording profile,
so here is what I did. Every time it records a data-point, it will
traceroute to
google.com, but stop after the first hop, which should
be the wireless to TCP/IP conversion device as Scott suggested. I
have it set to return the average of the 3 ping times (3 is the
default), and the IP address. Not sure if that is the best method or
not (comments?) but I thought it might be the most consistent for each
cell because there should only be one path from the tower to that
device??? A quick look of the data reveals way too much variability
in the ping times, even when standing in one spot connected to the
same cell each time. For example, I would get a ping of 110ms, and
the next one would be 170ms or sometimes more. Even a difference of
only 15 milliseconds between 2 ping times, for example, would result
in a distance of nearly 5000km, which is obviously wrong. To put that
into perspective, a distance of ONE km should show a ping difference
of .003 ms. Traceroute does give me ping times out to 3 decimal
places, but the variability seems to invalidate this method.
I will try plotting ping times instead of signal strength for each
point on Google Earth and see if there is a recognizable pattern.
Maybe with enough data points, there will be.
Another idea: I could incorporate a "whois" command on each "first
hop IP," pull out the location and plot those points as well, to see
how the ping time varies with the distance to the device. (The two I
tried so far, one Sprint and one Verizon, were both in Wichita, and
I'm in Denver.)
I'm starting to think that the limitations of the device (and the
network) will prohibit getting an accurate location of cells, unless
there is some way to actually ping the tower itself.