Hacker News new | ask | show | jobs
by alx_mcc 2691 days ago
Pinpointing a phone requires three satellites. With A-GPS, it can be accomplished with two satellites and cell tower data and/or WiFi info.

Official Apple statement:

Calculating a phone’s location using just GPS satellite data can take up to several minutes. iPhone can reduce this time to just a few seconds by using Wi-Fi hotspot and cell tower data to quickly find GPS satellites, and even triangulate its location using just Wi-Fi hotspot and cell tower data when GPS is not available (such as indoors or in basements). These calculations are performed live on the iPhone using a crowd-sourced database of Wi-Fi hotspot and cell tower data that is generated by tens of millions of iPhones sending the geo-tagged locations of nearby Wi-Fi hotspots and cell towers in an anonymous and encrypted form to Apple. https://www.businesswire.com/news/home/20110427005749/en/App...

Also worth reading: https://transition.fcc.gov/pshs/911/Apps%20Wrkshp%202015/911...

2 comments

> With A-GPS, it can be accomplished with two satellites and cell tower data and/or WiFi info.

I think you might be confusing 2 separate things:

* aGPS uses the cell tower to download data that helps with locking on to GPS satellites much faster. It basically tells the GPS receiver: here are the satellites you need to be looking for.

* cell tower triangulation is used when you have no GPS reception at all. It’s inaccurate, but it’s better than nothing.

If you know your location roughy with triangulation, you can improve your location estimate if you add 2 satellites to the mix (more data is usually better than not), but even then it has nothing to do with aGPS.

Thank you. I went back and did some additional reading. From what I read it appears aGPS has different options available.

Standalone - Your handset has no connection to the network, and uses only the GPS satellite signals it can currently receive to try and establish a location.

MS Based - Your handset is connected to the network, and uses the GPS signals + a location signal from the network.

MS Assisted - Your handset is connected to the network, uses GPS signals + a location signal then relays its 'fix' to the server, which then uses the signal strength from your phone to the network towers to further plot your position.

> If you know your location roughy with triangulation, you can improve your location estimate if you add 2 satellites to the mix (more data is usually better than not), but even then it has nothing to do with aGPS.

Isn't this exactly what aGPS is? One or more data points outside of satellite data? If you have an additional resource I'd love to take a look. Just a quick search of the topic did reveal some contradicting statements.

https://www.windowscentral.com/gps-vs-agps-quick-tutorial

> Isn't this exactly what aGPS is? One or more data points outside of satellite data?

I don’t think that’s what it is: with aGPS, the phone downloads data of where the satellites are. That allows the phone to accelerate its ability to lock onto GPS satellites.

Triangulation based on cell phone tower location is orthogonal to aGPS. The original iPhone didn’t have a GPS receiver and didn’t use aGPS, so it used the location of the towers as a crude way to figure out its location.

The triangulation + 2 satellites examples could be (but doesn’t have to be) a hybrid of the 2:

Use old school triangularion as one of the location estimates and use 2 satellites as further location estimates.

And then, orthogonally and optionally, you could use aGPS to accelerate finding additional satellites.

I understand a-gps from an end user pov. I don't understand how and when such data is retransmitted to the carrier. Carriers shouldn't have access to my gps data.
A cell tower receives a request from a particular phone in range and sends the nearest GPS sattelites for the phone to try first, cutting down the first GPS fix to seconds. The carrier has a list of IMEI that requested AGPS data for each tower, it's only metadata, the phone doesn't get the data.

This is my understanding, I'm not entirely sure about the first part.