cython
12 строк · 286.0 Байт
1import math
2
3def great_circle(lon1, lat1, lon2, lat2):
4radius = 3956 # miles
5x = math.pi/180.0
6
7a = (90.0 - lat1)*x
8b = (90.0 - lat2)*x
9theta = (lon2 - lon1)*x
10c = math.acos(math.cos(a)*math.cos(b) + math.sin(a)*math.sin(b)*math.cos(theta))
11
12return radius*c
13