Calculating new GPS point from angle and distance

Hi Guys, i'm new to the R community (so sorry if this isn't the right place to ask such a question).

I have decimal latitude, longitude GPS co-ordinates, an angle and a distance, and I am trying to find the GPS coordinates of the new point. However, the angle has not been calculated from a compass (or true north). For example:

The observer travels along a transect line and records sightings.As they came across an animal they would record the gps location of the current point, as well as the distance and angle of their location relative to vessel's centre line (0 degrees is the centre, looking perpendicular to the left is -90 and looking perpendicular to the right is 90).

I was wondering whether there was a code to calculate the new gps location. What I've found on google are formulas but using angle in relation to the north (e.g. 90 would be east, 180 south etc.). Here, the angle has nothing to do with North/South bearings, just the angle from the direction of the moving vehicle. Does that affect it at all?



Welcome to the RStudio community!

Sorry my first attempt at an answer failed so I removed the post to avoid confusion :slight_smile:

I'm not very good at geospacial analysis, but I think you can get it done with the destPoint function from the geosphere package

Although the argument b is the bearing and thus should be north if you want to be highly specific, I think if you set parameter b = 0 and f = 0 you can use any direction because f = 0 means you're working with a sphere and thus any set distance from any point will end up as the same result. This might be a bit inaccurate of course if you're working with very long distances, but since it's from a vehicle to an animal in sight that should be neligible.

Another post that gives you an approximation can be found here:

Take a look at the post underneath the solution as well, it's very good too.

Hope this helps,

Thanks for your response! The links have been really helpful!
I will try and play with the destPoint function and plot the points. thanks again

This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.