I gave this talk at the FOSS4G Thailand 2019 which was held at Chulalongkorn University, Bangkok on 4th Nov 2019. I talked about the recent achievements and improvements of mago3D project, an open source based Digital Twin platform. mago3D(http mago3d.com) is relatively new project first released in July 2017. The ultimate goal of mago3D is developing an open source based digital twin platform that can replicate and simulate the real world objects, processes, and phenomena on web environment. mago3D has been used in various industry sectors including ship building, urban management, indoor data management, and national defense. In this talk I showcased several real projects that used the mago3D and shared what I learnt from these projects. Also I introduced new features and future plan of mago3D.
5. Digital Twin
Digital Twins
A digital twin is a virtual representation of a physical object or system across its
lifecycle, using real-time data to enable understanding, learning and reasoning.
6. 6
Data Explosion
Location + Feature + Sensor
Point Cloud + Realistic Mesh +
Semantic Model + Volumetric Data + Live Data +
Visualization + Simulation + IoT + Analytics +
…
8. Introduction – mago3D
mago3D is a platform for …
Visualizing massive and complex 3D objects including BIM
on a web browser
1
Seamless integration of BIM/AEC and 3D GIS in a single space2
Web based collaborative issue/process management4
‘Digital Twin’ that can create parallel worlds in a virtual reality
with numerous IoT, sensor data
3
= 3D + Web + Open Source
9. Introduction – Architecture of mago3D
mago3D.JS
Cesium/WWW
Client
internet
Web Server WAS
F4DStorage
mago
Content
Management
DataBase
F4D Converter
3 main cores of mago3D
10. Introduction – Overall System Components
DB Postgresql 9.6 + PostGIS
Web Server Nginx 1.12.1 / Apache 2.4
Language Java8
Framework Spring(Springboot) + Mybatis
Build
Gradle
Log
Logback/Log4j
2
Security
ESAPI
Report
Jasper/POI
View
JSP/JSTL
UI/UX
Jquery
Chart
Jqplot/Axisj
Template
Thymeleaf
Handlebars
Web Map Server GeoServer
OS Centos 7.2
WebGL Globe Cesium, World Wind, …
Cache EhCache, Redis
Container Docker
WAS Tomcat 8.5
11. Introduction – Core parts of mago3D
F4D Converter mago3D.js
mago3D.js
3D GIS Engines
Cesium
Web World Wind
API
API
service html
F4D Converter converts 3D formats(IFC, 3DS, OBJ, DAE, JT)
to 3D internet service format F4D. It carries out data size
reducing and pre-processing for fast rendering
A plug-in composed of pure javascript which enables 3D GIS
engines to handle large-sized and highly detailed AEC data
F4D Converter
F4D
.ifc
.3ds
.obj
.dae
.gml
13. Key Algorithms
GeoBIM is too heavy due to so many vertices and triangles in so many objects.
This causes two major issues in handling GeoBIM in web browsers.
!
Network Traffic Rendering Speed
14. Key Algorithms
So we introduced 3 concepts to solve these issues.
1. Reducing file size 3. Preprocessing
for speed
2. Building rougher
LOD
making indices
used in culling
removing duplication
15. Key Algorithms
Step What is this? Used for
1. Model/Reference
A concept of writing 3D data that only one
geometry among multiple geometries
congruent with each other is written.
reducing data size of semantic
data(ex. BIM/CAD, 3D data by
modeling)
2. NSM(Net Surface Mesh)
This is composed of 2 steps.
1. building meshes with regularly gridded
vertices on surfaces of raw 3D model.
2. triangle reduction.
making rougher LOD
※ 2nd step is separately applied
in simplifying targets in case of
triangular meshes such like TIN
or random-shaped 3D data
3. Visibility/Spatial index
Visibility index is for occlusion culling and
spatial index is for frustum culling in indoor
camera working.
carrying out a serial combination
of 2 cullings for fast
determination of targets to be
shown
Let’s look into more concretely.
16. With 4 geometric meshes - 4 models 23 objects are created. - 23 references
Image source : www.vecteezy.com
Key Algorithms : F4D, lightweight service format
Example of Model-Reference
17. 1. Build a triangular mesh based on the grid structure from the original three-dimensional data.
Key Algorithms : F4D, lightweight service format
19. 1. When a camera position and
2. the viewing direction of it are setup,
3. mago3D does frustum culling on spatial indices
4. and do occlusion culling on the result of the
frustum culling.
5. Finally mago3d finds targets to be rendered.
(intersection between two indices)
→ It possible to select targets to be rendered
without any complicated geometric operation in
run-time.
How to use both indices
Key Algorithms : F4D, lightweight service format
20. mago3D runs on any device
Results: Accessible from any device, anytime, anywhere
21. Results: BIM(Indoor/Outdoor) Integration
Seamless integration of indoor and outdoor space
on the same platform
Scene from indoor to outdoor through windows Scene from outdoor to indoor through windows
25. Results: Point Cloud Integration
Integration of large size Point Cloud and 3D GIS on a web browser
26. Results: OGC WPS Integration
Integration of OGC Web Processing Service
27. Results: Various API supported (OpenAPIs)
APIs are supported for developing application
systems(currently 29 APIs) moving/rotating
a full building
moving objects &
viewing attributes registration/monitoring/search of issues
28. Real Cases – Ship Building Industry
Yards
Cranes
Office Buildings
Factories
Docks
BlocksShips
Smart Welding Machine Virtual Yard on Web Browser!
1,500 EA25 EA250 EA75 EA
25 EA
15,000 EA 1,700 EA
3 EA
• Project Name: Ship Building Process Management System
• 3D Models in Service
37. Coming Up Next
Future of mago3D!
• New Smart Tiles Indexing will be incorporated to enhance rendering speed.
• AutoDesk Revit plugin will be released. Direct conversion of Revit to F4D.
• magoEarth(WebGL Globe) is being developed.
• Official OpenIndoorMap service will start.
• Will incorporate more simulations using lego-block style open architecture.
• Will be a ‘Digital Twin based Smart Spaces’ platform!
38. Summary
Summary of mago3D!
• BIM/AEC and 3D GIS integration in a single space
• Web based – no need to install additional program
• Massive and complex 3D objects visualization
• Open source – Apache and AGPL license
• Supports industry standard formats(CityGML, IndoorGML, IFC, 3DS, DAE, GLTF…)
• In-Browser 3D objects moving/rotation/heading adjustment
• Highly extensible architecture
41. For more information, please visit http://mago3d.net
All the source codes are here:
https://github.com/Gaia3D/mago3d
https://github.com/Gaia3D/openindoormap
Thank you!
33
This research was supported by a grant(number:19NSIP-B080778-06) from National
Spatial Information Research Program (NSIP) funded by Ministry of Land, Infrastructure
and Transport of Korean government.
Sanghee Shin shshin@gaia3d.com