title: Comparing/Clustering Trajectories (GPS data of (x,y) points) and Mining the data
body: <p>I've got 2 questions on analyzing a GPS dataset.</p>
  
  <p><strong>1) Extracting trajectories</strong> I have a huge database of recorded GPS coordinates of the form <code>(latitude, longitude, date-time)</code>. According to date-time values of consecutive records, I'm trying to extract all trajectories/paths followed by the person. For instance; say from time <code>M</code>, the <code>(x,y)</code> pairs are continuously changing up until time <code>N</code>. After <code>N</code>, the change in <code>(x,y)</code> pairs decrease, at which point I conclude that the path taken from time <code>M</code> to <code>N</code> can be called a trajectory. Is that a decent approach to follow when extracting trajectories? Are there any well-known approaches/methods/algorithms you can suggest? Are there any data structures or formats you would like to suggest me to maintain those points in an efficient manner? Perhaps, for each trajectory, figuring out the velocity and acceleration would be useful?</p>
  
  <p><strong>2) Mining the trajectories</strong> Once I have all the trajectories followed/paths taken, how can I compare/cluster them? I would like to know if the start or end points are similar, then how do the intermediate paths compare? </p>
  
  <p>How do I compare the 2 paths/routes and conclude if they are similar or not. Furthermore; how do I cluster similar paths together?</p>
  
  <p>I would highly appreciate it if you can point me to a research or something similar on this matter.</p>
  
  <p>The development will be in Python, but all kinds of library suggestions are welcome.</p>
  
  <p>Thanks in advance.</p>