I have looked through the AT command set of Arduino GSM Shield boards. I dont find any AT command that provides network GPS. I wonder what I am missing. Why isn't it possible for GSM module to provide NetworkGPS (the one that is not really accurate) ?
Simple answer is that it is function of cellular network (phone company) instead of the module.
More informative answer is, Position is calculated by network via
- serving cell base station ID and location
- when phone on standby, it monitors signal strength from multiple base stations and signal strength is roughly related to distance
- when phone on transmitting, base station has one more piece of information. It calculates distance through time taken for signal to travel to multiple base stations (called 'time advance' in original GSM)
US E911 utilizes these to locate the phone.
Good technical paper with diagrams https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=6&cad=rja&uact=8&ved=0CEUQFjAF&url=https%3A%2F%2Fwww.fig.net%2Fpub%2Fcostarica_1%2Fpapers%2Fts08%2Fts08_01_schwieger_2407.pdf&ei=Ms3bU8-DItfr8AXT7oLQCg&usg=AFQjCNHImn4G34WC0Naw8IH6g1gfLzykuQ&bvm=bv.72197243,d.dGc
This is a very complicated situation. In short, the module itself does not provide Assisted GPS without both the handset's help, and the help of the carrier.
Since the module is sold as an OEM or embeddable object, the manufacturer either hasn't included such functionality, or hasn't enabled it, or hasn't documented it.
Even if it were included, enabled, and documented, it has to work with the carrier, and each carrier provides different services for different modules. Some locate solely based on triangulation using cell towers and the module's command channel. Others depend on the module capturing a short sequence of RF from the GPS network, sending it to the carrier's AGPS server to be processed, which then reports back a very accurate position.
At any rate, this is not a standardized function for embedded cellular modules because cellular networks and carriers vary in how they've chosen to implement AGPS.
If you want to use AGPS in an embedded cellular module, you'll need to work with both the module manufacturer and the cellular carrier to enable that functionality. It usually involves additional charges - renting an AGPS server, for instance. These often involve a monthly fee in addition to a per-request fee. Some companies set up their own AGPS servers to do the processing, but the cellular company still has to provide gross location information based on the tower signal reception.
Suffice to say, this is not something that is common or cheap enough for low volume projects. Unless you're going to be working with thousands of these devices it's typically cheaper to integrate a standalone GPS chipset in your device.