Esempio n. 1
0
def nearest_stop_on_route(route, location):
    stops = get_stops()
Esempio n. 2
0
    return dist

"""
get_nearest_stop(location)
Gets the stop that is nearest to a given location,
constrained by the list of active routes.

Parameters:
    - location: a (lat,lng) tuple

Returns:
    - a stop dictionary
"""
def get_nearest_stop(location):
    routes = get_routes()
    stops = get_stops()
    min_dist = -1
    min_stop = {}

    # Intersect with North, South, East, Central

    if not routes:
        return None

    for stop in stops:
        if list(set(stop['routes']) & set(list(routes[n]['route_id'] for n in range(len(routes))))):
            stop_loc = (stop['location']['lat'], stop['location']['lng'])
            dist = lat_lng_dist(location, stop_loc)
            if min_dist < 0 or dist < min_dist:
                min_dist = dist
                min_stop = stop