Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit d13809e

Browse files
author
Amogh Singhal
authored
Create haversine.py
1 parent dcc2353 commit d13809e

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

‎haversine.py‎

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
from math import radians, cos, sin, asin, sqrt
2+
3+
def haversine(lon1, lat1, lon2, lat2):
4+
"""
5+
Calculate the great circle distance between two points
6+
on the earth (specified in decimal degrees)
7+
"""
8+
# convert decimal degrees to radians
9+
lon1, lat1, lon2, lat2 = map(radians, [lon1, lat1, lon2, lat2])
10+
11+
# haversine formula
12+
dlon = lon2 - lon1
13+
dlat = lat2 - lat1
14+
a = sin(dlat/2)**2 + cos(lat1) * cos(lat2) * sin(dlon/2)**2
15+
c = 2 * asin(sqrt(a))
16+
r = 6371 # Radius of earth in kilometers. Use 3956 for miles
17+
return c * r

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /