Find the closest latitude and longitude

前端 未结 3 1657
情深已故
情深已故 2020-12-08 03:05

I\'m writing a small program and to improve efficiency, I need to be able to find the closest latitude and longitude in my array.

Assume you have the following code:

3条回答
  •  星月不相逢
    2020-12-08 04:07

    if earth is plane,

    from itertools import combinations
    from math import sqrt
    
    coords = [{'lat': 39.7612992 , 'lon': -86.1519681}, 
                    {"lat": 39.762241, "lon": -86.158436}, 
                    {"lat": 39.7622292, "lon": -86.1578917}]
    
    
    def euclidean(l1, l2):
        return ((l1[0]**2)-(l2[0]**2)) + ((l1[1]**2)-(l2[1]**2)) 
    
    pairs = [j for j in combinations([i.values() for i in coords], 2)]
    pairs.sort(key= lambda x: euclidean(*x))
    print pairs[-1]
    

提交回复
热议问题