pro ulf_read_gps, $ filepath ;open the data file: dat_fh = 1 openr, dat_fh, filepath, /get_lun ;open the data file ;read the GPS NMEA header ;example: ;$GPRMC,084222,A,7803.6598,N,01337.2191,E,0.000,0.0,310813,2.9,E*78 ;RMC recommended mimimum sentence C ;084222 fix taken at 08:24:22 ;A status: a active; v void ;7803.6598,N lat - 78 deg. 03.6598' N ;01337.2191,E lon - 13 deg. 37.2191' E ;0.000 speed ;0.0 track angle ;310813 date - 31 of August, 2013 ;2.9,E magnetic variation ;*78 checksum nmea_string = string('') readf, dat_fh, nmea_string point_lun, dat_fh, 0 print, nmea_string ;parse date, time, latitude, longitude from the NMEA string nmea_chars = strarr(strlen(nmea_string)) for i=0, strlen(nmea_string) - 1 do begin nmea_chars(i) = strmid(nmea_string, i, 1) endfor delim = where(nmea_chars eq ',') timestr = strmid(nmea_string, delim(0)+1, 6) datestr = strmid(nmea_string, delim(8)+1, 6) print, datestr + ' ' + timestr end