I gave this talk at the FOSS4G Asia 2018 held at University of Moratuwa, Sri Lanka. I've added some of recent improvements of mago3D features including CityGML, IndoorGML supporting. Also I've talked about the future plan of mago3D toward Digital Twin platform.
Introduction to mago3D: A Web Based Open Source GeoBIM Platform
1. Introduction to mago3D:
A Web Based Open Source GeoBIM Platform
Sanghee Shin(shshin@gaia3d.com)
Hakjoon Kim(hjkim@gaia3d.com)
Jeongdae Cheon(jdcheon@gaia3d.com)
6. 6
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
= GIS + BIM + Open Source
7. 7
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
8. 8
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
3D Viewer Cesium, WorldWind
Cache EhCache, Redis
Container Docker
WAS Tomcat 8.5
9. 9
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
10. 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
11. 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
12. 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.
13. 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
11
14. 12
1. Build a triangular mesh based on the grid structure from the original three-dimensional data.
Key Algorithms : F4D, lightweight service format
16. Visibility Index
An index describing which inner objects
can be seen from selected positions in AEC.
This index is used in occlusion culling in
run-time visualization of mago3D.
17
Key Algorithms : F4D, lightweight service format
17. Spatial Index
An index describing which inner objects are
in cubes, spatial sub-divisions of AEC.
This index is used in frustum culling in
run-time visualization of mago3D.
18
Key Algorithms : F4D, lightweight service format
18. 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
19
Key Algorithms : F4D, lightweight service format
19. 20
mago3D runs on any device
Results: Accessible from any device, anytime, anywhere
20. 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
21
25. 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
24
30. In Future: Location Technology Evolution
Size of Space
Update Cycle
Small
1980
1990
2000
2010 ~
2020
Large
Static
Dynamic
<Source: Sakong, Hosang(2016), Policy Directions of Spatial Information for Hyper-connected Society>
32. Current Future
Concept Object Information Context Awareness
Data Consumer Prosumer/DIY
User Person Things
Visualization Real World Cyber Physical Systems
Application Base Map Key Factor for Fusion
Driving Entity Public Sector Private Sector
Space Outdoor Indoor + Outdoor +
Update Cycle Static Dynamic
<Source: Hosang Sagong(2016), ‘Policy Directions of Spatial Information for Hyper-connected Society’ modified>
In Future: GeoSpatial Paradigm Shift
33. In Future: 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.
36. Summary
Key Features
• BIM/AEC and 3D GIS integration in a single space
• Web based – no need to install additional program
• Massive and complex 3D objects rendering
• 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
• Will be ‘Digital Twin’ plaform!
32
37. For more information, please visit http://mago3d.com
All the source codes are here: https://github.com/Gaia3D/mago3d
Thank you!
33
This project is funded by Ministry of Land, Infrastructure and Transport, Korea,
through R&D project(number:18NSIP-B080778-05)
Sanghee Shin shshin@gaia3d.com