Descrición

Introducción 

En 2018 la compañía Uber creó una herramienta para poder visualizar información geoespacial y poder representar gráficamente miles de puntos de localización, así como trayectorias en un amplio rango temporal. Esta herramienta pasó a ser de dominio público bajo el nombre de KeplerGL y, a día de hoy, está disponible como código abierto para la realización de mapas de forma sencilla.  

KeplerGL permite representar información georreferenciada en un interfaz web sin necesidad de utilizar herramientas como ArcGIS o QGIS, o cualquier otro software que necesite de instalación en el ordenador o de complejas actualizaciones.  

KeplerGL ofrece una amplia variedad de formas de representación, desde los convencionales puntos o rectángulos a formas de clustering tipo hexagonal binning o mapas de calor, hasta sistemas de mallas más sofisticados como H3.  

Toda la gama de elementos gráficos viene con una serie muy completa de opciones de customización, tanto en el tamaño como en el color pasando por los rangos de valores. La propia cartografía de fondo que se utiliza para referenciar la información que queremos visualizar también dispone de todo un catálogo de opciones, entre los que se incluyen fondos claros, oscuros o imágenes satelitales del espectro visible.  

En este ejercicio visualizaremos información georreferenciada relacionada con la actividad sísmica de la erupción del volcán de la Palma en torno a septiembre de 2021. Esta información se vio reflejada de formas diversas en varias infografías en medios de comunicación de ámbito estatal, donde se geolocalizaban los epicentros de los terremotos tomando como referencia la isla de La Palma. En la Figura 1 observamos el mismo tipo de mapa, en el cual se superponen círculos a una cartografía de fondo, y donde el radio de los círculos es proporcional a la actividad sísmica. En este ejercicio aprenderemos a hacer mapas similares en contenido y en estilo de forma rápida e intuitiva gracias a KeplerGL. 

Mapa mostrado en  diversos medios de comunicación con los epicentros de la actividad sísmica previa a la erupción del volcán de la Palma. (a) Antena3, (b) Telemadrid, (c) La Vanguardia y (d) ElDiario.es

Figura 1: Mapa mostrado en  diversos medios de comunicación con los epicentros de la actividad sísmica previa a la erupción del volcán de la Palma. (a) Antena3, (b) Telemadrid, (c) La Vanguardia y (d) ElDiario.es 

El acceso al repositorio de Github y el notebook de Google Colab para realizar la lectura, selección de variables y criterios de filtrado para obtener un subconjunto de datos se puede realizar a través de los siguientes enlaces:

Accede al repositorio del laboratorio de datos en GitHub

Accede al notebook de Google Colab

Datos para el ejercicio 

En este ejercicio vamos a utilizar datos abiertos del Cabildo Insular de La Palma recopilados durante la actividad sísmica anterior y posterior a la erupción volcánica en La Palma en 2021, y que están disponibles aquí:  

https://datos.gob.es/es/catalogo/l03380010-terremotos

En este dataset encontramos el registro de cada uno de los puntos en los que se detectó actividad sísmica durante esos días, así como, entre otras, las siguientes métricas que caracterizan sus propiedades geológicas:  

Metrica Descripción
ID Identificador asociado a cada evento
Datetime Fecha y hora de cada evento
ErrTime Error asociado al tiempo de registro
RMS Root Mean Square del tiempo de propagación
Latitude Coordenada de latitud en grados
Longitude Coordenada de longitud en grados
Az Grado azimutal
Depth Profundidad del evento en kilómetros
ErrDepth Error asociado a la medida de la profundidad
Nsta Número de estaciones empleadas en medir el evento
Gap Mayor diferencia azimutal entre estaciones adyacentes
Author Organismo responsable de la medición
Magnitud Magnitud sísmica del evento
IntensMax Intensidad máxima del evento
Localización Localización
TipoMagnit Tipo de magnitud
XUTM Coordenada de longitud en el sistema UTM
YUTM Coordenada de latitud en el sistema UTM
GlobalID Identificador del evento

Para la creación del mapa nos centraremos en la variable asociada a la actividad sísmica: magnitud, así como la longitud y latitud de cada punto y la fecha y la hora de cada evento.  

Proceso de desarrollo

1. Acceso a la interfaz web

Como mencionábamos en la introducción, KeplerGL no necesita de instalación en el ordenador, sino que se accede a través de internet a su interfaz. Por lo tanto, lo primero que haremos  será abrir un navegador y acceder a la web de KeplerGL a través del dominio: 

https://kepler.gl/

Una vez en la página de inicio haremos click sobre Get Started para poder subir los datos y empezar a crear nuestro mapa.

Como vemos en la Figura 2, KeplerGL incluye otras opciones, como acceder a datos que estén almacenados en una base de datos o consultar directamente el código Github, especialmene útil para desarrolladores o para integrar KeplerGL dentro de otras aplicaciones. No obstante, en este caso nos centraremos en la opción más sencilla: la carga de nuestros datos directamente en la interfaz.  

Pantalla principal de KeplerGL donde se nos ofrece un ejemplo de visualización, así como la opción de empezar el proceso de creación de nuestro mapa.

Figura 2: Pantalla principal de KeplerGL donde se nos ofrece un ejemplo de visualización, así como la opción de empezar el proceso de creación de nuestro mapa.  

2. Carga de datos en la página

En la página de carga de datos tenemos el habitual cuadro de diálogo para poder subir nuestros datos. Como vemos en la Figura 3, KeplerGL acepta diferentes formatos:  

  • CSV: el tradicional formato con valores, generalmente separados por comas.  
  • JSON: alternativa al CSV con entradas estructuradas en formato de listas y objetos
  • GeoJSON: formas geométricas estructuradas como un JSON.  
  • Arrow: datos estructurados en columnas para la aplicación Apache Arrow.  
  • Parquet: formato en columnas para grandes cantidades de datos.  

 

Cuadro de dialogo para la carga de  archivos, ya sea mediante la selección desde el ordenador o arrastrándolos directamente al navegador.

Figura 3: Cuadro de dialogo para la carga de  archivos, ya sea mediante la selección desde el ordenador o arrastrándolos directamente al navegador.  

3. Visualización

KeplerGL nos permite representar la informacion geografica a través de varios elementos, como puntos, rejillas (grids), distribuciones en hexágonos, mapas de calor, así como proyectar todas estas formas en tres dimensiones. En la Figura 4 se detallan los diferentes tipos de visualización posibles que ofrece la herramienta.  

Opciones de visualización de la información georreferenciada, que incluye puntos, trayectorias, líneas, cuadros, hexágonos, polígonos, clusters, iconos, mapas de calor, celdas H3, tridimensional, viajes, celdas S2, vectorial y rasters.

Figura 4: Opciones de visualización de la información georreferenciada, que incluye puntos, trayectorias, líneas, cuadros, hexágonos, polígonos, clusters, iconos, mapas de calor, celdas H3, tridimensional, viajes, celdas S2, vectorial y rasters.  

A continuación vemos en detalle las características de las formas de visualización que podemos explorar con este conjunto de datos. 

3.1 Puntos

Dentro de los puntos podremos parametrizar las siguientes variables:  color del punto, borde del punto, magnitud adicional asociada al radio, dimensiones del radio, etiquetas, tooltip con información, interacción entre superposiciones o transparencia.

En la Figura 5 podemos observar la aplicación directa de la representación por puntos. KeplerGL identifica tanto la latitud como la longitud automáticamente para situar sobre el plano cada uno de los puntos. A partir de ahí dibuja un círculo con un radio determinado y asigna un color dependiendo de la intensidad de la magnitud.  

En el panel de control de la izquierda se puede controlar tanto el radio de los círculos como la paleta de colores, y aplicar las opciones que más nos gusten para representar la intensidad. El hecho de poder jugar con ambos parámetros nos permitiría añadir otro eje de información a la visualización. En este caso, por simplicidad, dejamos esta representación tal y como está, explorando únicamente el color. 

Mapa con los seísmos en la isla de La Palma representados por puntos. El color y el radio es proporcional a la magnitud del seísmo.

Figura  5: Mapa con los seísmos en la isla de La Palma representados por puntos. El color y el radio es proporcional a la magnitud del seísmo. 

3.2 Malla de puntos

De la misma forma que KeplerGL identifica la latitud y la longitud para situar los círculos, también es capaz de promediar los valores de magnitud en celdas. Dichas celdas pueden englobar uno o varios puntos, y KeplerGL asigna en consecuencia un color que representa su valor en base al valor promedio, como vemos en la Figura 6.

Al igual que en el caso de los puntos, el cuadro de diálogo de la izquierda permite cambiar la paleta de colores, aumentar o disminuir el tamaño de las celdas para promediar sobre áreas más extensas o reducidas. Igualmente, la escala de valores sobre la cual se basa la asignación de cada uno de los colores de la escala también está sujeta a su personalización, dependiendo del rango de valores que queramos destacar en la visualización. 

Mapa con los seísmos en la isla de La Palma representados por una malla. El color está asociado a la escala de magnitud del seísmo.

Figura 6: Mapa con los seísmos en la isla de La Palma representados por una malla. El color está asociado a la escala de magnitud del seísmo. 

3.3 Hexbin

Similar a la malla de celdas, hexbin es un acrónimo de hexagonal binning, es decir, promediado de valores sobre celdas con forma de hexágono. A diferencia de las celdas rectangulares, el empaquetamiento de celdas con forma de hexágono responde a estructuras más compactas,  similares a las que pueden observarse en la organización de  partículas o átomos en la formación de estructuras de estado sólido. 

El hexbin tiene las mismas propiedades que hemos visto en el caso de la malla de celdas, es decir, podemos cambiar el tamaño de la celda hexagonal para que ocupe una mayor superficie en su promedio, podemos cambiar igualmente la paleta de colores y también el rango de valores sobre el cual actúa cada intervalo de color. Un ejemplo del hexagonal binning se encuentra en la Figura 7. 

Mapa con los seísmos en la isla de La Palma representados por hexágonos. El color está asociado a la magnitud del seísmo y el hexágono agrega los puntos que cubre su extensión.

Figura 7: Mapa con los seísmos en la isla de La Palma representados por hexágonos. El color está asociado a la magnitud del seísmo y el hexágono agrega los puntos que cubre su extensión.

 

3.4 Heatmap

La última de las representaciones que veremos en el plano es el mapa de calor o heatmap, en su concepción en inglés. El heatmap no es más que un diagrama de contorno, donde cada curva de nivel corresponde a un intervalo determinado de valores. En el momento en el que el número de curvas de nivel es muy elevado obtenemos esa sensación de continuo que evoca al mapa de calor. 

En este caso, tanto la paleta de color elegida con su número de niveles como el radio sobre el cual se promedian los valores son personalizables a través de las opciones del menú de la izquierda. En la Figura 8 tenemos un ejemplo, donde la densidad de eventos aflora de forma natural con este tipo de representación.

Mapa con los seísmos en la isla de La Palma representados por un mapa de calor. El color está asociado a la densidad de eventos sísmicos.

Figura 8: Mapa con los seísmos en la isla de La Palma representados por un mapa de calor. El color está asociado a la densidad de eventos sísmicos. 

3.5 Tridimensionalidad

Por último, en la representación geográfica tenemos la posibilidad de utilizar el eje z, o eje vertical, para añadir o redundar información en esa dimensión. Para ello tenemos la opción denominada "Height" dentro del menú de la izquierda. La opción "Height" aplica tanto a círculos como a mallas de celdas, donde afecta al polígono que define cada una de las celdas. 

De esta forma, proyectamos en la vertical otra magnitud a nuestra elección,  que complementa aquella magnitud ya representada por el color de las celdas o círculos sobre el plano, tal y como ilustra la Figura 9. 

Mapa con los seísmos en la isla de La Palma representados por rectángulos. La altura y el color están asociados a la magnitud del seísmo.

Figura 9: Mapa con los seísmos en la isla de La Palma representados por rectángulos. La altura y el color están asociados a la magnitud del seísmo. 

3.6 Filtro Temporal

Como se puede ver en la Figura 10, en el menú superior de la izquierda encontramos una herramienta de gran utilidad como es el filtro de tiempo. Cuando, como en este caso, disponemos de información temporal de los eventos, a través del campo de fecha, podemos utilizar ese eje de información para filtrar la información que queremos representar y focalizar sobre aquellos días u horas de mayor interés para nuestro análisis y proyecto de visualización. 

La herramienta de filtro permite elegir la magnitud sobre la cual vamos a realizar la selección filtrada. Una vez elegida, se despliega en la parte inferior un histograma en el cual podemos ver a simple vista la distribución del número de puntos que se corresponden con cada fecha. En la Figura 10 podemos ver el histograma en la parte inferior. 

Esta herramienta permite no sólo seleccionar un día sino también un intervalo de tiempo. Deslizando ese intervalo de tiempo a lo largo del histograma nos permite, no sólo ver un determinado periodo de interés, sino también realizar una animación que desplace de forma automática ese intervalo de tiempo a lo largo de toda la serie temporal. 

Esta característica hace de este filtro una opción muy atractiva para poder crear en segundos lo que se conoce como storytelling, esto es, una animación fácil y muy intuitiva.  

Mapas con los seísmos en la isla de la Palma a través de puntos con un filtro temporal aplicado a toda la secuencia de datos en la parte inferior. El intervalo a media altura en el histograma especifica la longitud temporal.

Figura 10: Mapas con los seísmos en la isla de la Palma a través de puntos con un filtro temporal aplicado a toda la secuencia de datos en la parte inferior. El intervalo a media altura en el histograma especifica la longitud temporal.  

Como ejemplo de animación podemos ver en la Figura 11 un vídeo donde se muestra la herramienta del filtro y cómo la ventana que definimos va recorriendo el histograma. Esta animación se centra en los días anteriores y posteriores a la erupción del volcán el 19 de septiembre de 2021, así como toda la actividad sísmica que siguió a la erupción del volcán hasta entrado 2022.

El acceso al vídeo se puede realizar tanto a través de la miniatura de Youtube de la Figura 11 como a través de este enlace al canal de vídeos de datos.gob.es: 

Accede al vídeo de la actividad sísmica en KeplerGL

Figura 11: Secuencia de la actividad sísmica detectada antes, durante y después de la erupción volcánica en la isla de La Palma alrededor de septiembre de 2021.

3.7 Leyenda

Como se ilustra en la Figura 12, en el menú de la derecha tenemos diferentes opciones, tales como disponer la proyección cartográfica en tres dimensiones o, en la esquina inferior derecha, activar la aparición de una leyenda. 

La leyenda aparece asociada a la variable que hemos elegido para representar los puntos, en este caso, la magnitud. Los intervalos vienen predefinidos según los intervalos que hayamos definido cuando creamos los intervalos en la escala de color de los puntos.  

Leyenda del código de colores y valores utilizado para la representación por puntos, en sintonía con nuestras definiciones de intervalos en la configuración de la representación por puntos

Figura 12: Leyenda del código de colores y valores utilizado para la representación por puntos, en sintonía con nuestras definiciones de intervalos en la configuración de la representación por puntos.  

3.8 Cartografía de fondo

Dependiendo del evento que representemos en el mapa, es conveniente utilizar diferentes tipos de cartografías de fondo para una mejor comprensión del mensaje que se intenta transmitir a través de la visualización. Dependiendo de la audiencia y del contexto, la información que ofrece el mapa de fondo puede resultar más o menos útil. Si, como es en este caso, sólo queremos transmitir información geológica, su relevancia es menor. Si,  por el contrario, queremos describir también infraestructuras civiles que se puedan ver afectadas por los terremotos, será necesario incorporar una cartografía base. 

De esta forma, KeplerGL ofrece también toda una serie de cartografías de fondo, divididas mayormente en dos familias: las de fondo oscuro y las de fondo claro. Aquí conviene recordar que el ojo humano percibe mejor detalles pequeños sobre un fondo oscuro, e interpreta mejor formas grandes sobre fondo claro. En el caso de los terremotos y la escala a la cual los estamos representando, conviene utilizar un fondo oscuro, ya que seremos capaces de discernir con mejor precisión las distancias y los detalles. 

Para seleccionar los diferentes mapas de fondo iremos al icono situado en la parte superior del panel de la izquierda, y en el menú desplegable podremos elegir aquel que más nos convenga. En la Figura 13 se muestran los diferentes tipos de mapas. 

Diferentes cartografías de fondo en KeplerGL para la representación de la actividad sísmica en la isla de La Palma en septiembre de 2021: Positron (a), Satellite (b),  Voyager (c) y Light (d).

Figura 13: Diferentes cartografías de fondo en KeplerGL para la representación de la actividad sísmica en la isla de La Palma en septiembre de 2021: Positron (a), Satellite (b),  Voyager (c) y Light (d).

4. Exporta el mapa

Por último, una vez realizado nuestro mapa, podemos exportar el resultado a través del icono de descarga situado en la parte superior del menú de la izquierda. Una vez seleccionado ese icono podemos guardar el mapa como imagen. 

Las opciones que se nos ofrecen son: el tamaño mediante el ratio de la imagen respecto a sus dimensiones horizontales y verticales, la resolución ligada a ese ratio que hayamos seleccionado y la opción de incorporar una leyenda en la imagen de salida, tal y como muestra la Figura 14.  

Cuadro de diálogo para exportar el mapa como una imagen. Nótese la selección de la casilla de mostrar la leyenda, así como la selección de un formato panorámico con espacio para incorporar más adelante elementos infográficos en otros contenidos

Figura 14: Cuadro de diálogo para exportar el mapa como una imagen. Nótese la selección de la casilla de mostrar la leyenda, así como la selección de un formato panorámico con espacio para incorporar más adelante elementos infográficos en otros contenidos  

Adicionalmente existe la posibilidad de compartir el mapa con toda su interactividad a través del registro en Dropbox o en Carto, si la intención es la difusión del mapa a través de otros canales más allá de una imagen estática.

Lecciones aprendidas

En este ejercicio hemos aprendido a crear un mapa de forma sencilla e intuitiva con la ayuda de KeplerGL. En concreto hemos aprendido a:  

  • Subir un fichero a través del interfaz web de KeplerGL.  
  • Representar de diferentes maneras información georreferenciada.
  • Aprender a utilizar un filtro temporal sobre la serie de datos y crear una animación para su difusión como vídeo.
  • Añadir una leyenda y manejar los valores que refleja esa leyenda.
  • Customizar cada una de las formas de visualización al detalle.
  • Exportar el mapa resultante con un cierto grado de customización.

Conclusiones y próximos pasos

El mundo de la cartografía siempre ha necesitado de conocimientos previos sobre proyecciones, sistemas de referencia, formatos de datos georreferenciados  y sobre todo la instalación de software específico para crear mapas. Gracias al desarrollo de productos web uno de estos proyectos nos permite crear mapas de forma muy sencilla y puede suponer una herramienta muy potente a la hora de crear mapas sin necesidad de muchos conocimientos previos y con un alto grado de customización.  

A partir de este punto se pueden explorar herramientas más sofisticadas que requieren bien de conocimientos generales, bien de conocimientos de programación para poder realizar mapas con Leaflet o con D3.js, dependiendo de la audiencia y de la aplicación en la cual queremos encuadrar el mapa.  

Ámbitos de Aplicación

La creación de mapas sencillos tiene muchos campos de aplicación, ya que la cartografía en general resulta ser una de las formas de visualización más claras y populares gracias a su uso desde el origen de la civilización. Los ámbitos propuestos incluyen:

  • Redacciones de periodismo: reaccionar a eventos concretos tales como catástrofes naturales o grandes bases de datos de eventos georreferenciados puede ser más fácil gracias a herramientas como KeplerGL.
  • Corporaciones y empresas: localización de volúmenes asociados a puntos concretos de la geografía se puede leer de forma intuitiva con la creación de mapas que pueden resumir grandes cantidades de datos.  
  • Aplicaciones: Integrar mapas dentro de las aplicaciones suele ayudar tanto en las capas tanto de información como en la de interactividad para explorar el rendimiento y resultado de un producto a diferentes escalas.  

Comentarios