Welcome, guest! Login / Register - Why register?
Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)

Paste

Pasted as Python by Timur ( 5 years ago )
from math import radians, cos, sin, asin, sqrt
from datetime import datetime as dt
def haversine(coords_1, coords_2):
    """
    Calculate the great circle distance in kilometers between two points 
    on the earth (specified in decimal degrees)
    """
    lon1, lat1 = coords_1
    lon2, lat2 = coords_2
    lon1, lat1, lon2, lat2 = map(radians, [lon1, lat1, lon2, lat2])
    dlon = lon2 - lon1 
    dlat = lat2 - lat1 
    a = sin(dlat/2)**2 + cos(lat1) * cos(lat2) * sin(dlon/2)**2
    c = 2 * asin(sqrt(a)) 
    r = 6371
    return c * r
coords_1 = [37.524768467992544, 55.88785375468433]
coords_2 = [37.52415172755718, 55.88807155843824]
enter_time = dt.strptime('20171022T131820.842000', '%Y%m%dT%H%M%S.%f')
leave_time = dt.strptime('20171022T131828.330000', '%Y%m%dT%H%M%S.%f')
print(haversine(coords_1, coords_2) / ((leave_time - enter_time).total_seconds() / (60*60)))
>>> 21.85089260876367

 

Revise this Paste

Your Name: Code Language: