Skip to content

Instantly share code, notes, and snippets.

@irachex
Last active December 10, 2015 13:48
Show Gist options
  • Save irachex/4442975 to your computer and use it in GitHub Desktop.
Save irachex/4442975 to your computer and use it in GitHub Desktop.
calculate distance between two latitude-longitude points. using Haversine formula http://en.wikipedia.org/wiki/Haversine_formula
getDistanceFromLatLonInKm = (lat1, lon1, lat2, lon2)->
R = 6371 # Radius of the earth in km
dLat = deg2rad(lat2 - lat1) # deg2rad below
dLon = deg2rad(lon2 - lon1)
a = Math.sin(dLat/2) * Math.sin(dLat/2) +
Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2)) *
Math.sin(dLon/2) * Math.sin(dLon/2)
c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a))
d = R * c # Distance in km
return d
deg2rad = (deg)->
deg * (Math.PI / 180)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment