I am supporting CandidateX

CandidateX is a startup that focuses on creating inclusion-focused hiring solutions, designed to increase access to job opportunities for underestimated talent. Check them out if you have a few minutes to spare. They need visibility!

Given a start point, a distance and a heading, it is possible to work out the resulting latitude and longitude. See the maths behind it here. See Radians Versus Degrees for the utility functions we are going to use in this calculation. There’s an example of a mashup using this at Urbarama mashup


The variables required to calculate a new lat/lon are:

  1. Origin Latitude and Longitude
  2. Heading in degrees from origin
  3. Distance in kilometers from origin

Together, they can be used to create the latitude and longitude of a new point like this


You will find this code in the google apps script mcpher library or in the downloadable cDataSet.xlsm (usefulStuff module), at this gist, and below

Excel formula version

You may of course want to do all this in an Excel formula. Here’s some data, in this case on Row 5.

new Latitude formula (cell e5)


new Longitude formula (cell f5)

=((B5*PI()/180)+ATAN2(COS(D5/6371)- SIN(A5*PI()/180)*SIN(ASIN(SIN(A5*PI()/180)*COS(D5/6371)+COS(A5*PI()/180)*SIN(D5/6371) *COS(C5))),SIN(C5)*SIN(D5/6371)*COS(A5*PI()/180)))*180/PI()

new latitude formula calling VBA function (cell g5)


new longitude formula calling VBA function (cell h5)


Take a look at One Liners for more tips like this. In the meantime why not join our forum, follow the blog or follow me on twitter to ensure you get updates when they are available.

You can download this example and all other code in the cDataSet.xlsm from Downloads

Formula attribution


For help and more information join our forum, follow the blog, follow me on twitter