I surely get GPS-provided coordinates and altitude in the list of gateways in an uplink’s metadata. I also see those change slightly over time, especially the altitude.
After someone changed the coordinates of many gateways years ago by, I think, sending status messages with fake coordinates, TTN has implemented some protection. But surely the GPS coordinates as sent in a gateway’s uplink message are used (and preferred) by TTN; see Gateway GPS configuration in local_conf.json.
Some locations include "location_source": "registry"
, which made me assume that lacking this attribute would indicate that the location provided by a gateway was used. However, even if a gateway provides a location, that still does not tell one if the gateway truly has a GPS, nor if that GPS is also used for time synchronization.
(Aside: note that uplinks of gateways that use the MQTT protocol, like the Kickstarter The Things Gateway which does not have a GPS, have not included coordinates since May 11th.)