[GIS] Does iOS know the phone’s location solely from cell tower, i.e. without GPS data

base-stationgeolocationgpsios

Question

Does the iOS operating system know the phone's location even if one could turn off the iPhone's built-in GPS module or if it was broken?

Elaboration

What I understand

I understand that the mobile phone provider knows where my phone is located by using for example three cell towers and pinpointing the phone's location.

I also understand that iOS can read the phone's location from the built-in GPS module and provide the GPS data as a software-service to the installed apps that are interested in it.

What I don't understand

What I don't understand is: does iOS, the operating system, know what the phone's location is even if the built-in GPS module was broken?

Does the cell tower transmit its position to the phone which is connecting to it? Can the phone or the phone's operating system respectively figure out where it is soley with the communication its performing with the connected cell tower or cell towers?

About me

I am a regular iPhone user and have no knowledge of iOS programming or mobilephone-to-celltower communication protocols.

Please let me know if the GIS StackExchange is the wrong StackExchange site to ask this question. After reading the "What topics can I ask about here?"-page, it didn't seem to be the wrong place.

Versions

Don't know whether this matters to answer the question, but if it does, let's take these versions:

EDIT

Erica's answer and Mapperz's comment (which both seem to have been deleted) and some googling gave me enough information to form a hypothesis.

Is the following correct?

Each cell tower has a globally unique ID (cell ID). So the phone itself can find out what towers are in range and what the signal strength to each tower is.

Then that data is sent by iOS to some Apple server which in turn can use a database with cell tower positions and signal strengths like the one provided for example by Skyhook Wireless do some additional calculation and send the calculated GPS postion of the phone back to the phone where it can be used.

Can anybody confirm that this is correct?

Best Answer

Your hypothesis is conceptually correct. GPS is a one-way system, with your phone listening to satellites broadcasting hyper-accurate timestamps from orbiting atomic clocks. A regular GPS unit can take 10+ minutes to download the latest satellite positioning information (almanac and ephemeris) needed for triangulation. This can lead to very long delay before having an accurate position, which industry folks call time to first fix (TTFF).

By combining the data connection of a smartphone and information about surrounding cell towers, the TTFF can be greatly reduced. This strategy is known as Assisted GPS or A-GPS. If you search around, you can find lots more information about A-GPS because its development was spurred by the Federal Communications Commission. They wanted to improve the routing of 9-1-1 calls (see Enhanced 9-1-1), so that if you call 9-1-1 from a cell phone you are connected with a nearby dispatcher, instead of one in your phone's area code (which could be across the country).

The A-GPS does not (officially) utilize Apple's servers. Instead, A-GPS is implemented by the carrier who owns the tower (e.g. AT&T, Verizon, T-Mobile), because the FCC wants this functionality to work with any capable device, not just Apple devices. This location information could later be disseminated to Apple or other websites and apps to which you grant access to your location information, but that's separate from A-GPS.

There are other systems that supplement GPS and A-GPS. The article that @Lernkurve linked to goes into this in a great bit of detail. These positioning services may be conducted on Apple's servers. A few years ago, there was actually some controversy about how iOS "accidentally" retained this location information without notifying users. There's also concern about the reverse being used, e.g. WiFi hotspots tracking your location via the phone's MAC address. Fortunately, iOS8 implemented some MAC address randomization to avoid this.