Cómo crear un mapa 3D con mapbox y KNIME
Últimamente estoy explorando cómo crear un mapa 3D con mapbox y automatizar ciertas tareas con KNIME para visualizar datos geolocalizados. El objetivo es procesar miles de puntos GPS y dotarlos de información de elevación sin escribir una sola línea de código.
El Reto y los Datos de Partida
Como entusiasta del Camino de Santiago, quería visualizar la orografía completa de las rutas peninsulares. Para ello, utilicé:
- GPX del CNIG: 1.015 archivos individuales con las etapas de todos los Caminos.
- KNIME: Para la unificación de datos y enriquecimiento (ETL).
El Problema: Datos de Elevación Incompletos
Al unificar los más de 398.000 puntos GPS, descubrí que muchos carecían de datos de elevación. Para solucionarlo, utilicé la API de Open-Elevation.
Implementación en KNIME
Diseñé un flujo de trabajo que automatiza las consultas a la API:
- Filtrado: Identificación de puntos con elevación nula o errores.
- Chunking: Agrupación en bloques de 1.000 puntos para optimizar las peticiones POST.
- Petición API: Uso de nodos
POST RequestyJSON Row Combinerpara obtener los datos en menos de 4 minutos.

Visualización y Mapbox Studio
Una vez enriquecidos los datos, el siguiente paso fue el renderizado 3D en Mapbox Studio:
- Tileset: Importación del CSV con latitud, longitud y la nueva columna de elevación.
- Style: Creación de un mapa con la capa “Terrain 3D”.
- Data-driven Styling: Ajuste del color de los puntos en función de su altura sobre el nivel del mar.

Integración en la Web
Para embeber el mapa e incluir interactividad (pop-ups al hacer click), utilicé el SDK de Mapbox GL JS. Aquí un resumen del código necesario:
mapboxgl.accessToken = 'TU_TOKEN';
const map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/tu-usuario/tu-estilo',
center: [-8.324828, 42.566433],
zoom: 7.1
});
map.on('click', 'capa-de-puntos', (e) => {
new mapboxgl.Popup()
.setLngLat(e.features[0].geometry.coordinates)
.setText(e.features[0].properties.description)
.addTo(map);
});
Conclusión
Este proyecto demuestra que la combinación de herramientas No-Code como KNIME y servicios potentes como Mapbox permite crear visualizaciones de datos profesionales sin necesidad de ser desarrollador de software.
Puedes descargar el flujo de trabajo completo desde el Hub de KNIME.