Cesium es una plataforma para crear mapas web en 3D en un navegador web.
Los datos 3D se recopilan a velocidades asombrosas. Los satélites, los vehículos terrestres y los drones recopilan información en 3D constantemente. Sin embargo, estos datos siguen siendo difíciles de usar. Cesium es una plataforma de extremo a extremo que facilita que los desarrolladores visualicen, analicen y compartan contenido 3D. Cesium es una de las mejores librerías JavaScript para crear mapas web.
Índice
El poder de las teselas 3D
Cesium ha creado la especificación 3D Tiles, ahora un estandar de la OGC, para abordar la necesidad de utilizar formatos diseñados específicamente para crear visualizaciones geoespaciales 3D y datos 3D masivos y precisos a escala global. Gracias a la interoperabilidad de 3D Tiles con otras plataformas y herramientas, su adopción está creciendo en todas las industrias.
¿Qué podemos hacer con Cesium?
Cesium integra tres líneas de trabajo o tres plataformas:
1. Cesium ion: carga, optimización y alojamiento de datos
Cesium ion es una plataforma en la nube robusta, escalable y segura para almacenar datos. Podemos añadir nuestros propios datos y Cesium ion los optimizará, lo incluirá en formatos compatibles con la web, los alojará y los transmitirá a cualquier dispositivo de escritorio o móvil. Podemos añadir nubes de puntos, fotogrametría, CityGML, edificios 3D, BIM, CAD, modelos de diseño, terreno o imágenes.
2. CesiumJS: transmitir y visualizar
Podemos crear hermosas aplicaciones interactivas en 3D. Fusionar datos y transmitirlos en cualquier dispositivo. La visualización se realiza través de CesiumJS. CesiumJS es una biblioteca Javascript de código abierto para crear globos y mapas 3D mundiales con el mejor rendimiento, precisión, calidad visual y facilidad de uso posibles.
CesiumJS y Cesium ion trabajan juntos para permitirnos crear aplicaciones de mapeo 3D de clase mundial.
3. Personalizar estilos, filtrar, consultar y medir.
Podemos realizar análisis únicamente en 3D. Análisis de tiempo de ejecución a través del SDK. La biblioteca JavaScript Cesium ion SDK extiende la librería CesiumJS de código abierto e incluye herramientas de análisis 3D adicionales y widgets de interfaz de usuario listos para usar.
CesiumJS
CesiumJS es la librería JavaScript, de código abierto, para crear globos y mapas 3D mundiales con el mejor rendimiento, precisión, calidad visual y facilidad de uso posibles. Los desarrolladores de todas las industrias, desde la industria aeroespacial hasta las ciudades inteligentes y los drones, usan CesiumJS para crear aplicaciones web interactivas para compartir datos geoespaciales dinámicos.
Construido con formatos abiertos, CesiumJS se ha diseñado para la interoperabilidad. Podemos incorporar los datos Cesium ion o de otras fuentes, visualizarlas con CesiumJS y compartir con los usuarios tanto en equipos de escritorio como en dispositivos móviles.
Con más de un millón de descargas, CesiumJS se ha convertido en un referente para crear aplicaciones web en 3D.
Utiliza WebGL para mostrar gráficos en 3D, y es multiplataforma. Cesium es de código abierto bajo la licencia Apache 2.0. Es gratuito tanto para uso comercial como no comercial.
Características de CesiumJS
- Teselas 3D. Podemos transmitir, diseñar e interactuar con edificios 3D, fotogrametría y nubes de puntos utilizando la especificación abierta 3D Tiles.
- Modelos 3D. Podemos visualizar modelos 3D usando glTF, el formato de tiempo de ejecución para WebGL.
- Capas del terreno e imágenes. CesiumJS nos permite transmitir imágenes y capas de terreno global utilizando estándares abiertos y esquemas de teselas personalizadas.
- Capas vectoriales y geometría. Podemos cargar KML, GeoJSON y CZML, o usar la API para dibujar una amplia variedad de objetos geográficos y geometrías.
- Visualización dinámica de tiempo. Aprovechando el soporte de primer nivel para realizar simulación dinámica de tiempo, transmitir telemetría en tiempo real y crear visualizaciones 4D.
- Vistas 3D, 2D y 2.5D. Visualización de datos y cambio entre los tres modos de mapa diferentes en tiempo de ejecución.
Casos de uso
Cada vez más personas usan cesio, en todas las industrias y para muchos propósitos diferentes. El Toyota Research Institute utiliza Cesium para crear simulaciones precisas de entornos de carreteras capturados por sensores en sus vehículos autónomos. Cada año NORAD usa Cesium para rastrear el camino de Santa alrededor del mundo en la víspera de Navidad. Incluso empresas de videojuegos como Epic Games han visto el potencial de la visualización de teselas 3D para participar en el programa Unreal Engine
Como base para compartir viajes aéreos, Uber Engineering busca información sobre cómo se mueven las ciudades al transmitir grandes volúmenes de nubes de puntos 3D y servidas como teselas 3D por Cesium ion.
Utilizando 3D Tiles y deck.gl, Uber puede representar 355 millones de puntos de datos de Melbourne, Australia, y alcanzar un nivel de detalle geoespacial sin precedentes. Visualización cortesía de Uber.
Otros temas interesantes sobre Cesium
- Integración con OpenLayers. OL-Cesium es una librería para integrar Cesium. Podemos crear nuestros mapas utilizando OpenLayers y visualizarlo en un globo terráqueo a través de cesium. Esta librería es mantenida por OpenLayers.
- Cesium se utiliza para visualizar mapas 3D en MapStore: una herramienta WebGIS de código abierto desarrollada por GeoSolutions para crear, gestionar y compartir mapas en 2D y 3D.
- Cesium OSM Buildings es una capa de edificios en 3D que cubre todo el mundo construido con datos de edificios de OpenStreetMap. Esto significa más de 350 millones de edificios con una cantidad de metadatos increíbles: nombres de edificios, tipo de edificio, dirección, horario de apertura, altura del edificio e incluso la forma del techo en algunos casos. El conjunto de datos completo tiene un tamaño de cientos de gigabytes, pero cuando lo usamos a través de Cesium 3D Tiles, los datos se transmiten de manera eficiente y se visualizan en la web sin problema. Más información aquí.
Destacan en verde las oficinas y edificios comerciales usando Cesium Stories.
¡Crea tu primera aplicación!
Comenzar a crear una aplicación con CesiumJS es muy fácil y la documentación es muy buena, existen varios tutoriales y decenas de ejemplos con código.
A continuación se muestra el código fuente para crear un aplicación básica con CesiumJS:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <script src="https://cesium.com/downloads/cesiumjs/releases/1.71/Build/Cesium/Cesium.js"></script> <link href="https://cesium.com/downloads/cesiumjs/releases/1.71/Build/Cesium/Widgets/widgets.css" rel="stylesheet"> </head> <body> <div id="cesiumContainer" style="width: 700px; height:400px"> </div> <script> Cesium.Ion.defaultAccessToken = 'your_access_token'; var viewer = new Cesium.Viewer('cesiumContainer'); </script> </body> </html>
Una de las aplicaciones que tiene un mayor grado de desarrollo es la referente a los datos de los edificios de las ciudades. Ahora mismo ya hay bases de datos libres que nos dan acceso a los datos de millones de edificios de todo el mundo con un cantidad de datos abrumadora. Una de las bases de datos de edificios más completa es la de OSM buildings. Podemos visualizar los edificios contenidos en esta base de datos mediante Cesium. Puedes ver cómo hacerlo en este artículo.
Licenciado en Geografía. Máster en Sistemas de Información Geográfica. Consultor GIS desde el año 2004. En MappingGIS desde el año 2012 para ayudarte a impulsar tu perfil GIS y diferenciarte de la competencia. Echa un vistazo a todos nuestros cursos de SIG online.
Consejos muy útiles para crear mapas en 3d. Gracias por ofrecernos esta herramienta que resulta de gran utilidad. Saludos.