
OpenStreetMap: Una excelente forma de conocer tu casa
Google Maps es, posiblemente, la mejor herramienta para conocer qué hay cerca de tu departamento o casa. Sin embargo, no está diseñado para realizar consultas masivas a cientos de ubicaciones al mismo tiempo, a menos que utilices su API, la cual tiene un costo por solicitud según la cantidad de consultas (un free trial).
Como alternativa, existe OpenStreetMap (OSM), un proyecto open-source basado en datos colaborativos, similar a Wikipedia, que es constantemente actualizado por la comunidad. Gracias a esto, se convierte en una excelente fuente de información para resolver este tipo de problemas de manera gratuita y flexible.
En la comunidad de Python existe una librería llamada overpy
, que permite conectarse a OpenStreetMap y, con solo una latitud, longitud y distancia, extraer todos los servicios (amenities) cercanos a un punto determinado.
¿Cómo instalarla?
Su instalación es sencilla para Python >= 3.6:
1pip install overpy
Luego, simplemente se importa en tu script:
1codigo: import overpy
¿Cómo utilizarla?
Con una latitud, longitud y distancia (en metros), podemos obtener todos los servicios cercanos:
1def get_amenities_from_point(lat, lon, distancia):23 api = overpy.Overpass()45 input_df = pd.DataFrame({"lat": [lat], "lon": [lon]})6 input_latlons = ",".join(input_df.to_numpy().flatten().astype("str"))78 overpass_query = f"""9 [out:json][timeout:500];10 (11 nwr["amenity"](around:{distancia},{input_latlons});12 (._;>;);13 );14 out center;15 """1617 result = api.query(overpass_query)18 result_df = pd.json_normalize(map(vars, result.nodes)) \19 .drop(columns=["_result"]) \20 .rename(columns={"tags.name": "name"}) \21 .dropna(subset=['name']) \22 .reset_index(drop=True)2324 # Normalize result to DataFrame25 return result_df
Por ejemplo, si consultamos usando las coordenadas del Metro Manuel Montt, obtendremos un listado con los negocios y servicios cercanos a esa estación.
Esto lo podemos observa en la siguiente imagen:

¿Por qué es útil esta información?
Los servicios cercanos a una vivienda son un factor clave para determinar su valor o atractivo de arriendo. Departamentos ubicados cerca de colegios, bancos, estaciones de metro o centros comerciales suelen ser más demandados, lo que incrementa su plusvalía.
Por eso, antes de arrendar o comprar una propiedad, siempre es recomendable investigar qué servicios tienes alrededor.
El repositorio de este código es el siguiente: Github .