This function uses the Vincenty direct algorithm to solve the "forward geodesic problem," which is the problem of computing the endpoint of a geodesic (shortest-distance) path on the ellipsoidal earth, given the start point, a path length, and a starting azimuth. This process is also called "reckoning."
In 1975, Vincenty published a rapidly converging algorithm for this calculation. Since then, his algorithm has since seen significant implementation in geodesy and engineering. The algorithm is precise to within a few millimeters. Please see code comments for references.
Michael Kleder, Nov 2007
Michael Kleder (2020). VRECKON: Find the endpoint of a geodesic on the ellipsoidal earth (https://www.mathworks.com/matlabcentral/fileexchange/17493-vreckon-find-the-endpoint-of-a-geodesic-on-the-ellipsoidal-earth), MATLAB Central File Exchange. Retrieved .
After trying for 3 hours to generate an artificial gps-track (the task for the students would be figuring out the speed given a csv with coordinates and timestamps), I came across this. Thank you very much, exactly what I needed.
Correction: commenting line 100 yields results in -180 to 180 convention
Awesome! Just what I needed! Thanks!
To illustrate my problem I have the following initial point latitude and longitude:
39° 44′ 42.41″N
105° 00′ 5.01″W
And the following distance (meters)
And the following bearing
Now when I send these values to the function you developed I get:
>> [x y] = vreckon(lat1, lon1, s, a12)
Could you perhaps provide some insight into this problem? It would be of great help for my project where accuracy is a issue. Thanks.
Very useful tool for evaluating Required Navigation Performance (RNP) algorithms.
Thank you Michael. I appreciate the work you are doing in this area.