# ==============================================================
# 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)