code: def load_oxts_packets_and_poses(oxts_files):
      
      # Scale for Mercator projection (from first lat value)
      scale = None
      # Origin of the global coordinate system (first GPS position)
      origin = None
  
      oxts = []
  
      for filename in oxts_files:
          with open(filename, 'r') as f:
              for line in f.readlines():
                  line = line.split()
                  # Last five entries are flags and counts
                  line[:-5] = [float(x) for x in line[:-5]]
                  line[-5:] = [int(float(x)) for x in line[-5:]]
  
                  packet = OxtsPacket(*line)
  
                  if scale is None:
                      scale = np.cos(packet.lat * np.pi / 180.)
  
                  R, t = pose_from_oxts_packet(packet, scale)
  
                  if origin is None:
                      origin = t
  
                  T_w_imu = transform_from_rot_trans(R, t - origin)
  
                  oxts.append(OxtsData(packet, T_w_imu))
  
      return oxts
docs: Generator to read OXTS ground truth data.
  
         Poses are given in an East-North-Up coordinate system 
         whose origin is the first GPS position.