27
OpenWebGlobe Geospatial World Forum 5.5.2014, Gen Geospatial World Forum 5.5.2014, Gen Martin Christen Martin Christen FHNW University of Applied Sciences and Arts Northw Institute of Geomatics Engineering neva, Switzerland neva, Switzerland western Switzerland

OpenWebGlobe - Geospatial World Forum...May 15, 2014  · •Create Native iOS, Android, Windows Phone Applications •Create Native Desktop Applications •Browser Support using WebGL

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: OpenWebGlobe - Geospatial World Forum...May 15, 2014  · •Create Native iOS, Android, Windows Phone Applications •Create Native Desktop Applications •Browser Support using WebGL

OpenWebGlobeGeospatial World Forum 5.5.2014, GenevaGeospatial World Forum 5.5.2014, Geneva

Martin ChristenMartin ChristenFHNW – University of Applied Sciences and Arts NorthwesternInstitute of Geomatics Engineering

Geneva, SwitzerlandGeneva, Switzerland

Northwestern Switzerland

Page 2: OpenWebGlobe - Geospatial World Forum...May 15, 2014  · •Create Native iOS, Android, Windows Phone Applications •Create Native Desktop Applications •Browser Support using WebGL

WebGL

• 3D Graphics on the Web (based on OpenGL ES 2.0)• 3D Graphics on the Web (based on OpenGL ES 2.0)

• Rendering interactive 2D/3D graphics within the w

• Highly Optimized for JavaScript• Highly Optimized for JavaScript

• Hardware acceleration using the Graphics

• WebGL programs consist of:• WebGL programs consist of:

• application code written in JavaScript

• shader code (GLSL) for the GPU• shader code (GLSL) for the GPU

• No plugin for these (desktop) browsers:

Institute of Geomatics Engineering

(based on OpenGL ES 2.0)(based on OpenGL ES 2.0)

endering interactive 2D/3D graphics within the webbrowser

Graphics Processing Unit (GPU)

code written in JavaScript (CPU) and

No plugin for these (desktop) browsers:

(11+)

15 May 2014 2

(11+)

Page 3: OpenWebGlobe - Geospatial World Forum...May 15, 2014  · •Create Native iOS, Android, Windows Phone Applications •Create Native Desktop Applications •Browser Support using WebGL

• Virtual Globe without plugins for modern webbrowsers, using WebGLwebbrowsers, using WebGL

• Open Source Project started in April 2011(based on C++ version started in 2005)(based on C++ version started in 2005)

• JavaScript Library for rapid developmentweb-based 3D geoinformation applications

• Full integration into customer web sites

• Runs on Windows, MacOS X, Linux• Runs on Windows, MacOS X, Linux

Institute of Geomatics Engineering

modern

in April 2011

development ofapplications

sites

315 May 2014 3

Page 4: OpenWebGlobe - Geospatial World Forum...May 15, 2014  · •Create Native iOS, Android, Windows Phone Applications •Create Native Desktop Applications •Browser Support using WebGL

Demo

http://world.openwebglobe.orghttp://world.openwebglobe.orghttp://swiss3d.openwebglobe.org

Institute of Geomatics Engineering

://world.openwebglobe.org://world.openwebglobe.orghttp://swiss3d.openwebglobe.org

15 May 2014 4

Page 5: OpenWebGlobe - Geospatial World Forum...May 15, 2014  · •Create Native iOS, Android, Windows Phone Applications •Create Native Desktop Applications •Browser Support using WebGL

Layers / Contents

• Imagery / Elevation

• POIs • POIs

• 3D Models

• HTML5 Canvas Element• HTML5 Canvas Element

• Overlays

• Point Clouds

Institute of Geomatics Engineering 515 May 2014 5

Page 6: OpenWebGlobe - Geospatial World Forum...May 15, 2014  · •Create Native iOS, Android, Windows Phone Applications •Create Native Desktop Applications •Browser Support using WebGL

Hello World

Institute of Geomatics Engineering

http://15 May 2014 6

http://jsbin.com/owg_layer_example/1/edit

Page 7: OpenWebGlobe - Geospatial World Forum...May 15, 2014  · •Create Native iOS, Android, Windows Phone Applications •Create Native Desktop Applications •Browser Support using WebGL

Global Datasets in 2D

First we need to understand how global 2D First we need to understand how global 2D

OpenStreetMap, Google Maps, Bing Maps

Theoretical example Earth:Theoretical example Earth:

–Land area of around 148.9 Mio. km2 (~ 29

–Water area of around 361.2 Mio. km2–Water area of around 361.2 Mio. km

If we had a global dataset with 25cm2 / Pixel:

–Land area (uncompressed) around 170

Institute of Geomatics Engineering

global 2D maps work.global 2D maps work.

Maps, ...

(~ 29%)

(~ 71%)(~ 71%)

/ Pixel:

170 Petabytes

15 May 2014 7

Page 8: OpenWebGlobe - Geospatial World Forum...May 15, 2014  · •Create Native iOS, Android, Windows Phone Applications •Create Native Desktop Applications •Browser Support using WebGL

2D Tiles

Always one zoom level visible

User zooms in/out (GUI / mouse wheel)(GUI / mouse wheel)

only required data ("visible data") is requested from the server (or cloud)cloud)

Institute of Geomatics Engineering

Screenshots from Google Maps

15 May 2014 8

Page 9: OpenWebGlobe - Geospatial World Forum...May 15, 2014  · •Create Native iOS, Android, Windows Phone Applications •Create Native Desktop Applications •Browser Support using WebGL

2D Maps – Quadtree structure

256

Institute of Geomatics Engineering

(Image courtesy of Microsoft, Bing Maps)

15 May 2014 9

Page 10: OpenWebGlobe - Geospatial World Forum...May 15, 2014  · •Create Native iOS, Android, Windows Phone Applications •Create Native Desktop Applications •Browser Support using WebGL

The Step to 3D

Basically the same like 2D, however:

The View Frustum contains different

Level of detail depends on camera position.

Elevation data can be displayed (change of perspective)of perspective)

Institute of Geomatics Engineering

The View Frustum contains different LOD 256

256

Elevation data can be displayed (change

256

15 May 2014 10

256

Page 11: OpenWebGlobe - Geospatial World Forum...May 15, 2014  · •Create Native iOS, Android, Windows Phone Applications •Create Native Desktop Applications •Browser Support using WebGL

OpenWebGlobe: 2.5D Elevation Tiles (Level of Detail)

Institute of Geomatics Engineering

2.5D Elevation Tiles (Level of Detail)

1115 May 2014 11

Page 12: OpenWebGlobe - Geospatial World Forum...May 15, 2014  · •Create Native iOS, Android, Windows Phone Applications •Create Native Desktop Applications •Browser Support using WebGL

Important Tile Types

2D Image Tile2D Image Tilecontents: 256x256 Pixels (in most cases)(May also contain rasterized vectors etc.)

2D Vector Tilecontents: 2D Geometrycontents: 2D Geometry(Number of Elements limited for LOD)

2D Elevation Tile (-> forcontents: Elevation valuescontents: Elevation valuescontents 17x17 values

Institute of Geomatics Engineering

contents: 256x256 Pixels (in most cases)(May also contain rasterized vectors etc.)

contents: 2D Geometrycontents: 2D Geometry(Number of Elements limited for LOD)

for creating 3D Tiles)values (e.g. numbers)values (e.g. numbers)

values (or similar).

15 May 2014 12

Page 13: OpenWebGlobe - Geospatial World Forum...May 15, 2014  · •Create Native iOS, Android, Windows Phone Applications •Create Native Desktop Applications •Browser Support using WebGL

Solution #1:Preprocessing all tiles in the cloud

download visible data fragments (tiles)fragments (tiles)

(Web-) ViewerHTML5JavaScriptJavaScriptWebGL for 3D

Institute of Geomatics Engineering

Other Data Sources

WMS, WMTS, TMS, ...Postgres / PostGIS3DPS (in Future)

Generate tilesGenerate tiles(for Streaming)

Upload Raw data to Cloud(or web server)(or web server)

Raw: Image, Elevation, 3D-

15 May 2014

Raw: Image, Elevation, 3D-Models, Point Clouds, ...

13

Page 14: OpenWebGlobe - Geospatial World Forum...May 15, 2014  · •Create Native iOS, Android, Windows Phone Applications •Create Native Desktop Applications •Browser Support using WebGL

Solution #2:Partial Preprocessing Tiles & On-The-Fly Tile

Institute of Geomatics Engineering

Tile Generation and Caching

15 May 2014 14

Page 15: OpenWebGlobe - Geospatial World Forum...May 15, 2014  · •Create Native iOS, Android, Windows Phone Applications •Create Native Desktop Applications •Browser Support using WebGL

HPC: 120 TB Data (900MB/s), >50 CPU Cores in combination with cloud

Institute of Geomatics Engineering

HPC: 120 TB Data (900MB/s), >50 CPU Cores in combination with cloud

15 May 2014 15

Page 16: OpenWebGlobe - Geospatial World Forum...May 15, 2014  · •Create Native iOS, Android, Windows Phone Applications •Create Native Desktop Applications •Browser Support using WebGL

Showcase: Streaming 3D-Geometry TilesBachelor Thesis / Master Thesis @FHNW IVGI

Image courtesy of BTh Hürbi/Daetwyler, MTh Lucas Oertli, 2013

Institute of Geomatics Engineering

Image courtesy of BTh Hürbi/Daetwyler, MTh Lucas Oertli, 2013

Tiles (from OSM data & Buildings of Interest)Bachelor Thesis / Master Thesis @FHNW IVGI

15 May 2014

MapData © OpenStreetMap contributors

16

Page 17: OpenWebGlobe - Geospatial World Forum...May 15, 2014  · •Create Native iOS, Android, Windows Phone Applications •Create Native Desktop Applications •Browser Support using WebGL

Institute of Geomatics Engineering 15 May 2014 17

Page 18: OpenWebGlobe - Geospatial World Forum...May 15, 2014  · •Create Native iOS, Android, Windows Phone Applications •Create Native Desktop Applications •Browser Support using WebGL

Demo (Civil Engineering Department Basel

Institute of Geomatics Engineering

Demo (Civil Engineering Department Basel-Stadt)

15 May 2014 18

Page 19: OpenWebGlobe - Geospatial World Forum...May 15, 2014  · •Create Native iOS, Android, Windows Phone Applications •Create Native Desktop Applications •Browser Support using WebGL

ShowCase: Rapid 3D Mapping

Institute of Geomatics Engineering 15 May 2014 19

Page 20: OpenWebGlobe - Geospatial World Forum...May 15, 2014  · •Create Native iOS, Android, Windows Phone Applications •Create Native Desktop Applications •Browser Support using WebGL

ShowCase: SwizzQuiz – Interactive

Institute of Geomatics Engineering

Interactive Geo Game

15 May 2014 20

Page 21: OpenWebGlobe - Geospatial World Forum...May 15, 2014  · •Create Native iOS, Android, Windows Phone Applications •Create Native Desktop Applications •Browser Support using WebGL

Coming soon: OpenWebGlobe

Institute of Geomatics Engineering

OpenWebGlobe 2.0

15 May 2014 21

Page 22: OpenWebGlobe - Geospatial World Forum...May 15, 2014  · •Create Native iOS, Android, Windows Phone Applications •Create Native Desktop Applications •Browser Support using WebGL

Some features:Some features:

• Easier Data Processing & Cloud Setup• Easier Data Processing & Cloud Setup

• Create Native iOS, Android, Windows Phone Applications

• Create Native Desktop Applications

• Browser Support using WebGL• Browser Support using WebGL

• Improved Speed• Faster downloads• Faster downloads

• Improved Graphics

• Streaming all Layers (Image, Elevation, 3D, PC, ...)• Streaming all Layers (Image, Elevation, 3D, PC, ...)

Institute of Geomatics Engineering

Easier Data Processing & Cloud SetupEasier Data Processing & Cloud Setup

, Android, Windows Phone Applications

Streaming all Layers (Image, Elevation, 3D, PC, ...)Streaming all Layers (Image, Elevation, 3D, PC, ...)

15 May 2014 22

Page 23: OpenWebGlobe - Geospatial World Forum...May 15, 2014  · •Create Native iOS, Android, Windows Phone Applications •Create Native Desktop Applications •Browser Support using WebGL

Augmented Maps

Institute of Geomatics Engineering 15 May 2014 23

Page 24: OpenWebGlobe - Geospatial World Forum...May 15, 2014  · •Create Native iOS, Android, Windows Phone Applications •Create Native Desktop Applications •Browser Support using WebGL

Conclusion

• OpenWebGlobe – an Open Source Platform• OpenWebGlobe – an Open Source Platform

• Visualization of a virtual globe on the

• Processing 2D and 3D- Data for streaming• Processing 2D and 3D- Data for streaming

• Streaming large Scale Dataset requires• Streaming large Scale Dataset requires

• 2D & 3D Tiles... almost the same... but • 2D & 3D Tiles... almost the same... but

• New possibilities• New possibilities

• Scale Point Cloud Streaming

• Augmented 3D Maps

Institute of Geomatics Engineering

• Augmented 3D Maps

Platform forPlatform for

the Web

streaming large scale datastreaming large scale data

requires new standardsrequires new standards

same... but very different same... but very different

15 May 2014 24

Page 25: OpenWebGlobe - Geospatial World Forum...May 15, 2014  · •Create Native iOS, Android, Windows Phone Applications •Create Native Desktop Applications •Browser Support using WebGL

Questions ?

MapData © MapPuls, ASTER GDEMv2, Landsat

Institute of Geomatics Engineering

https://github.com/OpenWebGlobe

@OpenWebGlobe@MartinChristen

15 May 2014 25

Page 26: OpenWebGlobe - Geospatial World Forum...May 15, 2014  · •Create Native iOS, Android, Windows Phone Applications •Create Native Desktop Applications •Browser Support using WebGL

"Web Mercator" / "Popular Visualization

Min/Max Latitude at around +-85 degreesMin/Max Latitude at around +-85 degrees

Projection: Sphere (!) with radius of 6378137m

Invented by Google, unfortunatly manyInvented by Google, unfortunatly many(Reason was performance, but that is

"almost conformal" projection.

EPSG:3857 (don't use EPSG: 900913)

Projection

Institute of Geomatics Engineering

Sphere (!!!)

Visualization Pseudo Mercator"

degrees (-> square map...)degrees (-> square map...)

6378137m

many web maps use it todaymany web maps use it todayis not really the case)

EPSG: 900913)

Projection

15 May 2014

Ellipsoid (virtual Globe)

26

Page 27: OpenWebGlobe - Geospatial World Forum...May 15, 2014  · •Create Native iOS, Android, Windows Phone Applications •Create Native Desktop Applications •Browser Support using WebGL

3D Tiles ?

Institute of Geomatics Engineering 15 May 2014 27