Exemplo n.º 1
0
def val_vegetariano(point):
    lat=point[0]
    lon=point[1]
    radio=1500
    item=("vegan restaurant","text")
    result=apiquery.importar_api_map(lat,lon,radio,item)
    # no hay vaganos o error en la consulta
    if isinstance(result,int):
        print(f'error en veganos, resultado de la consulta :{result}')
        return 0

   # no hay restaurantes venganos
    if len(result)==0:
        return 0
    
    puntos=[]
    [  puntos.append( ( e['lat'] , e['lng'] ) )    for e in result  ]
    
    distancias=[]
    [ distancias.append( f_haversine( point, e ) ) for e in puntos ]

    # si hay mas de dos retorna 1
    if len(distancias)>2:
        return 1
    else:
        return(1500 - min(distancias))/1500
Exemplo n.º 2
0
def val_basquet(point):
    lat=point[0]
    lon=point[1]
    radio=1500
    item=("basketball court","text")
    result=apiquery.importar_api_map(lat,lon,radio,item)
    # no hay canchas o error en la consulta
    if isinstance(result,int):
        print(f'error en basquet, resultado de la consulta :{result}')
        return 0

    # no hay canchas de baloncesto
    if len(result)==0:
        return 0
    
    puntos=[]
    [  puntos.append( ( e['lat'] , e['lng'] ) )    for e in result  ]
    
    distancias=[]
    [ distancias.append( f_haversine( point, e ) ) for e in puntos ]

    # si hay mas de dos retorna 1
    if len(distancias)>2:
        return 1
    else:
        return(1500 - min(distancias))/1500
Exemplo n.º 3
0
def val_party(point):
    lat=point[0]
    lon=point[1]
    radio=2000
    item=("night_club","type")
    result=apiquery.importar_api_map(lat,lon,radio,item)
    # no hay clubs o error en la consulta
    if isinstance(result,int):
        print(f'error en party, resultado de la consulta :{result}')
        return 0

    # no hay bares de copas
    if len(result)==0:
        return 0
    
    puntos=[]
    [  puntos.append( ( e['lat'] , e['lng'] ) )    for e in result  ]
    
    distancias=[]
    [ distancias.append( f_haversine( point, e ) ) for e in puntos ]

    if min(distancias)>550:
        return 0
    
    dist_550 = list(filter( lambda number: number<550,distancias))
    
    if len(dist_550)==0:
        return 0
    # segun la distancia y el número de bares
    if len(dist_550)>5:
        return 1
    else:
        return(550 - min(dist_550))/550
Exemplo n.º 4
0
def val_starbucks(point):
    lat=point[0]
    lon=point[1]
    radio=2000
    item=("starbucks","text")
    result=apiquery.importar_api_map(lat,lon,radio,item)
    # no hay starbucks o error en la consulta
    if isinstance(result,int):
        print(f'error en starbucks, resultado de la consulta :{result}')
        return 0

   # no hay starbucks
    if len(result)==0:
        return 0
    
    puntos=[]
    [  puntos.append( ( e['lat'] , e['lng'] ) )    for e in result  ]
    
    distancias=[]
    [ distancias.append( f_haversine( point, e ) ) for e in puntos ]

    if min(distancias)>550:
        return 0
    
    dist_550 = list(filter( lambda number: number<550,distancias))
    
    if len(dist_550)==0:
        return 0
    # las empresas que hay estan a menos de 2000 mt
    return (550 - min(dist_550))/550
Exemplo n.º 5
0
def val_kindergarden(point):
    lat=point[0]
    lon=point[1]
    radio=2000
    item=("kindergarden","text")
    result=apiquery.importar_api_map(lat,lon,radio,item)

    # no hay guarderias o error en la consulta
    if isinstance(result,int):
        print(f'error en kindergarde, resultado de la consulta :{result}')
        return 0

    if len(result)==0:
        return 0

    puntos=[]
    [  puntos.append( ( e['lat'] , e['lng'] ) )    for e in result  ]
    
    distancias=[]
    [ distancias.append( f_haversine( point, e ) ) for e in puntos ]

    if min(distancias)>3000:
        return 0
    
    dist_3000 = list(filter( lambda number: number<2000,distancias))
    
    if len(dist_3000)==0:
        return 0
    # las empresas que hay estan a menos de 2000 mt
    return (3000 - min(dist_3000))/3000
Exemplo n.º 6
0
def val_airport(point):
    lat=point[0]
    lon=point[1]
    radio=10000
    item=("airport","type")
    result=apiquery.importar_api_map(lat,lon,radio,item)
    # no hay aeropuertos o error en la consulta
    if isinstance(result,int):
        print(f'error en aeropuerto, resultado de la consulta :{result}')
        return 0

   # no hay aeropuertos 
    if len(result)==0:
        return 0
    
    puntos=[]
    [  puntos.append( ( e['lat'] , e['lng'] ) )    for e in result  ]
    
    distancias=[]
    [ distancias.append( f_haversine( point, e ) ) for e in puntos ]

    # segun lo cerca que quede el aeropuerto
    return (10000 - min(distancias))/10000