Calculate Great Circle Distance

# ============================================================== # Given two latitude/longitude points on a sphere, # calculate the great circle distance # ============================================================== # From: geeksforgeeks.org/program-distance-two-points-earth # ============================================================== from math import pi, radians, cos, sin, asin, sqrt # -------------------------------------------------------------- # calculate the great circle distance # -------------------------------------------------------------- def great_circle_distance(radius,lat1,lon1,lat2,lon2): # ---- convert degrees to radians lat1 = radians(lat1) lon1 = radians(lon1) lat2 = radians(lat2) lon2 = radians(lon2) # ---- Haversine formula dlat = lat2 - lat1 dlon = lon2 - lon1 a = sin(dlat/2)**2 + cos(lat1) * cos(lat2) * sin(dlon /2)**2 c = 2 * asin(sqrt(a)) return (c * radius)