import math PI = math.pi sin = math.sin cos = math.cos sqrt = math.sqrt asin = math.asin def deg2rad(degrees): return(degrees * PI / 180.0) def rad2deg(radians): return(radians * 180.0 / PI) def sqr(num): return(num * num) #def distance(latitude_1, longitude_1, latitude_2, longitude_2): def distance(pos0, pos1): #(latitude_1, longitude_1) = pos0 #(latitude_2, longitude_2) = pos1 (longitude_1, latitude_1) = pos0 (longitude_2, latitude_2) = pos1 if (latitude_1 == latitude_2) and (longitude_1 == longitude_2): return(0.0) cos_latitude1 = cos (deg2rad (latitude_1)) sin_latitude1 = sin (deg2rad (latitude_1)) cos_latitude2 = cos (deg2rad (latitude_2)) sin_latitude2 = sin (deg2rad (latitude_2)) sin_hdlatitude = sin (deg2rad (0.5 * (latitude_1 - latitude_2))) sin_hdlongitude = sin (deg2rad (0.5 * (longitude_1 - longitude_2))) sin_dlongitude = sin (deg2rad (longitude_1 - longitude_2)) sin_hdist_sq = sqr (sin_hdlatitude) + cos_latitude1 * cos_latitude2 * sqr (sin_hdlongitude) distance_rad = 2.0 * asin (sqrt (sin_hdist_sq)) return(60.0 * rad2deg (distance_rad))