Google Research

Android smartphones high accuracy GNSS datasets



Raw GNSS measurements from Android phones' GNSS (Global Navigation Satellite System) chipset are accessible via Android APIs since 2016. It becomes a bridge between the advances of positioning techniques and the applications of positioning for billions of Android users in the mass market. Over 6000 papers have been published on this topic since its debut. Among all GNSS topics, high precision positioning on smartphones is probably the most attractive one, not just because it spawns over 1/3 of publications, but more importantly, it may trigger a plethora of possible novel applications, such as lane-level driving, mapping, and precise augmented reality.

Dr. Brad Parkinson @ ION GNSS+ 2020 Plenary: “... They (smartphones) are also able to do Real Time Kinematic, because these are now carrier tracking devices. To me, this is totally astounding, and it's opening up a whole new plethora of possible applications. And the basic engine and the technology behind it are already with us today.

To facilitate this process, Google releases here the datasets collected from multiple Android phones, accompanied with high accuracy ground truth, and RTK corrections. This dataset has 39 traces collected from Pixel 4, Pixel 4 XL, and Xiaomi Mi8. They contain CN0, carrier phase, Doppler rate, satellite transmit time, signal arrival time, and other raw GNSS measurements of L1, L5 channels from GPS, Galileo, GLONASS, Beidou, and QZSS. Precise location ground truth files collected using NovAtel SPAN system are provided.

Questions? Please let us know:


Data is organized into folders with names in this format: YYYY-MM-DD-{Country code in 2 letters}-{Region}-{Collection index}. For example, 2020-05-14-US-MTV-1 indicates the data was collected on May 14, 2020, in Mountain View, United States. Each folder contains one or more sets of following files.

  • {Phone name}_GnssLog.txt: GnssLogger log file

  • {Phone name}_GnssLog.yyo: RINEX v3 observation file, converted from the GnssLogger log

  • SPAN_{Phone name}_{Report rate}.nmea: Ground truth positions at the phone's position

  • {Phone name}_chipset.nmea: Chipset positions in NMEA format

  • {Phone name}_chipset.kml: Chipset positions in KML format

Observation files (RINEX) by nearby reference stations are provided by Verizon. They can be downloaded at Webscope.

This GitHub repo provides NMEA utilities (Nmea2RtkMetrics.m & Nmea2ErrorPlot.m) in Matlab to evaluate your generated NMEA file against the reference NMEA file.

For more details, please refer to our team webpage and this paper below:

Fu, Guoyu (Michael), Khider, Mohammed, van Diggelen, Frank, "Android Raw GNSS Measurement Datasets for Precise Positioning," Proceedings of the 33rd International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS+ 2020), September 2020, pp. 1925-1937."


This dataset, including sensor data and ground truth data, is collected from Google owned phones and truth-reference systems, by Google employed operators, in public areas.


Where is the limit of smartphone GNSS positioning? Sub-meter? Decimeter? Or centimeter?

What kinds of user experience can be enabled by precise smartphone positioning?