Web-based 3D Programming
Using CesiumJS and Unity For 3D Globe and Dynamic-Data Visualization
Duration: 5 days
This course is designed for aspiring and intermediate developers and data analysts with varying levels of web development and CesiumJS experience. It aims to provide a structured learning path from fundamental concepts to advanced applications.
Learning Outcome
By the end of this course, participants will be able to:
- Understand the basics of web-based 3D graphics and CesiumJS functionalities.
- Build and customize 3D globes for dynamic data visualization.
- Interact with and explore dynamic data on the globe using various techniques.
- Implement user interactions to create engaging visual experiences.
- Gain an introduction to integrating CesiumJS with Unity for enhanced visuals.
- Set up and navigate the CesiumJS environment to create web-based 3D visualizations.
- Load, process, and visualize dynamic geospatial data on a 3D globe.
- Implement interactive features and custom animations to enhance user engagement.
- Optimize performance for complex and real-time data visualizations.
- Understand the basics of Unity and explore the potential of integrating CesiumJS with Unity for advanced projects.
Prerequisites:
- Good understanding of HTML, CSS, and JavaScript.
- Familiarity with geospatial concepts and data formats (GeoJSON, KML) is beneficial.
- Some experience with 3D graphics or web development frameworks would be helpful but not required.
- Experience with programming using JavaScript and .NET 6 and above.
Course Outline:
- Introduction to Web-based 3D Visualization and CesiumJS
- Basics of Web-based 3D Graphics
- Introduction to WebGL, canvas interaction, and DOM manipulation.
- Introduction to CesiumJS
- Overview of capabilities, setting up the development environment, basic globe creation.
- Loading and Working with Geographic Data
- Understanding geospatial data formats and their integration.
- Basic Data Visualization on the Globe
- Techniques for implementing markers, labels, and simple data styling.
- Basics of Web-based 3D Graphics
- Building Interactive Dynamic Data Visualizations
- Loading and Processing Dynamic Data
- Handling various data sources and formats for dynamic visualization.
- Visualizing Dynamic Data on the Globe
- Advanced visualization techniques including heatmaps, point clouds, and 3D models.
- Advanced Data Styling and Techniques
- Custom styles, color coding, and gradient effects based on data attributes.
- Time-series Data and Animation
- Techniques for visualizing temporal data with animations and transitions.
- Loading and Processing Dynamic Data
- User Interaction and Advanced Features
- Basic User Interactions
- Implementing navigation controls for an interactive experience.
- Filtering and Highlighting Data
- Interactive data filtering and highlighting based on user input.
- Tooltips and Information Panels
- Creating overlays for data exploration and storytelling.
- Custom Animations and Effects
- Enhancing visualizations with custom animations and effects.
- Basic User Interactions
- CesiumJS for Advanced Users (Hands-on Project)
- Advanced CesiumJS API
- Exploring advanced functionalities and custom solutions.
- Real-time Data Integration
- Strategies for integrating real-time data streams.
- Performance Optimization
- Techniques for improving performance and efficiency.
- Hands-on Project Development
- Applying advanced techniques in a comprehensive project.
- Advanced CesiumJS API
- Introduction to CesiumJS with Unity (Brief Exploration)
- Introduction to Unity
- Overview of Unity's core concepts and scripting for new learners.
- Cesium for Unity Plugin
- Capabilities and applications of the Cesium for Unity plugin.
- Basic Integration Example
- A simple project integrating CesiumJS data with Unity.
- Future Potential and Challenges
- Exploring the potential and addressing challenges of integrating CesiumJS with Unity.
- Introduction to Unity
This course offers a blend of theoretical knowledge and practical application, ensuring participants not only understand the concepts but also apply them in real-world projects. The progression from basic to advanced topics allows learners to build a solid foundation while exploring the cutting-edge possibilities of web-based 3D visualization and dynamic data interaction.
Practical, connected learning
My wider training approach brings hands-on implementation and systems thinking together, connecting technology with real operational needs.