title: Approximate and Interpolate GPS Trajectory
body: <p>I have a sequence of gps values each containing: <code>timestamp, latitude, longitude, n_sats, gps_speed, gps_direction, ...</code> (some subset of <a href="http://www.gpsinformation.org/dale/nmea.htm" rel="nofollow">NMEA data</a>). I'm not sure of what quality the direction and speed values are. Further, I cannot expect the sequence to be evenly spaced w.r.t. the timestamp. I want to get a smooth trajectory at an even time step.</p>
  
  <p>I've read the Kalman Filter is the tool of choice for such tasks. Is this indeed the case?</p>
  
  <p>I've found some implementations of the Kalman Filter for Python:</p>
  
  <ul>
  <li><a href="http://www.scipy.org/Cookbook/KalmanFiltering" rel="nofollow">http://www.scipy.org/Cookbook/KalmanFiltering</a></li>
  <li><a href="http://ascratchpad.blogspot.de/2010/03/kalman-filter-in-python.html" rel="nofollow">http://ascratchpad.blogspot.de/2010/03/kalman-filter-in-python.html</a></li>
  </ul>
  
  <p>These however appear to assume regularly spaced data, i.e. <em>iterations</em>. 
  What would it take to integrate support of irregularly spaced observations?</p>
  
  <p>One thing I could imagine is to repeat/adapt the prediction step to a time-based model. Can you recommend such a model for this application? Would it need to take into account the NMEA speed values?</p>