SlideShare a Scribd company logo
Martin Christen
FHNW – University of Applied Sciences and Arts Northwestern Switzerland
School of Architecture, Civil Engineering and Geomatics
Institute of Geomatics Engineering
martin.christen@fhnw.ch
@MartinChristen
Visualization of 3D City Models on Mobile
Phones using
@MartinChristen
GitHub: MartinChristen
GitLab: martin.christen
• Virtual Globe using WebGL
• Open Source Project started in
April 2011
• JavaScript Library for rapid
development of web-based
geospatial 3D applications
• Data Processing written in
C++ and Python
226 August 2016 2
OpenWebGlobe
Institute of Geomatics Engineering
26 August 2016Institute of Geomatics Engineering 3
Previous Work: OpenWebGlobe – Virtual Globe using JavaScript / WebGL
26 August 2016Institute of Geomatics Engineering 4
Motivation: 3D-Streaming in the web browser
MapData © OpenStreetMap contributors
BTh Hürbi/Daetwyler, MTh Lucas Oertli, 2013
26 August 2016Institute of Geomatics Engineering 5
Streaming Example: 3D Geometry using OSM and “BOI” (worldwide streaming)
MTh Lucas Oertli, 2013
Hello World
26 August 2016Institute of Geomatics Engineering 6
26 August 2016Institute of Geomatics Engineering 7
How does it work ?
EPSG:3857
(Visualization Pseudo Mercator)
WGS84 Ellipsoid
EPSG:4326
Proj.4 Library (pyproj): https://github.com/jswhit/pyproj
http://www.spatialreference.org
Global or local Datasets
26 August 2016Institute of Geomatics Engineering 8
Quadtree based – fully compatible with 2D Maps*
256
256
256
(Image courtesy of Microsoft, Bing Maps)
*OpenStreetMap, Google Maps, Bing Maps, Yahoo Maps, …
“zoom-levels”
26 August 2016Institute of Geomatics Engineering 9
Tile Types
2D Image Tile
RGB(A)
256x256 pixels
2D Vector Tile
Contains geometry. (if rasterized use Image Tile)
2D Elevation Tile
Contains Elevation Data
for example: 17x17 Values
26 August 2016Institute of Geomatics Engineering 10
Special Tile Types
3D Geometry Tile
A 3D Geometry Tile contains
Texture(s) & arbitrary 3D Geometry
Within it‘s tile limit
Separate Geometry for each zoom level
GDAL Library: http://www.gdal.org
26 August 2016Institute of Geomatics Engineering 11
OpenWebGlobe 2
http://www.openwebglobe.org (coming soon)
Currently in Development
A new version – completely redesigned
…with more Python! (Data processing is 98% Python code)
2
26 August 2016Institute of Geomatics Engineering 12
Why a new Version ?
• 19 zoom levels over the whole planet results in about 360 billion tiles.
• 19 zoom levels is too much for many applications
• Many “real-world” applications/projects are oriented “local”. The need for a
global 3D-scene is overkill. (1 Building, 1 city, 1 country…)
• On mobile devices rendering 3D graphics is quite power consuming
• Navigation on a 3D-Globe is difficult for many people
• People still prefer 2D-Maps (fast, quick overview, …)
• …
• ...
• ...
• ...
• ...
2
26 August 2016Institute of Geomatics Engineering 13
One new feature: Bringing together 2D Maps and 3D Globes
Another tile type!
Concept: Prerender a 3D Scene using a high quality offline 3D renderer using an
orthographic projection and create “2D” image tiles for each zoom-level
Constant, minimal bandwidth
regardless of the complexity of the
3D city model
MTh Markus Jung, 2014
(Similar approaches were already done by Döllner et al. and also go back to some concepts by Sutherland)
2
26 August 2016Institute of Geomatics Engineering 14
Display in the Webbrowser as “2D Map”
MTh Markus Jung, 2014
2
26 August 2016Institute of Geomatics Engineering 15
High Resolution Geometry doesn’t matter: Same download/render speed
MTh Markus Jung, 2014
2
26 August 2016Institute of Geomatics Engineering 16
90 CityGML files (2.72 GB)
26'474 textures (1024x1024), uncompressed size ca. 77 GB
image data (orthophoto) ca. 430 GB uncompressed
26 August 2016Institute of Geomatics Engineering 17
Another example: 3D Map using OpenStreetMap data
Source: BTh, Daniel Rettenmund 2015
26 August 2016Institute of Geomatics Engineering 18
App: make visible the invisibke (Roman city of Augusta Raurica)
26 August 2016Institute of Geomatics Engineering 19
Prerendering the Model: Color Map, Normal Map, Id-Map, Depth Map
Dynamic Lighting
Normal Map: for Object Identification:
Highlighting, special effects, …
Depth Map: for 3D Position, special effects, …
2
26 August 2016Institute of Geomatics Engineering 20
PyRT (no logo yet!)
Rendering is done using pyRT (“Pirate”)
pyRT is a new project for rendering high quality images using Ray Tracing
(pyRT). By using global illumination, the results look quite nice. It also has Jupyter
integration (render within your notebook)
The project is currently in development and open sourced later. (MTh 2016: GPU
support / OpenCL, starting in September 2016)
26 August 2016Institute of Geomatics Engineering 21
pyRT Example
from pyrt.math import *
from pyrt.geometry import Triangle
from pyrt.camera import PerspectiveCamera
from pyrt.renderer import SimpleRT
camera = PerspectiveCamera(640,480)
scene = Scene()
scene.Add(Triangle(Vec3(0, 0, 0), Vec3(0, 5, 0), Vec3(1, 5, 0)))
scene.SetCamera(camera)
engine = renderer.SimpleRT()
imgdata = engine.render(scene)
26 August 2016Institute of Geomatics Engineering 22
And “real 3d” is of course still possible in OpenWebGlobe 2
Typical Scene: From a single building to a planet…
26 August 2016Institute of Geomatics Engineering 23
Data Processing Architecture
Web Viewer
• HTML5, WebGL, JavaScript
Data Processing &
Storage/Cache
• Python (most parts)
• Some JavaScript (node.js)
• Some C++ / OpenCL
• Running on HPCC
Raw data
26 August 2016Institute of Geomatics Engineering 24
All Architecture
3DPS (3D Portrayal Service)
Based on the OGC 3DPS Candidate
2
world3d.js
Real 3D
map3d.js
3D Map
map3d.js
world3d.js
owg2.js
Building
City
Country
Planet
…
26 August 2016Institute of Geomatics Engineering 25
Docker
(Source: docker.io)
For development and deployment
(processing tools / sample webservice / …)
26 August 2016
Institute of Geomatics Engineering
26
Questions ?
Contact me at martin.christen@fhnw.ch
@MartinChristen
GitHub: MartinChristen
GitLab: martin.christen

More Related Content

PDF
Visualisation of Complex 3D City Models on Mobile Webbrowsers Using Cloud-bas...
PDF
OpenWebGlobe - GeoSharing Bern
PDF
Webilea: The OpenWebGlobe Project
PDF
Processing Landsat 8 Multi-Spectral Images with GRASS Tools & the potential o...
PDF
Geopaparazzi state of the art
ODP
GRASS GIS 7 capabilities: a graphical overview
PDF
Introduction to OpenIndoorMap
PDF
Current State of mago3D, an Open Source Based Digital Twin Platform
Visualisation of Complex 3D City Models on Mobile Webbrowsers Using Cloud-bas...
OpenWebGlobe - GeoSharing Bern
Webilea: The OpenWebGlobe Project
Processing Landsat 8 Multi-Spectral Images with GRASS Tools & the potential o...
Geopaparazzi state of the art
GRASS GIS 7 capabilities: a graphical overview
Introduction to OpenIndoorMap
Current State of mago3D, an Open Source Based Digital Twin Platform

What's hot (20)

PDF
Let’s Power the Analytics and 3D to the Web Based Military Geo-Portal using F...
PDF
GRASS GIS lightening talk at FOSS4G 2006
PDF
Let's integrate CAD/BIM/GIS on the same platform: A practical approach in rea...
PDF
Paradigm Shift of Geospatial Information Service
PPTX
Hoang Nguyen and Jinjun Sun
PDF
GRASS GIS e Sextante
PDF
Using GIS to reassess urban plans based on changing industrial emissions
PDF
최근의 공간정보 분야 동향과 시사점
DOCX
Auto cad map 3d 2017 product code
PDF
SFScon 21 - Silvia Franceschi Andrea Antonello - Smash a customizable cross-p...
PDF
Geographic Data and Leaflet.js
PPTX
Creating gridded cartograms: Israel and the Palestine Territories
PDF
Smooth, Interactive Rendering and On-line Modification of Large-Scale, Geospa...
PDF
Vincent Sarago (Mapbox) | Traitement d’imagerie satellitaires de masse en ut...
PPT
City of Vancouver CAD - GIS - 3D Integration A Dimension Too Far?
PDF
3D mapping of a quarry
PPTX
Get Big Geo Data
PDF
The Gorbals in Relief: Experiments in OpenStreetMap and Architectural Practic...
PDF
CARTO BUILDER: from visualization to geospatial analysis
PDF
Mago3D: A Brand-New Live 3D Geo-Platform
Let’s Power the Analytics and 3D to the Web Based Military Geo-Portal using F...
GRASS GIS lightening talk at FOSS4G 2006
Let's integrate CAD/BIM/GIS on the same platform: A practical approach in rea...
Paradigm Shift of Geospatial Information Service
Hoang Nguyen and Jinjun Sun
GRASS GIS e Sextante
Using GIS to reassess urban plans based on changing industrial emissions
최근의 공간정보 분야 동향과 시사점
Auto cad map 3d 2017 product code
SFScon 21 - Silvia Franceschi Andrea Antonello - Smash a customizable cross-p...
Geographic Data and Leaflet.js
Creating gridded cartograms: Israel and the Palestine Territories
Smooth, Interactive Rendering and On-line Modification of Large-Scale, Geospa...
Vincent Sarago (Mapbox) | Traitement d’imagerie satellitaires de masse en ut...
City of Vancouver CAD - GIS - 3D Integration A Dimension Too Far?
3D mapping of a quarry
Get Big Geo Data
The Gorbals in Relief: Experiments in OpenStreetMap and Architectural Practic...
CARTO BUILDER: from visualization to geospatial analysis
Mago3D: A Brand-New Live 3D Geo-Platform
Ad

Viewers also liked (20)

PDF
Docker for Python Development
PDF
Gettiing Started with IoT using Raspberry Pi and Python
PDF
Standard_Digital_Cadastral_Maps_2015_Adopted
PDF
3D Web Services And Models For The Web: Where Do We Stand?
PPTX
Using unique and unusual archival records and data to illustrate and annotate...
PPT
Tips for Manipulating Data in Esri Geodatabase using FME
PPTX
Curso de Geodatabase
PDF
Introducción a la geodatabase del SIOSE (I)
PPT
Digital cadaster in Bulgaria. Information system of cadaster and property reg...
PDF
Introducción a la geodatabase del SIOSE (II)
PDF
Graduate Research Thesis Defense Presentation
PPTX
How to use R easily as GIS tools!
PDF
Ozri 2013 Brisbane, Australia - Geodatabase Efficiencies
PPTX
Survey camp ii
PPTX
WHAT'S THERE IN GEOMATICS ENGINEERING???
PPTX
How to use Logistic Regression in GIS using ArcGIS and R statistics
PDF
Communication portfolio
PPTX
Cloud computing using virtualization (Virtual Data Center)
PPTX
знакомтесь!
PPTX
Sumbangan tamadun cina
Docker for Python Development
Gettiing Started with IoT using Raspberry Pi and Python
Standard_Digital_Cadastral_Maps_2015_Adopted
3D Web Services And Models For The Web: Where Do We Stand?
Using unique and unusual archival records and data to illustrate and annotate...
Tips for Manipulating Data in Esri Geodatabase using FME
Curso de Geodatabase
Introducción a la geodatabase del SIOSE (I)
Digital cadaster in Bulgaria. Information system of cadaster and property reg...
Introducción a la geodatabase del SIOSE (II)
Graduate Research Thesis Defense Presentation
How to use R easily as GIS tools!
Ozri 2013 Brisbane, Australia - Geodatabase Efficiencies
Survey camp ii
WHAT'S THERE IN GEOMATICS ENGINEERING???
How to use Logistic Regression in GIS using ArcGIS and R statistics
Communication portfolio
Cloud computing using virtualization (Virtual Data Center)
знакомтесь!
Sumbangan tamadun cina
Ad

Similar to Presentation final 72 (20)

PPTX
OpenStreetMap in 3D - current developments
PDF
ViziCities - Lessons Learnt Visualising Real-world Cities in 3D
PDF
State of the Art Web Mapping with Open Source
PDF
BIM Conversion & Analysis Workshop: Story of the I-35W Bridge Collapse
PDF
Open BIM: bridging the gap between BIM and GIS
PDF
Ta Lab Hour Feb9 2011 Bolin
PDF
High-Quality Server Side Rendering using the OGC’s 3D Portrayal Service – App...
PDF
Phd defense slides
PPT
GIS Data Types
PDF
Osm Presentation
PDF
Bringing Cities to Life Using Big Data & WebGL
PPT
AUGE
PPTX
Mobile LBS
PPTX
University of Nottingham - NGI Geospatial Science Example Activities
PDF
GITA PNW 2015 Peter Batty
PDF
Tools for Visualizing Geospatial Data in a Web Browser
PPTX
Use of CityGML standard in the context of Smart City
PDF
"Open Mapping on iOS" — Justin Miller, MapBox
PDF
Introduction to mago3D, an Open Source Based Digital Twin Platform
PPTX
How to Easily Read and Write CityGML Data Using FME
OpenStreetMap in 3D - current developments
ViziCities - Lessons Learnt Visualising Real-world Cities in 3D
State of the Art Web Mapping with Open Source
BIM Conversion & Analysis Workshop: Story of the I-35W Bridge Collapse
Open BIM: bridging the gap between BIM and GIS
Ta Lab Hour Feb9 2011 Bolin
High-Quality Server Side Rendering using the OGC’s 3D Portrayal Service – App...
Phd defense slides
GIS Data Types
Osm Presentation
Bringing Cities to Life Using Big Data & WebGL
AUGE
Mobile LBS
University of Nottingham - NGI Geospatial Science Example Activities
GITA PNW 2015 Peter Batty
Tools for Visualizing Geospatial Data in a Web Browser
Use of CityGML standard in the context of Smart City
"Open Mapping on iOS" — Justin Miller, MapBox
Introduction to mago3D, an Open Source Based Digital Twin Platform
How to Easily Read and Write CityGML Data Using FME

More from Martin Christen (9)

PDF
Opening Session GeoPython & Python Machine Learning Conference
PDF
EuroPython 2019: GeoSpatial Analysis using Python and JupyterHub
PPTX
Lightning Talk GeoBeer #25
PDF
Teaching with JupyterHub - lessons learned
PDF
Mixed Reality Anwendungen mit 3D-Stadtmodellen
PDF
3D Computer Graphics with Python
PPTX
OpenStreetMap in 3D using Python
PPTX
3d mit Python (PythonCamp)
PDF
GeoBeer July 3rd, 2013
Opening Session GeoPython & Python Machine Learning Conference
EuroPython 2019: GeoSpatial Analysis using Python and JupyterHub
Lightning Talk GeoBeer #25
Teaching with JupyterHub - lessons learned
Mixed Reality Anwendungen mit 3D-Stadtmodellen
3D Computer Graphics with Python
OpenStreetMap in 3D using Python
3d mit Python (PythonCamp)
GeoBeer July 3rd, 2013

Recently uploaded (20)

PDF
Encapsulation theory and applications.pdf
PDF
Enhancing emotion recognition model for a student engagement use case through...
PDF
Hindi spoken digit analysis for native and non-native speakers
PPTX
OMC Textile Division Presentation 2021.pptx
PDF
August Patch Tuesday
PDF
Getting Started with Data Integration: FME Form 101
PPTX
cloud_computing_Infrastucture_as_cloud_p
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Web App vs Mobile App What Should You Build First.pdf
PDF
Approach and Philosophy of On baking technology
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
1 - Historical Antecedents, Social Consideration.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
TLE Review Electricity (Electricity).pptx
PDF
project resource management chapter-09.pdf
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
WOOl fibre morphology and structure.pdf for textiles
Encapsulation theory and applications.pdf
Enhancing emotion recognition model for a student engagement use case through...
Hindi spoken digit analysis for native and non-native speakers
OMC Textile Division Presentation 2021.pptx
August Patch Tuesday
Getting Started with Data Integration: FME Form 101
cloud_computing_Infrastucture_as_cloud_p
Building Integrated photovoltaic BIPV_UPV.pdf
Unlocking AI with Model Context Protocol (MCP)
MIND Revenue Release Quarter 2 2025 Press Release
Web App vs Mobile App What Should You Build First.pdf
Approach and Philosophy of On baking technology
Univ-Connecticut-ChatGPT-Presentaion.pdf
A comparative analysis of optical character recognition models for extracting...
1 - Historical Antecedents, Social Consideration.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
TLE Review Electricity (Electricity).pptx
project resource management chapter-09.pdf
Programs and apps: productivity, graphics, security and other tools
WOOl fibre morphology and structure.pdf for textiles

Presentation final 72

  • 1. Martin Christen FHNW – University of Applied Sciences and Arts Northwestern Switzerland School of Architecture, Civil Engineering and Geomatics Institute of Geomatics Engineering martin.christen@fhnw.ch @MartinChristen Visualization of 3D City Models on Mobile Phones using @MartinChristen GitHub: MartinChristen GitLab: martin.christen
  • 2. • Virtual Globe using WebGL • Open Source Project started in April 2011 • JavaScript Library for rapid development of web-based geospatial 3D applications • Data Processing written in C++ and Python 226 August 2016 2 OpenWebGlobe Institute of Geomatics Engineering
  • 3. 26 August 2016Institute of Geomatics Engineering 3 Previous Work: OpenWebGlobe – Virtual Globe using JavaScript / WebGL
  • 4. 26 August 2016Institute of Geomatics Engineering 4 Motivation: 3D-Streaming in the web browser MapData © OpenStreetMap contributors BTh Hürbi/Daetwyler, MTh Lucas Oertli, 2013
  • 5. 26 August 2016Institute of Geomatics Engineering 5 Streaming Example: 3D Geometry using OSM and “BOI” (worldwide streaming) MTh Lucas Oertli, 2013
  • 6. Hello World 26 August 2016Institute of Geomatics Engineering 6
  • 7. 26 August 2016Institute of Geomatics Engineering 7 How does it work ? EPSG:3857 (Visualization Pseudo Mercator) WGS84 Ellipsoid EPSG:4326 Proj.4 Library (pyproj): https://github.com/jswhit/pyproj http://www.spatialreference.org Global or local Datasets
  • 8. 26 August 2016Institute of Geomatics Engineering 8 Quadtree based – fully compatible with 2D Maps* 256 256 256 (Image courtesy of Microsoft, Bing Maps) *OpenStreetMap, Google Maps, Bing Maps, Yahoo Maps, … “zoom-levels”
  • 9. 26 August 2016Institute of Geomatics Engineering 9 Tile Types 2D Image Tile RGB(A) 256x256 pixels 2D Vector Tile Contains geometry. (if rasterized use Image Tile) 2D Elevation Tile Contains Elevation Data for example: 17x17 Values
  • 10. 26 August 2016Institute of Geomatics Engineering 10 Special Tile Types 3D Geometry Tile A 3D Geometry Tile contains Texture(s) & arbitrary 3D Geometry Within it‘s tile limit Separate Geometry for each zoom level GDAL Library: http://www.gdal.org
  • 11. 26 August 2016Institute of Geomatics Engineering 11 OpenWebGlobe 2 http://www.openwebglobe.org (coming soon) Currently in Development A new version – completely redesigned …with more Python! (Data processing is 98% Python code) 2
  • 12. 26 August 2016Institute of Geomatics Engineering 12 Why a new Version ? • 19 zoom levels over the whole planet results in about 360 billion tiles. • 19 zoom levels is too much for many applications • Many “real-world” applications/projects are oriented “local”. The need for a global 3D-scene is overkill. (1 Building, 1 city, 1 country…) • On mobile devices rendering 3D graphics is quite power consuming • Navigation on a 3D-Globe is difficult for many people • People still prefer 2D-Maps (fast, quick overview, …) • … • ... • ... • ... • ... 2
  • 13. 26 August 2016Institute of Geomatics Engineering 13 One new feature: Bringing together 2D Maps and 3D Globes Another tile type! Concept: Prerender a 3D Scene using a high quality offline 3D renderer using an orthographic projection and create “2D” image tiles for each zoom-level Constant, minimal bandwidth regardless of the complexity of the 3D city model MTh Markus Jung, 2014 (Similar approaches were already done by Döllner et al. and also go back to some concepts by Sutherland) 2
  • 14. 26 August 2016Institute of Geomatics Engineering 14 Display in the Webbrowser as “2D Map” MTh Markus Jung, 2014 2
  • 15. 26 August 2016Institute of Geomatics Engineering 15 High Resolution Geometry doesn’t matter: Same download/render speed MTh Markus Jung, 2014 2
  • 16. 26 August 2016Institute of Geomatics Engineering 16 90 CityGML files (2.72 GB) 26'474 textures (1024x1024), uncompressed size ca. 77 GB image data (orthophoto) ca. 430 GB uncompressed
  • 17. 26 August 2016Institute of Geomatics Engineering 17 Another example: 3D Map using OpenStreetMap data Source: BTh, Daniel Rettenmund 2015
  • 18. 26 August 2016Institute of Geomatics Engineering 18 App: make visible the invisibke (Roman city of Augusta Raurica)
  • 19. 26 August 2016Institute of Geomatics Engineering 19 Prerendering the Model: Color Map, Normal Map, Id-Map, Depth Map Dynamic Lighting Normal Map: for Object Identification: Highlighting, special effects, … Depth Map: for 3D Position, special effects, … 2
  • 20. 26 August 2016Institute of Geomatics Engineering 20 PyRT (no logo yet!) Rendering is done using pyRT (“Pirate”) pyRT is a new project for rendering high quality images using Ray Tracing (pyRT). By using global illumination, the results look quite nice. It also has Jupyter integration (render within your notebook) The project is currently in development and open sourced later. (MTh 2016: GPU support / OpenCL, starting in September 2016)
  • 21. 26 August 2016Institute of Geomatics Engineering 21 pyRT Example from pyrt.math import * from pyrt.geometry import Triangle from pyrt.camera import PerspectiveCamera from pyrt.renderer import SimpleRT camera = PerspectiveCamera(640,480) scene = Scene() scene.Add(Triangle(Vec3(0, 0, 0), Vec3(0, 5, 0), Vec3(1, 5, 0))) scene.SetCamera(camera) engine = renderer.SimpleRT() imgdata = engine.render(scene)
  • 22. 26 August 2016Institute of Geomatics Engineering 22 And “real 3d” is of course still possible in OpenWebGlobe 2 Typical Scene: From a single building to a planet…
  • 23. 26 August 2016Institute of Geomatics Engineering 23 Data Processing Architecture Web Viewer • HTML5, WebGL, JavaScript Data Processing & Storage/Cache • Python (most parts) • Some JavaScript (node.js) • Some C++ / OpenCL • Running on HPCC Raw data
  • 24. 26 August 2016Institute of Geomatics Engineering 24 All Architecture 3DPS (3D Portrayal Service) Based on the OGC 3DPS Candidate 2 world3d.js Real 3D map3d.js 3D Map map3d.js world3d.js owg2.js Building City Country Planet …
  • 25. 26 August 2016Institute of Geomatics Engineering 25 Docker (Source: docker.io) For development and deployment (processing tools / sample webservice / …)
  • 26. 26 August 2016 Institute of Geomatics Engineering 26 Questions ? Contact me at martin.christen@fhnw.ch @MartinChristen GitHub: MartinChristen GitLab: martin.christen