Visualizar datos en un mapa usando CartoDB
Este artículo me había quedado en el tintero desde hace un tiempo, un poco impulsado por lo que ví en el Open Data Day Argentina, y otro poco por un artículo que habían publicado en el diario La Nación que utilizaba un mapa para mostrar la penetración de Internet en Argentina. La realidad es que la visualización de datos le puede aportar mucho a un artículo periodístico y por eso hice este tutorial, para que cualquiera aprenda como utilizar esta herramienta que permite generar mucho valor agregado a una nota.
Usar CartoDB para representar datos en un mapa
CartoDB es un servicio que simplifica la tarea de mostrar información en un mapa, se requieren 2 cosas básicas, una son los datos a graficar y la otra es el mapa en un formato que soporte CartoDB.
Los datos son lo que menos importa, cualquiera pueden conseguir datos con un par de búsquedas. Ahora, el mapa es lo que a veces resulta más complicado, pero por suerte pueden utilizar el mapa que creé a partir de uno que encontré en la web y al cual le agregue la representación según las normas ISO de las provincias argentinas, ya van a ver porque esto es importante.
Los datos
El primero paso es recolectar los datos, en este caso voy a usar datos sacados del Informe Indicativo de Salarios Docentes publicado en febrero de 2015, específicamente los datos pertenecientes al “cuadro 1” en la columna “sep-14”.
El procedimiento es sencillo, por tratarse de pocos datos simplemente se copian los datos de cada provincia y se pegan en la planilla de cálculos, en la fila que corresponde a la provincia, y en una columna dedica a dicha información. Es importante que la planilla tenga el nombre de la provincia y el código ISO, ya que este será necesario mas adelante. Si la necesitan, pueden descargar una planilla con los nombres de las provincias y el código ISO desde Google Drive.
Para preparar los datos elimino el punto mediante la función de Excel “Sustituir”. La función quedaría así:
sustituir(C2, “.”,””)
Con los nuevos resultados, vuelvo a correr la función “Sustituir”, ahora para reemplazar la coma por un punto, de modo que sea compatible con el formato numérico.
sustituir(D2, “,”,”.”)
Luego es cuestión de hacer lo mismo para cada celda, pueden hacerlo más rápido ubicándose en la esquina inferior derecha de la celda y arrastrando hasta la última fila. Ahora copian los resultados de la columna, seleccionan la columna con los datos originales y hacen clic derecho y eligen la opción “Pegado especial…” y luego la opción “Valores”.
Algo a tener en cuenta es que este procedimiento para preparar los datos se puede hacer de varias formas, esta es solo una de ellas. Además, se pueden usar las funciones de manera diferente, por ejemplo se puede llamar a la función “sustituir” y al resultado volver a aplicarle la función “sustituir” para evitar hacerlo en dos veces.
Así quedaría este combo digno de Mortal Combat.
=sustituir(sustituir(C2,”.”,””), “,”,”.”)
Ahora los datos limpios se guardan en formato CSV. En Excel es mediante “Archivo”, “Guardar Como…”, “Otros formatos” y en “Tipo” eligen CSV.
El último paso de esta sección consiste en importar los datos a CartoDB, esto es lo más sencillo. En la sección de “Datasets” hacen clic en el botón “NEW DATASET”, luego hacen clic en “SELECT A FILE” y seleccionan el archivo CSV que acaban de guardar ¿No entendiste? Don’t Worry, be happy, be happy porque acá abajo hay un vídeo que muestra rápidamente como limpiar los datos, guardar como CSV en Excel 2010 y como subir el archivo CSV a CartoDB.
Unir los datos con la representación gráfica de las provincias
Para la sección siguiente deben tener entre sus datasets el archivo CSV y el que corresponde con los datos geográficos de las provincias que mencioné anteriormente.
Lo primero que hay que hacer es acceder a uno de los 2 datasets, por ejemplo el de los datos de los salarios de las provincias, una vez que se abre la vista de datos hay que ir a “Edit” y seleccionar “Merge with dataset…”.
Ahora van a ver una ventana que se despliega y nos pregunta el tipo de operación, en este caso elegimos “Column Join”.
En el siguiente paso en la tabla de la izquierda se selecciona la columna “iso”, y en la que se encuentra a la derecha se selecciona la base de datos con la información geográfica y luego la columna “iso”. Esta era la razón por la que el código ISO era importante.
Si no entendieron no se preocupen, acá les va un vídeo, es muy sencillo a no desesperar.
La operación anterior lo que hace es unir ambas tablas por una columna que se indica, dando como resultado un tabla que incluye los datos de ambas.
Visualizando los datos
Luego de lo anterior ya tenemos todos los datos en una tabla, lo siguiente es representarlos gráficamente, para ello deben abrir la tabla que resulto de hacer el “merge” y dirigirse a la vista de mapa (“MAP VIEW”). Una vez en esta vista en el panel de opción de la derecha deben hacer clic sobre la opción “Wizard”, y se va a desplegar un menú con opciones.
En este caso utilizamos la visualización llamada “CHOROPLETH”, se utiliza debido a que son datos continuos y es un tipo de visualización ideal en estos casos, si fueran datos discretos deberían elegir la llamada “CATEGORY”.
Las opciones que vale la pena mencionar son “Buckets”, que define la cantidad de clases que se discretas que se generan para los datos. “Color Ramp” es la opacidad de la capa. “Polygon Stroke” define el ancho de los bordes. “Label Text” es el texto que se verá sobre cada provincia, se puede elegir entre algunos de las columnas de la tabla.
Por ultimo, para ir concluyendo lo ultimo que veremos es la “infowindow”, son las pequeñas ventanas que aparecen cuando se hace clic o se pasa el puntero del mouse sobre una zona.
En la parte de arriba de la configuración de “Infowindows” se puede ver que hay 2 tabs, una para configurar los datos a mostrar cuando se hace clic y la otra para configurar lo que se muestra al hacer “Hover” (cuando el puntero del mouse pasa por encima). El uso es sencillo, solo deben activar los datos que quieren que se muestren haciendo clic en la “perilla” que está a la derecha del nombre de cada columna de la tabla.
Para que vean el funcionamiento les dejo un pequeño vídeo que muestra lo que se puede hacer. Me disculpo por la calidad del audio pero no conseguí un micrófono como la gente.
Tengan en cuenta que CartoDB también permite modificar el CSS y otras opciones, por ejemplo para modificar los rangos del CHOROPLETH, pero para eso deben tener cierta idea sobre CSS y realmente está fuera del alcance de éste pequeño tutorial.
Publicar el mapa y añadirlo a un sitio web
Esta vez les prometo que estamos en el paso final, lo que deben hacer mientras están en la vista de edición del mapa ir a la parte superior derecha y hacer clic en “VISUALIZE”.
Luego ingresan un título para el mapa y hacen clic en “Create map”. Ahora que tienen el mapa en el mismo lugar donde estaba el botón “VISUALIZE” va a decir “SHARE”, clickean y van a ver 3 opciones, eligen la que necesitan, en el caso de que quieran incluir el mapa en un sitio web la opción es la del medio (“Embed it”).
Se acabaron las lagrimas y el sufrimiento.