Kepler.gl de Mapbox: mapas interactivos y visualización de datos

kepler gl mapbox mapas analisis datos

En esta entrada vamos a mostrar qué és kepler.gl, la herramienta open source de Mapbox y Uber orientada a location intelligence, visualización y análisis de datos espaciales sobre mapas interactivos.

La última apuesta de Mapbox es una magnífica herramienta gratuita e intuitiva para construir mapas web que integra grandes capacidades para análisis y visualización de datos espaciales, una buena interactividad con el usuario y opciones de integración con aplicaciones web JavaScript y plataformas cloud.

¿Qué es kepler gl?

El ecosistema de soluciones para webmapping y geotecnologías orientadas al desarrollo de aplicaciones para análisis y visualización de datos espaciales no para de crecer y es cada vez más heterogéneo.

Logo de la plataforma kepler.gl

En otro post ya hablamos acerca de las principales plataformas y librerías orientadas al webmapping y la visualización de información geográfica. Puedes revisarlo para conocer las diferentes opciones Open Source y plataformas SaaS para mapas web y visualización de datos espaciales.

Pues bien, en cierto modo Kepler.gl viene a sumarse a ese nutrido grupo de soluciones apostando, a grandes rasgos, por 3 puntos clave:

  1. Facilidad de construcción de increíbles visualizaciones de datos sobre mapas interactivos en la web, en una plataforma muy bien diseñada y con una experiencia de usuario notable.
  2. La apuesta por el Open Source, siendo a su vez respaldado por grandes corporaciones como Uber y Mapbox.
  3. Integración con otros productos y plataformas de terceros como (¡atención!) CARTO, así como con frameworks JavaScript como React y Redux para integrar el mapa en una aplicación a modo de componente.

A modo de resumen, podríamos decir que kepler.gl es una herramienta compuesta por una plataforma para construir visualizaciones de información geográfica de manera rápida, fácil, intuitiva, con buenos resultados gráficos y una gran interacción con el usuario.

Kepler.gl es la apuesta open source de Mapbox y Uber para análisis y visualización de datos sobre mapas web.

Permite trabajar con grandes volúmenes de datos al estar construida sobre los frameworks Mapbox GL y deck.gl de Uber. Además, facilita la integración con otras plataformas para compartir mapas y conjuntos de datos espaciales.

Uso de la plataforma kepler.gl

Con kepler.gl construir visualizaciones de datos es tanto o más fácil que con un GIS de escritorio. De hecho la metodología es la misma y es realmente intuitivo:

Básicamente deberemos realizar 4 pasos:

  1. Cargar o definir orígenes de datos.
  2. Añadir nuevas capas de información y simbolizarlas.
  3. Aplicar filtros y opciones de interacción.
  4. Exportar y compartir datos y mapas.

Interfaz de kepler.gl: menús y herramientas

La herramienta de kepler.gl es un visor que se compone básicamente de un lienzo de mapa a toda pantalla junto con un menú lateral izquierdo flotante que puede esconderse o ampliarse.

Vista del espacio de trabajo de la plataforma kepler.gl de Mapbox

En ese menú lateral podremos realizar todas las acciones de carga, simbolización y personalización de la visualización de los datos sobre el mapa.

Junto al logo de kepler.gl en el menú, encontramos una serie de botones que hacen referencia a:

Menú principal de kepler.gl para acceder a opciones de configuración del visor, las capas y los datasets cargados en la plataforma.

Asimismo, el menú lateral izquierdo contiene diversas pestañas que se muestran en la imagen. De izquierda a derecha:

Encontraremos también una serie de botones en el lateral derecho de la aplicación que permiten lo siguiente:

Cargar datos en kepler.gl

Las opciones para realizar la carga de información geográfica en kepler.gl pasa por las siguientes opciones:

Kepler.gl permite cargar datos de distintos orígenes, e incluso de otras plataformas cloud y SaaS como CARTO.
  1. Subir datos locales desde nuestro ordenador en formato CSV, KML, JSON o GeoJSON.
  2. Cargar datos o mapas desde una URL externa.
  3. Cargar datos desde plataforma externa como Dropbox o CARTO. Deberemos estar registrados con un usuario y loguearnos para acceder a esta integración.
  4. Cargar un conjunto de datos de kepler.gl predefinidos de entre todos los disponibles.

Para cargar un dataset deberemos dirigirnos al botón Add Data. No obstante, si no tenemos cargado ningún origen de datos inicialmente nos aparecerá un diálogo para añadirlo.

Podemos renombrar, eliminar y mostrar la tabla del dataset cargado en kepler.gl

Sobre el dataset, una vez hayamos cargado el origen de datos, podremos mostrar la tabla de atributos del mismo y eliminarlo si así lo deseamos.

Vista de la tabla y sus atributos para el dataset seleccionado en kepler.gl

Añadir nuevas capas y personalizar la simbología

Una vez cargadas las fuentes de datos podremos crear una nueva capa en base a esos datos. Desde el panel lateral izquierdo podremos gestionar las opciones de añadir, personalizar, activar/desactivar, renombrar, reorganizar y también eliminar capas creadas.

En el menú lateral de gestión de capas de kepler.gl podremos añadir nuevas capas en base a los datasets cargados. Igualmente, podremos realizar otras acciones sobre las capas cargadas.

En primer lugar deberemos hacer clic en el botón de añadir capa (Add layer) para crear una nueva capa. Podremos especificar su nombre y deberemos escoger el tipo de simbología a aplicar. Básicamente contamos con las siguientes que se muestran en la imagen:

Posteriormente, podremos modificar las rampas de color sobre los datos representados, así como la magnitud y la variable que la controle para representar la escala.

Cabe decir que cada tipo de símbolo cuenta con sus propias opciones de personalización para adecuar la correcta visualización de los datos.

Configuración de filtros según tipos de datos

Las opciones de filtro e interacción permiten establecer opciones de visualización con ciertas restricciones sobre nuestros datos y, a su vez, modificar ciertos aspectos para mejorar la experiencia de usuario mediante la interacción de éste con el mapa.

En la pestaña filtros podremos seleccionar opciones avanzadas de visualización sobre las capas cargadas y en base a uno de los campos o atributos de nuestros datos.

Cada tipo de campo tiene su propio filtro. De este modo podremos “afinar” los datos que queremos mostrar u ocultar en base a cada uno de los campos que definan la tabla.

Es importante destacar que los filtros establecidos se aplican directamente sobre el dataset, no sobre la capa o capas configuradas. Así, si tenemos diversas capas representadas haciendo uso de un único dataset, cualquier filtro empleado afectará a todas las capas.

Opciones de interacción configurables en kepler.gl

Por otro lado, en la tercera pestaña tenemos la opción de control de las interacciones con el usuario. Desde aquí podremos modificar 3 tipos de configuraciones.

En primer lugar encontramos la opción de activación y desactivación para que se muestren las coordenadas en cualquier lugar del mapa mientras nos desplazamos.

En segundo lugar podemos configurar el tooltip, que permite seleccionar aquellos atributos que deseamos mostraran al seleccionar cualquier elemento representado en el mapa. De este modo, se crea un pop-up que muestra los atributos correspondientes que hayamos añadido para ser visualizados.

Finalmente tenemos la opción de la herramienta brush, que permite configurar un radio de visualización de los datos. Al activarlo, se mostrarán únicamente los elementos existentes en el mapa que estén situados a una distancia igual o menor a la especificada respecto donde se sitúe el puntero del ratón.

Esta característica ofrece una opción de visualización interesante para determinados tipos de simbología porque aísla información para su análisis basado en un buffer de distancia, ocultando los demás objetos fuera del rango especificado.

Modificación del mapa base de Mapbox

Podremos modificar el mapa base a mostrar desde la cuarta pestaña del menú lateral. Desde aquí podremos escoger entre diversas predefinidas tanto claras como oscuras, basadas en vector tiles de Mapbox, así como una imagen de satélite.

Podemos modificar el basemap del mapa con estilos de Mapbox predefinidos o añadir nuestro propio estilo para vector tiles de Mapbox Studio.

Asimismo, podremos modificar qué elementos queremos mostrar u ocultar, aunque de manera bastante limitada. También podremos activar o desactivar los edificios en 3D y modificar su color si nos interesa.

Finalmente, tendremos disponible la opción de cargar nuestros propios estilos de vector tiles que hayamos creado con Mapbox Studio.

Activación y control del mapa dual en kepler.gl

La activación del doble mapa es accesible desde los botones del lateral derecho. Esta opción permite dividir la pantalla del visor en dos mitades para mostrar dos mapas distintos sincronizados.

Es decir, el bounding box y la escala será la misma en los dos mapas, pero podremos activar o desactivar ciertas capas en cada uno de ellos para poder navegar y comparar la información contenida en ambos.

Activación y visualización del mapa 3D

El mapa en 3D nos permite visualizar datos que permitan una extracción geométrica en la coordenada Z en base a alguno de sus campos.

Asimismo, si tenemos activados los edificios en 3D también podremos visualizarlos en perspectiva.

El control del mapa tridimiensional y su perspectiva puede realizarse mediante la tecla control del teclado y utilizando el ratón para navegar, rotar y desplazarse por la escena.

Dibujar elementos sobre el mapa

La última opción disponible en los botones del visor es la capacidad de dibujar áreas poligonales rectangulares y libres sobre el lienzo del mapa.

Estas áreas resaltadas quedarán fijadas al mapa y podrán imprimirse posteriormente si es de nuestro interés. También pueden desactivarse para que no se muestren en el mapa ni la impresión.

Exportar o compartir el mapa desde kepler.gl

Una vez configurado nuestra visualización sobre el mapa en kepler.gl, a la hora de exportar y poder compartir nuestro mapa tendremos diversas opciones.

Las más interesantes, sin embargo, requieren del uso de un token de Mapbox o bien de un usuario registrado en CARTO o Dropbox como almacenamientos en la nube.

En los botones superiores del menú superior encontramos:

La opción de cloud storage permite guardar nuestro mapa en cuentas de Dropbox y CARTO, introduciendo un nombre y descripción.

Por otro lado, en la opción de export se nos presentan diversas alternativas:

¿Kepler.gl como alternativa a CARTO?

CARTO destaca por su capacidad de análisis de datos y la diversidad de productos que tiene. Además es una plataforma claramente más desarrollada y avanzada, orientada a importantes clientes y a soluciones tanto genéricas como personalizadas de visualización, análisis e integración de datos potente y reconocida.

Kepler, que cuenta con una menor cantidad de opciones de análisis y personalización, por su parte destaca en su facilidad de uso y los buenos resultados en el renderizado. No obstante, ofrece muchos menos plugins, no cuenta con motor de análisis de datos y tampoco se integra con funcionalidades de consultas SQL como sí hace CARTO.

Logo de CARTO: la plataforma SaaS de web mapping y análisis de datos espaciales más consolidada del mercado.

Si bien se trata de un producto que permite realizar visualizaciones de datos con más que buenos resultados y en cierto modo parece intentar aproximarse a CARTO Builder, las pretensiones (hasta el momento) son menores.

Además, kepler.gl es una solución Open Source de Mapbox, una compañía que apuesta más por el desarrollo de soluciones para la construcción de aplicaciones de location intelligence, navegación y conducción de vehículos autónomos y VR o realidad aumentada.

Sin embargo, la apuesta de ambas compañías por su integración parece firme. En el siguiente vídeo puedes ver cómo funciona la integración entre CARTO y Kepler.gl para facilitar el trabajo mediante ambas plataformas:

La realidad es que CARTO cuenta con conectores directos e integraciones con multitud de plataformas y orígenes de datos más alla de Mapbox, desde ESRI, Dropbox, Google, pasando por Microsoft o Amazon, hasta PostgreSQL, QGIS, Tableau o Salesforce entre otros.

Así pues, parece que ambos productos vienen a convivir más que a competir.

Salir de la versión móvil