openwebglobe - geosharing bern

22
Martin Christen, Robert Wüest, Benjamin Loesch, Stephan Nebiker FHNW University of Applied Sciences and Arts Northwestern Switzerland Institute of Geomatics Engineering Generating and Caching 3D-Tiles for Large-Scale 3D-Visualization GeoSharing 02.11.2013, Bern, Switzerland

Upload: martinchristen

Post on 15-Dec-2014

295 views

Category:

Technology


5 download

DESCRIPTION

GeoSharing Uni Bern November 2nd, 2013

TRANSCRIPT

Page 1: OpenWebGlobe - GeoSharing Bern

Martin Christen, Robert Wüest, Benjamin Loesch, Stephan Nebiker

FHNW – University of Applied Sciences and Arts Northwestern Switzerland

Institute of Geomatics Engineering

Generating and Caching 3D-Tiles for

Large-Scale 3D-Visualization GeoSharing 02.11.2013, Bern, Switzerland

Page 2: OpenWebGlobe - GeoSharing Bern

2 November 2013 Institute of Geomatics Engineering

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:

2

(11+)

Page 3: OpenWebGlobe - GeoSharing Bern

• 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*

3 Institute of Geomatics Engineering 2 November 2013

Page 4: OpenWebGlobe - GeoSharing Bern

2 November 2013 Institute of Geomatics Engineering 4

Demo Time

http://world.openwebglobe.org

http://swiss3d.openwebglobe.org

Page 5: OpenWebGlobe - GeoSharing Bern

Layers / Contents

Institute of Geomatics Engineering 5

• Imagery / Elevation

• POIs

• 3D Models

• HTML5 Canvas Element

• Overlays

• Point Clouds

2 November 2013

Page 6: OpenWebGlobe - GeoSharing Bern

2 November 2013 Institute of Geomatics Engineering

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

6

Page 7: OpenWebGlobe - GeoSharing Bern

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

2D Tiles

2 November 2013 Institute of Geomatics Engineering 7

Page 8: OpenWebGlobe - GeoSharing Bern

2 November 2013 Institute of Geomatics Engineering 8

2D Maps – Quadtree structure

256 (Image courtesy of Microsoft, Bing Maps)

Page 9: OpenWebGlobe - GeoSharing Bern

2 November 2013 Institute of Geomatics Engineering

"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 (!!!) Ellipsoid (virtual Globe)

Projektion

9

Page 10: OpenWebGlobe - GeoSharing Bern

2 November 2013 Institute of Geomatics Engineering 10

The Step to 3D

Basically the same like 2D, however:

The View Frustum contains different LOD

Level of detail depends on camera

position.

Elevation data can be displayed (change

of perspective)

256

256

256

256

Page 11: OpenWebGlobe - GeoSharing Bern

2 November 2013 Institute of Geomatics Engineering 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).

Page 12: OpenWebGlobe - GeoSharing Bern

2 November 2013 Institute of Geomatics Engineering 12

3D Tiles ?

Page 13: OpenWebGlobe - GeoSharing Bern

OpenWebGlobe: 2.5D Elevation Tiles (Level of Detail)

Institute of Geomatics Engineering 13 2 November 2013 13

Page 14: OpenWebGlobe - GeoSharing Bern

2 November 2013 Institute of Geomatics Engineering

OpenWebGlobe: 3D-Geometry Tiles (from OSM data)

MapData © OpenStreetMap contributors

14

Image courtesy of BTh Hürbi/Daettwyler, 2013

Page 15: OpenWebGlobe - GeoSharing Bern

2 November 2013 Institute of Geomatics Engineering 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)

Page 16: OpenWebGlobe - GeoSharing Bern

2 November 2013 Institute of Geomatics Engineering

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]

16

Page 17: OpenWebGlobe - GeoSharing Bern

2 November 2013 Institute of Geomatics Engineering

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)

17

Page 18: OpenWebGlobe - GeoSharing Bern

2 November 2013 Institute of Geomatics Engineering

Example of 3DPS for a 3D Service running in the Web Browser

18

Page 19: OpenWebGlobe - GeoSharing Bern

02.11.2013 Institut Vermessung und Geoinformation

Generate tiles on the Cloud:

Traditional Solution

download visible data

fragments (tiles)

Raw: Image, Elevation, 3D-

Models, Point Clouds, ...

(Web-) Viewer HTML5

JavaScript

WebGL for 3D

Generate many many

many many many many

many many many many

tiles

Upload Raw data to Cloud

(or web server)

Other Data Sources

WMS, WMTS, TMS, ...

Postgres / PostGIS

3DPS (in Future)

19

Page 20: OpenWebGlobe - GeoSharing Bern

2 November 2013 Institute of Geomatics Engineering 20

Generate tiles in the Cloud:

On-The-Fly Tile Generation

Page 21: OpenWebGlobe - GeoSharing Bern

2 November 2013 Institute of Geomatics Engineering

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.

21

Page 22: OpenWebGlobe - GeoSharing Bern

2 November 2013 Institute of Geomatics Engineering 22

Questions ?

MapData © MapPuls, ASTER GDEMv2, Landsat

http://www.openwebglobe.org