Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Let’s Integrate BIM and 3D GIS
on top of FOSS4G!
Sanghee Shin(shshin@gaia3d.com)
Seongdo Son(sdson@gaia3d.com)
Hakjoon Kim...
MAGO
Goddess of earth
in Korean old myth
Paradigm Shift
Current Future
Concept Object Information Context Awareness
Data Consumer Prosumer/DIY
User Person Things
V...
Bottle Neck! Point
Cloud
Drone
Image IoT
BIM
Live
Data
AEC Self-Driving
Cars
mago3D is a platform for …
Indoor and outdoor space integration on a single web browser1
Management/providing various type...
Open source projects
Base Lineup
Base Lineup packaging
Base Lineup
GeoSHAPE GeoGig
?
Open source based mago3D
3D2D
operation & analysis
IoT Interface
Base Lineup
Enhancement
server
service
functionality
Base...
Overall System Architecture
Overall System Components
And then,
What’s been newly
developed?
2 Main Cores of mago3D…
F4D Format as a service formatC01.
Mago3d.js as a improved rendererC02.
F4D: Why We Devised New Format?
Increase
rendering
speed
Optimize
web
service
Make
service data
lightweight
F4D: Service Format Optimized for Web Service
VS
F4D: Lego Style Service for LOD
Detailed Resolution
Coarse Resolution
F4D: Pre-Processed Occlusion Culling
 Increase rendering speed by not rendering occluded geometry
If we pre-record visibl...
F4D: Model-Instance Concept
 Model is 3D geometry info, while Reference is real instance of this model
mago3D.js: Let’s Piggyback!!
Cesium World Wind WebGL
1. A plug-in to any web 3D engines based on WebGL.
2. A set of JavaSc...
mago3D.js: Components
1. maog3D.js has been designed
and developed as an independent
plug-in to the existing WebGL
Globe.
...
mago3D.js: Components
1. mago3D Connector that interacts with WebGL Globe such as
Cesium, World Wind.
2. mago3D Renderer t...
mago3D.js: Screen Space Ambient Occlusion
<Before>
<After>
mago3D.js: Screen Space Ambient Occlusion
<Before>
<After>
mago3D.js on Cesium
3D visualization with MAGO3D
on Cesium
mago3D.js on NASA World Wind
3D visualization with mago3D
on NASA World Wind
BIM Integration
Seamless integration of indoor and outdoor space
on the same platform
scene from indoor to outdoor through...
MEP Integration
Integration of large size MEP
on a web browser
Future Plan – Support New Data Types
meteorological/weather data
real-time data
(IOT, sensor/observation data)
point cloud...
Future Plan – Support Data Hierarchy
Node
Geometry
Node
Geometry
Node
Geometry
Node
Geometry
Node
Geometry
Node
Geometry
N...
Future Plan – Functionality Enhancements
Type Items
Analysis
Density map, Standard ellipse, Cost surface data, Whisker ana...
Wrapping-up
• Open source – Apache and AGPL license
• Web based – no need to install additional program
• Supports industr...
Seeing is Believing – Indoor & Outdoor Integration
Live Demonstration – http://www.mago3d.com
Let’s look into it technically
mago3D integrates AEC(Architecture, Engineering, Construction) and 3D GIS
in web browser using Cesium or Web World Wind.
T...
1- How to reduce size of data
1 model & multi-instance
→ During processing, detection for geometrical congruence over raw ...
2- How to make LOD
We want to make simplified data of
Eiffel Tower.
First, divide the Bounding Box into
enough small cubes for each LOD
Third, merge
collected cubes
as much as possible
Second, collect
cubes which
intersects with
original data
Last, apply newly created textures
on result geometries
Creation of textures for rougher LODs from original textures
taking captures from original texture rendering
rougher LOD m...
Example of mapping original and created textures
3- How to make visibility indices for occlusion culling(OC)
First, enclose the 3d model with
an octree of enough size and ...
360°
Second,
detect IDs of all visible objects
from each leaf octree cell
by rendering with color coding
Example of detection for all visible objects on each leaf octree cell
Example of detection for all visible objects on each leaf octree cell
Assign target meshes into
each spatially divided octree
How we use created visibility indices for occlusion culling??
Perform frustum culling on
spatially divided octree
before occlusion culling
octree for visibility indexing
(for occlusion...
survived spatial octree
from frustum culling
IDs of survived objects from frustum culling
are obtained .
At last, intersection between
visibility indices and object IDs
makes finally visible objects.
How occlusion culling and frustum culling are performed in mago3d.
For more information, please visit http://www.mago3d.com
Thank you!
Acknowledgement : This project is funded by Ministry o...
Upcoming SlideShare
Loading in …5
×

mago3D: Let's integrate BIM and 3D GIS on top of FOSS4G

708 views

Published on

This presentation was given at FOSS4G Europe 2017 which was held at ENSG, France.
***
Let's integrate BIM and 3D GIS on top of FOSS4G!
Sanghee Shin, Sungdo Son, BJ Jang, JeongDae Cheon, Hakjoon Kim

Although there has been numerous attempts to integrate indoor and outdoor space on a single geospatial platform, the outcome of these attempts are not so satisfactory till to date. Difference of data model, massive number of data to be rendered, big volume of file size are among those major technical barriers that hindered seamless integration of indoor and outdoor space. This talk will introduce a brand-new FOSS4G project called Mago3D that could seamlessly integrate BIM(Building Information Model) and popular 3D GIS model in web browser using Cesium or Web World Wind. Mago3D project aims at developing a JavaScript plug-in for existing WebGL Globe to expand WebGL Globe's functionality and usability even to indoor space and architectural(BIM) areas. To do this, Mago3D.js has been designed and developed as a WebGL independent JavaScript. Mago3D.js is composed of 6 main components like follows:

Mago3D Connector that interacts with WebGL Globe such as Cesium
Mago3D Renderer that shades and renders 3D data
Mago3D Accelerator that carries out performance enhancing algorithms such frustum & occlusion culling, indexing, LOD(Level Of Detail) handing
Mago3D Data Container that contains and manages 3D data
Mago3D Process Manager that manages whole process from data receiving to rendering
Mago3D REST API that provides API for 3D data sending and receiving
By plug in Mago3D.js to Cesium, Web World Wind, users can expand those WebGL functionality and usability to indoor space. One of big hurdle to integrate indoor and outdoor space simultaneously is handling and visualisation of massive 3D data. To overcome this hurdle, new format called F4D has been devised adopting block reference concept. Also a format converter that converts popular 3D format to F4D has been developed. Currently industry standard IFC(Industry Foundation Classes), JT(Jupiter Tessellation), and popular 3D formats such as OBJ, 3DS, COLLADA DAE can be converted to F4D format. F4D format coupled with Mago3D.js has proven that it can increase memory management efficiency and rendering speed drastically. MAGO3D can now visualise massive 3D data including indoor objects, at least 100k objects, in a single scene seamlessly with traditional outdoor 3D GIS objects. Users can now manage and handle almost every geospatial object from bolt & nut level to whole globe level with MAGO3D. This project will evolve to manage and service more dynamic data such as IoT (Internet of Things), point clouds, climate & weather data, and transportation..

Published in: Technology
  • Be the first to comment

mago3D: Let's integrate BIM and 3D GIS on top of FOSS4G

  1. 1. Let’s Integrate BIM and 3D GIS on top of FOSS4G! Sanghee Shin(shshin@gaia3d.com) Seongdo Son(sdson@gaia3d.com) Hakjoon Kim(hjkim@gaia3d.com) Jengdae Cheon(jdcheon@gaia3d.com) BJ Jang(bjjang@gaia3d.com)
  2. 2. MAGO Goddess of earth in Korean old myth
  3. 3. Paradigm Shift Current Future Concept Object Information Context Awareness Data Consumer Prosumer/DIY User Person Things Visualization Real World Cyber-Physical Space Application Base Map Key Factor for Fusion Driving Entity Public Sector Private Sector Space Outdoor Indoor + Outdoor + Update Cycle Static Dynamic <Source: Sakong, Hosang(2016), ‘Policy Directions of Spatial Information for Hyper-connected Society’ modified>
  4. 4. Bottle Neck! Point Cloud Drone Image IoT BIM Live Data AEC Self-Driving Cars
  5. 5. mago3D is a platform for … Indoor and outdoor space integration on a single web browser1 Management/providing various type of GIS data including vector, raster, point cloud and AEC/BIM/3D … 2 Web based collaborative issue management4 Processing/visualization of real-time massive data such as weather/climate, IoT, sensor data … 3
  6. 6. Open source projects Base Lineup Base Lineup packaging Base Lineup GeoSHAPE GeoGig ?
  7. 7. Open source based mago3D 3D2D operation & analysis IoT Interface Base Lineup Enhancement server service functionality Base Lineup 3D Functionality
  8. 8. Overall System Architecture
  9. 9. Overall System Components
  10. 10. And then, What’s been newly developed?
  11. 11. 2 Main Cores of mago3D… F4D Format as a service formatC01. Mago3d.js as a improved rendererC02.
  12. 12. F4D: Why We Devised New Format? Increase rendering speed Optimize web service Make service data lightweight
  13. 13. F4D: Service Format Optimized for Web Service VS
  14. 14. F4D: Lego Style Service for LOD Detailed Resolution Coarse Resolution
  15. 15. F4D: Pre-Processed Occlusion Culling  Increase rendering speed by not rendering occluded geometry If we pre-record visible objects, we can identify the rendering objects very quickly. <Occlusion culling using visibility indices> Identify the visible objects by carrying out visibility test at every vision cell
  16. 16. F4D: Model-Instance Concept  Model is 3D geometry info, while Reference is real instance of this model
  17. 17. mago3D.js: Let’s Piggyback!! Cesium World Wind WebGL 1. A plug-in to any web 3D engines based on WebGL. 2. A set of JavaScript for web developments. 3. NOT an engine, BUT a plug-in. ismago3D.js
  18. 18. mago3D.js: Components 1. maog3D.js has been designed and developed as an independent plug-in to the existing WebGL Globe. 2. mago3D.js added new functionalities and enhanced performance of existing WebGL Globle. Mago3D Cesium/NASA World Wind WebGL Globe Core Mago3D Connector Mago3D.JS Mago3D Renderer Shader Mago3D Accelerator Performance Enhancer Mago3D REST API request, response Mago3D Process Manager Mago3D Data Container
  19. 19. mago3D.js: Components 1. mago3D Connector that interacts with WebGL Globe such as Cesium, World Wind. 2. mago3D Renderer that shades and renders 3D data. 3. mago3D Accelerator that enhance performance such as frustum & occlusion culling, indexing, LOD(Level Of Detail) handing. 4. mago3D Data Container that contains and manages 3D data. 5. mago3D Process Manager that manages whole process from data receiving to rendering. 6. mago3D REST API that provides API for 3D data sending and receiving.
  20. 20. mago3D.js: Screen Space Ambient Occlusion <Before> <After>
  21. 21. mago3D.js: Screen Space Ambient Occlusion <Before> <After>
  22. 22. mago3D.js on Cesium 3D visualization with MAGO3D on Cesium
  23. 23. mago3D.js on NASA World Wind 3D visualization with mago3D on NASA World Wind
  24. 24. BIM 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. 25. MEP Integration Integration of large size MEP on a web browser
  26. 26. Future Plan – Support New Data Types meteorological/weather data real-time data (IOT, sensor/observation data) point cloud  mago3D will be capable of handling more types of data in near future!
  27. 27. Future Plan – Support Data Hierarchy Node Geometry Node Geometry Node Geometry Node Geometry Node Geometry Node Geometry Node Geometry Node Geometry Node Geometry Node Geometry Node Geometry Node Geometry Node Geometry Node Geometry Node Geometry Node Geometry Node Geometry Node Geometry Node Geometry Node Geometry Node Geometry Node Geometry Spatial structure. Geometry data.
  28. 28. Future Plan – Functionality Enhancements Type Items Analysis Density map, Standard ellipse, Cost surface data, Whisker analysis, Detection abnormality from IOT data, etc Operation Raster operation(filtering, smoothing…), Coverage rebuild, etc Styling Volume rendering, 3D vector/streamline, Cubing, etc UI Different view controlling at indoor/outdoor space, etc  mago3D will also leverage existing open source projects
  29. 29. Wrapping-up • Open source – Apache and AGPL license • Web based – no need to install additional program • Supports industry standard formats(ifc, 3ds, dae, kml, gltf…) • Massive 3D data rendering • Realtime 3D transformation on web browser • Highly extensible architecture • BIM/AEC and 3D GIS integration
  30. 30. Seeing is Believing – Indoor & Outdoor Integration
  31. 31. Live Demonstration – http://www.mago3d.com
  32. 32. Let’s look into it technically
  33. 33. mago3D integrates AEC(Architecture, Engineering, Construction) and 3D GIS in web browser using Cesium or Web World Wind. To achieve this goal we created a 3D data format named F4D. Objectives of F4D are: 1- Reduce size of data for network traffic. 2- Create LOD (Level Of Detail) on service data. 3- Make visibility indices for occlusion culling. 4- Divide and group data into spatial octree. TODAY
  34. 34. 1- How to reduce size of data 1 model & multi-instance → During processing, detection for geometrical congruence over raw data is carried out. → As result, 1 model and transformation matrices for each instance are built up for each congruence case. With 4 geometric meshes - 4 models 23 objects are created. - 23 instances Image source : www.vecteezy.com
  35. 35. 2- How to make LOD We want to make simplified data of Eiffel Tower.
  36. 36. First, divide the Bounding Box into enough small cubes for each LOD
  37. 37. Third, merge collected cubes as much as possible Second, collect cubes which intersects with original data
  38. 38. Last, apply newly created textures on result geometries
  39. 39. Creation of textures for rougher LODs from original textures taking captures from original texture rendering rougher LOD meshes with created texture created texture
  40. 40. Example of mapping original and created textures
  41. 41. 3- How to make visibility indices for occlusion culling(OC) First, enclose the 3d model with an octree of enough size and depth ※ Size affects to OC range ※ Depth affects to visibility index data size
  42. 42. 360° Second, detect IDs of all visible objects from each leaf octree cell by rendering with color coding
  43. 43. Example of detection for all visible objects on each leaf octree cell
  44. 44. Example of detection for all visible objects on each leaf octree cell
  45. 45. Assign target meshes into each spatially divided octree How we use created visibility indices for occlusion culling??
  46. 46. Perform frustum culling on spatially divided octree before occlusion culling octree for visibility indexing (for occlusion culling) octree for spatial division (for frustum culling)
  47. 47. survived spatial octree from frustum culling
  48. 48. IDs of survived objects from frustum culling are obtained .
  49. 49. At last, intersection between visibility indices and object IDs makes finally visible objects.
  50. 50. How occlusion culling and frustum culling are performed in mago3d.
  51. 51. For more information, please visit http://www.mago3d.com Thank you! Acknowledgement : This project is funded by Ministry of Land, Transport and Maritime Affairs, Korea, through R&D project(number:16NSIP-B080778-04)

×