Ciber Geek > Como > Visualizar datos en un mapa usando CartoDB

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.

limpiar datos en excel

Planilla de Excel

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…”.

cartodb merge datasets

CartoDB Merge datasets

Ahora van a ver una ventana que se despliega y nos pregunta el tipo de operación, en este caso elegimos “Column Join”.

cartodb column join

Column Join (Unir por columnas)

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.

merge datasets cartodb

Mergeando /castellanizando términos

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.

cartodb wizard estilo

Acá está lo bueno

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”.

choropleth visualizacion cartodb

Configuración del Choropleth

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.

cartodb infowindow

Infowindows, ideales para mostrar mas datos

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”.

crear mapa cartodb

Creando el mapa

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.