Powerpoint exploring the locations used in television show Time Clash
OpenWebGlobe - GeoSharing Bern
1. Generating and Caching 3D-Tiles for
Large-Scale 3D-Visualization
GeoSharing 02.11.2013, Bern, Switzerland
Martin Christen, Robert Wüest, Benjamin Loesch, Stephan Nebiker
FHNW – University of Applied Sciences and Arts Northwestern Switzerland
Institute of Geomatics Engineering
2. WebGL
• Web Graphics Library (based on OpenGL ES 2.0)
• Rendering interactive 2D/3D graphics within the webbrowser
• Optimized for JavaScript
• Hardware acceleration using the Graphics Processing Unit (GPU)
• WebGL programs consist of:
• application code written in JavaScript (CPU) and
• shader code (GLSL) for the GPU
• No plugin for these (desktop) browsers:
(11+)
Institute of Geomatics Engineering
2 November 2013
2
3. •
Virtual Globe without plugins for modern webbrowsers.
•
Open Source Project started in April 2011
(based on C++ version started in 2005)
•
Created by FHNW - University of Applied Sciences
Northwestern Switzerland (Institute of Geomatics
Engineering)
•
Uses HTML5 and WebGL
•
JavaScript Library for rapid development of
web-based 3D geoinformation applications
•
Full integration into customer web sites
•
Runs on Windows, MacOS X, Linux
•
Targets Desktop and Mobile Devices*
Institute of Geomatics Engineering
2 November 2013
3
5. Layers / Contents
• Imagery / Elevation
• POIs
• 3D Models
• HTML5 Canvas Element
• Overlays
• Point Clouds
Institute of Geomatics Engineering
2 November 2013
5
6. Global Datasets in 2D
First we need to understand how global 2D maps work.
OpenStreetMap, Google Maps, Bing Maps, ...
Theoretical example Earth:
– Land area of around 148.9 Mio. km2 (~ 29%)
– Water area of around 361.2 Mio. km2 (~ 71%)
If we had a global dataset with 25cm2 / Pixel:
– Land area (uncompressed) around 170 Petabytes
Institute of Geomatics Engineering
2 November 2013
6
7. 2D Tiles
Always one zoom level visible
User zooms in/out
(GUI / mouse wheel)
only required data ("visible data")
is requested from the server (or
cloud)
Screenshots from Google Maps
Institute of Geomatics Engineering
2 November 2013
7
8. 2D Maps – Quadtree structure
256
Institute of Geomatics Engineering
(Image courtesy of Microsoft, Bing Maps)
2 November 2013
8
9. "Web Mercator" / "Popular Visualization Pseudo Mercator"
Min/Max Latitude at around +-85 degrees (-> square map...)
Projection: Sphere (!) with radius of 6378137m
Invented by Google, unfortunatly many web maps use it today
(Reason was performance, but that is not really the case)
"almost conformal" projection.
EPSG:3857 (don't use EPSG: 900913)
Projektion
Sphere (!!!)
Institute of Geomatics Engineering
Projektion
Ellipsoid (virtual Globe)
2 November 2013
9
10. The Step to 3D
Basically the same like 2D, however:
256
The View Frustum contains different LOD
256
Level of detail depends on camera
position.
Elevation data can be displayed (change
of perspective)
256
256
Institute of Geomatics Engineering
2 November 2013
10
11. Some Tile Types
2D Image Tile
contents: 256x256 Pixels (in most cases)
(May also contain rasterized vectors etc.)
2D Vector Tile
contents: 2D Geometry
(Number of Elements limited for LOD)
2D Elevation Tile
contents: Elevation values (e.g. numbers)
contents 17x17 values (or similar).
Institute of Geomatics Engineering
2 November 2013
11
15. 3D Tiles: Block of Geometry / Scenegraph
A 3D Tile contains:
• optimized 2D/3D Geometry (simplified for current LOD)
Examples:
max. 500 triangles per Tile
max. 1000 Points / Voxels per Tile (Point Cloud)
max. 1 index list and max. 1 vertex list (-> GPU)
• optimized textures (for example by using Texture Atlas)
http://wiki.polycount.com/TextureAtlas
Example:
1-3 Textures per Tile (-> GPU)
• Texture coordinates for other image layer(s)
Institute of Geomatics Engineering
2 November 2013
15
16. 3D Standards
Existing Standards:
• KML / COLLADA – Not optimized for rendering!
• CityGML – Not optimized for rendering!
• X3D/X3DOM – Not optimized for rendering!
• ...
Coming soon:
• OGC 3D Portrayal Service (3DPS) [in development]
• glTF – Transmission format for WebGL, OpenGL ES, and OpenGL.
optimized for rendering – [in development]
Institute of Geomatics Engineering
2 November 2013
16
17. 3D Portrayal Service (3DPS)
Goal: Develop a standard service interface to visualize very large 3D
geospatial datasets online via Web-Browser and Mobile Devices.
Content delivery includes 3D Scenegraph as well as image based rendering
(Formats: X3D, COLLADA; for web browsers: X3DOM, XML3D, JSON)
Institute of Geomatics Engineering
2 November 2013
17
18. Example of 3DPS for a 3D Service running in the Web Browser
Institute of Geomatics Engineering
2 November 2013
18
19. Other Data Sources
Generate tiles on the Cloud:
Traditional Solution
download visible data
fragments (tiles)
WMS, WMTS, TMS, ...
Postgres / PostGIS
3DPS (in Future)
Generate many many
many many many many
many many many many
tiles
(Web-) Viewer
HTML5
JavaScript
WebGL for 3D
Upload Raw data to Cloud
(or web server)
Raw: Image, Elevation, 3DModels, Point Clouds, ...
Institut Vermessung und Geoinformation
02.11.2013
19
20. Generate tiles in the Cloud:
On-The-Fly Tile Generation
Institute of Geomatics Engineering
2 November 2013
20
21. Conclusion
• OpenWebGlobe
• 2D & 3D Tiles... almost the same... but very different
• Computer Graphics & Geo community need to work together when creating 3D
Standards.
• We need Standards for rendering efficiently.
• Different approach for creating (3D-) Tiles using current standards.
Institute of Geomatics Engineering
2 November 2013
21