in mapillary_tools/geotag/geotag_from_nmea_file.py [0:0]
def get_lat_lon_time_from_nmea(nmea_file: str) -> T.List[types.GPXPoint]:
with open(nmea_file, "r") as f:
lines = f.readlines()
lines = [l.rstrip("\n\r") for l in lines]
# Get initial date
for l in lines:
if "GPRMC" in l:
data = pynmea2.parse(l)
date = data.datetime.date()
break
# Parse GPS trace
points = []
for l in lines:
if "GPRMC" in l:
data = pynmea2.parse(l)
date = data.datetime.date()
if "$GPGGA" in l:
data = pynmea2.parse(l)
timestamp = datetime.datetime.combine(date, data.timestamp)
lat, lon, alt = data.latitude, data.longitude, data.altitude
points.append(types.GPXPoint(time=timestamp, lat=lat, lon=lon, alt=alt))
points.sort()
return points