Hoy vamos a hablar sobre la generación de mapas interactivos con Python y la librería Folium. Python es un lenguaje de programación de alto nivel que es extremadamente popular en la comunidad de ciencias de datos. La librería Folium brinda una manera sencilla y rápida de visualizar datos geográficos en Python.
Instalación
Antes de empezar, debemos asegurarnos de tener la librería folium instalada. Podemos hacer esto mediante el uso del manejador de paquetes de Python3 pip. Basta con abrir nuestro terminal y tipear:
!pip3 install folium
Primeros pasos
Con la librería instalada, ahora podemos comenzar a trabajar. Lo primero que debemos hacer es importar la librería.
import folium
Para crear nuestro primer mapa, primero tenemos que crear un objeto mapa, que conocemos como mapa base, en la posición geográfica que deseamos. Esto lo logramos con el siguiente código:
mapa = folium.Map(location=[40.163000, -6.202000], zoom_start=6)
Donde location indica las coordenadas geográficas en (latitud, longitud) de donde queremos que comience nuestro mapa y zoom_start indica el nivel de zoom inicial (cuanto más alto sea, más cerca se enfocará el mapa).
Agregando puntos
Folium también nos permite agregar puntos de interés en nuestro mapa en forma de marcadores. Para agregar un marcador, podemos crear un objeto Marker y agregarlo utilizando el método add_child().
marcador = folium.Marker(location=[40.163000, -6.202000], popup='Marca1')
mapa.add_child(marcador)
Donde location especifica las coordenadas donde queremos que se ubique nuestro marcador y popup es un texto que se muestra cuando hacemos clic sobre el marcador.
Formas personalizadas
Podemos personalizar aún más nuestros marcadores utilizando diferentes formas, colores y tamaños. En este ejemplo, utilizamos un círculo de color rojo con un radio de 50 m.
marcadorCircular = folium.Circle(location=[40.163000, -6.202000], radius=50, color='red', fill=True, fill_color='red')
mapa.add_child(marcadorCircular)
Líneas y polígonos
Además de los marcadores, Folium también nos permite dibujar polígonos y líneas en nuestro mapa. Aquí hay un ejemplo para dibujar una línea recta de un punto a otro.
ruta = folium.PolyLine(locations=[(40.163000, -6.202000), (39.952583, -75.165222)], line_opacity = 0.5, line_weight = 5)
mapa.add_child(ruta)
Donde locations define una lista de coordenadas geográficas que se utilizan para dibujar la línea.
Capas base
La librería también nos permite cambiar las capas base de nuestro mapa, por ejemplo, podemos cambiar de Google Maps a OpenStreetMaps. Aquí hay un ejemplo de código para ello.
mapa = folium.Map(location=[40.163000, -6.202000], zoom_start=4, tiles="Stamen Terrain")
Del método tiles les mostrará el tipo de capa base. Algunos de los más comunes son: Stamen Toner, Stamen Watercolor, Mapbox Bright, OpenStreetMap, entre otros.
Elementos de control
Otra característica útil de Folium es la capacidad de agregar elementos de control, como leyendas y escalas de colores.
mapa.add_child(folium.LayerControl())
Estos elementos de control nos permiten activar/desactivar capas con múltiples mapas base y agregar leyendas interactuvas y personalizadas.
La librería Folium es una herramienta valiosa para la visualización de datos geográficos en Python en tiempo real. Esperamos que esta introducción les haya dado un buen punto de partida para comenzar a utilizarla en sus propios proyectos.
Si quieres explorar más sobre Folium y otras librerías de Python, te recomendamos revisar la págiona oficial de Folium.