I have two database tables containing individual lat-long records of vessels moving around in waters for a given time period:

  • Database A contains a set of records of a particular type of vessel that engages in a range of activities
  • Database B contains a set of records of all types of vessels moving around in a particular area of interest

The objective of this analysis is to find the distribution of the time taken in undertaking a certain activity for the vessels in database A.

I have to make a few operational assumptions that take place in reality for this particular activity, but in essence, the matching that I would like to execute between these two datasets would be based on the two key criteria between two vessels in database A and B:

  1. Coinciding GPS paths
  2. Same time frame

I have attempted to look through at a few other map matching questions and answers but the proposed solutions appear to revolve around methods that do not take into consideration the factor of time, (i.e. I require the paths of two vessels to coincide at the same time) and that the GPS paths needed to be matched solely on coinciding paths (with some degree of inaccuracy to be allowed in the GPS coordinates).

The ideal output of this analysis would be a list of vessels from database A that has "matched" with a vessel from database B for a particular time frame (starting time and ending time as two columns), the starting and ending lat-long locations (the coordinates where their paths begin coinciding, and the coordinates their paths diverge).

The recording frequency of each vessel's records depends on the speed the vessel is traveling in the waters. Higher travel speeds would result in a higher frequency of records. This means that the recording does not take place in regular intervals, and the time would need to be matched within specific time frames.

As I am really new to using GIS in solving the above issues, I might not be aware of all the correct terminology I should be using in referencing my data or any specific methodology in problem solving in this field. Please excuse me, and let me know if any details have been missed out, or if anything is not clear enough.

I am platform agnostic in finding a solution to these, so please do point me in the right direction should there be something already available in QGIS/Python etc.

  • I don't know if you can do this task without a script, but it depends on the format of your input data: can you provide a sample file, or a deeper explanation of how you want to reach this result (with a given example)?
    – mgri
    Dec 29, 2016 at 10:04


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.