Time Stamped GPS Coordinates

Does anyone think it is possible to create an application in which a drone followed a specified set of GPS coordinates at specific times? For example, could I write an application to have the drone be at point x1 at time y1 and then be at point x2 at time y2. I am trying to simulate a satellite flight path so I need to sync up the GPS coordinates with specific times. I have already updated some code to take in a csv file with the GPS coordinates and times. I’m just not real sure how to proceed with integrating time into that.

1 Like

You could use a Delay Until in a Plan:

Is this delay until available in the API? I’ve never noticed in anywhere included with missionitems or anywhere else in the API calls. I’m going to be needing to program a lot of these so going through and setting it by hand in QGC is not really workable.

Seems like you might need to write a custom function. I can think of two possible variants of the function. The inputs and outputs of each are listed below.

Variant 1
With variant 1 you could simpy iterate over all the waypoints and call variant 1 function to get the departure time from the point of origin. Then use the departure time to calculate the “Hold” value presented by @DonLakeFlyer.


  • point of origin GPS coordinates
  • destination GPS coordinates
  • desired speed of travel
  • desired date/time to reach destination


  • date/time the craft should depart from origin, travelling to destination at the given speed

Variant 2
With variant 2 you would not need to use the “Delay Until” function proposed by @DonLakeFlyer. Instead, the speed of the craft could be dynamically altered to reach each destination GPS coord at the specified time. You would iterate over all of the waypoints calling the variant 2 function for each iteration.


  • point of origin GPS coordinates
  • destination GPS coordinates
  • date/time of departure
  • desired date/time of arrival


  • the speed at which the craft should travel from origin to destination

One thing I like about variant 2 is, if you call the variant 2 function upon arrival at each waypoint, it should dynamically adjust the speed required to make it to the next waypoint, adjusting for things like atmospheric conditions, and performance of the engines, and the like. In other words, if the craft makes it to the waypoit ahead or behind the predicted schedule the variant 2 function should adjust the speed, so the craft will make it to the next waypoint on time. You could also run the variant 2 function again while in route to make adjustments in speed along the way.


So great idea.
Which directory do I have to write a custom function?