Skip to content

Instantly share code, notes, and snippets.

@paulbrittain
Last active January 25, 2018 18:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save paulbrittain/baaafb11af2dd4bacc2a5fb270b0a93c to your computer and use it in GitHub Desktop.
Save paulbrittain/baaafb11af2dd4bacc2a5fb270b0a93c to your computer and use it in GitHub Desktop.
Haversine great-circle distance computational formula in Python
from math import sin, cos, sqrt, radians, atan2
def calculate_distance_between(input_longitude1, input_latitude1, input_longitude2, input_latitude2):
earth_radius = 6371.0
input_longitude1 = radians(input_longitude1)
input_latitude1 = radians(input_latitude1)
input_longitude2 = radians(input_longitude2)
input_latitude2 = radians(input_latitude2)
diff_longitude = abs(input_longitude2 - input_longitude1)
diff_latitude = abs(input_latitude2 - input_latitude1)
k = pow(sin(diff_latitude / 2), 2) + cos(input_latitude1) * cos(input_latitude2) * pow(sin(diff_longitude / 2), 2)
diff_sigma = 2 * atan2(sqrt(k), sqrt(1 - k))
# Output in kilometers
return earth_radius * diff_sigma
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment