3D webservices - where do we stand? Emmanuel Belo +41 21 619 10 25 - - PowerPoint PPT Presentation

3d webservices where do we stand
SMART_READER_LITE
LIVE PREVIEW

3D webservices - where do we stand? Emmanuel Belo +41 21 619 10 25 - - PowerPoint PPT Presentation

3D webservices - where do we stand? Emmanuel Belo +41 21 619 10 25 emmanuel.belo@camptocamp.com Camptocamp Open Source Service Provider Staff 49 Switzerland, France & Austria Wien Since 2001 Lausanne Chambry 2/37


slide-1
SLIDE 1

3D webservices - where do we stand?

Emmanuel Belo +41 21 619 10 25 emmanuel.belo@camptocamp.com

slide-2
SLIDE 2

2/37

Chambéry Wien Lausanne

Camptocamp

■ Open Source Service Provider ■ Staff 49 ■ Switzerland, France & Austria ■ Since 2001

slide-3
SLIDE 3

3/37

Camptocamp: 3 divisions

slide-4
SLIDE 4

4/37

Google Maps

slide-5
SLIDE 5

5/37

Google Maps

slide-6
SLIDE 6

6/37

Here maps (Nokia)

slide-7
SLIDE 7

7/37

OpenWebGlobe

slide-8
SLIDE 8

8/37

Cesium

slide-9
SLIDE 9

9/37

Geospatial 3D Web expectations?

■ 3D Scenes

○ Aerial imagery and terrain ○ Buildings with textures ○ Label and marker ○ Rich interaction (Navigate, pick, popup, measure, usw.) ○ Global perimeter, higher local resolution

■ Technology

○ Web (no plugin), Cross Platform and Cross Device ○ Open Standards and Formats ○ Open Source

■ What's available?

slide-10
SLIDE 10

10/37

Web ?

slide-11
SLIDE 11

11/37

WebGL !

■ Web Graphics Library ■ Javascript API for rendering interactive 2D/3D graphics

withing the webbrowser

■ Hardware acceleration using the Graphics Processing Unit

(GPU)

■ WebGL Programs consist of :

○ Control code written in Javascript (CPU) and ○ Shader code that is executed on a computer's GPU

■ No Plugin ! Also in IE11 !!! ■ Mobile device ready : Firefox, Sony Android Browser, Opera

slide-12
SLIDE 12

12/37

Open Standards ?

slide-13
SLIDE 13

13/37

Standardizing and Merging worlds

■ Geo: OGC

○ 3D Portrayal Services (Proposals: WVS WMS-Like & W3DS WFS-Like) ○ KML – XML/COLLADA ○ CityGML - representation, storage, and exchange ○ CZML (AGI/Cesium) ?

■ Geo: OSGEO

○ TMS (Cesium Terrain Server z.B)

■ Web: Web3d

○ X3D - Extensible 3D Graphics

■ Graphics: Khronos Group

○ COLLADA – eXchange / interoperability ○ glTF – graphic language Transmission Format

slide-14
SLIDE 14

14/37

3D Portrayal Service (3DPS)

■ Goal:

○ Standard service interface to visualize very large 3D

geospatial databases online vie Web-Browser and Mobile Devices

○ 3D Scenegraph and image based rendering

slide-15
SLIDE 15

16/37

Model Challenges

■ Compact object representation

○ Bandwith

■ Progressive transfert

○ Streaming ○ LOD

■ Fast Model Display

○ GPU intensive, reduce CPU usage

■ Application/Software independent

○ Standard

Mesh encodings for X3DOM:Recent Advances by Max Limper and Johannes Behr, Fraunhofer IGD

slide-16
SLIDE 16

17/37

X3D Geometries

■ Basic primitives (Box, Cone Cylinder, Sphere) ■ IndexedFaceSet (3D shape formed by constructing faces

  • polygons) <IndexedFaceSet coordIndex='0 11 12 -1

12 1 0 -1 etc />

<Coordinate point='0.7000 1.2000 0.0000, 0.6930 1.2177 0.0000, etc />

○ => Large HTML pages, CPU + Loading time

■ X3dom optimizations

○ Binary Geometry employs several files to store the index and

geometry data directly in the requested precision

○ Progressively Ordered Primitive (POP) Buffer

slide-17
SLIDE 17

18/37

CZML - Cesium Language

■ Describes

○ Graphical scene ○ Time-dynamic data

■ Caracteristics

○ JSON structure ○ Line, points, markers, models ○ Describes changes over time ○ Supports datastreaming ○ Extensible

slide-18
SLIDE 18

20/37

glTF graphic language Transmission Format

■ JSON used to describe node hierarchy ■ Node hierarchy refers to EXTERNAL binary asset blobs ○ Geometry, Texturen, Material ■ Non-compressed asset blob format ○ Direct load in WebGL ■ Extensible ○ Streaming and compression

slide-19
SLIDE 19

21/37

Open Source Software ?

slide-20
SLIDE 20

22/37

Open Source implementations

■ PostGIS – stores and exports 3D data

○ Export X3D data: ST_AsX3D

■ Geoserver

○ Provides a W3DS API (getScene & getTile) ○ X3D & Cesium Terrain API

■ X3dom

○ JS API for displaying and interacting with X3D data

■ Three.JS

○ Rich 3D model visualisation

■ OpenWebGlobe & CesiumJS

○ Full geospatial suites to process and display/interact with 3D in the Web

slide-21
SLIDE 21

23/37

PostGIS/Geoserver W3DS/X3D/X3DOM

slide-22
SLIDE 22

24/37

X3DOM

■ Experimental Open Source Framework ■ Display 3D models with WebGL ■ Web3D & W3C Standardizing Process ■ Goal : 3D objects in the Web ■ Easy to use (HTML5 DOM) ■ Supports HTML Events (Ex : OnClick)

slide-23
SLIDE 23

25/37

X3DOM – JS Library

slide-24
SLIDE 24

27/37

Three.JS

■ Lightweight xBrowser JS library/API ■ Goal : create and display animated 3D computer graphics

  • n a Web browser.

■ HTML5 SVG/WebGL ■ Proprietary format + glTF

slide-25
SLIDE 25

28/37

Three.JS examples

QGIS export (c) http://anitagraser.com/ Procedural city (c) http://mrdoob.com

slide-26
SLIDE 26

29/37

OpenWebGlobe

■ Helps you to create your own virtual globe applications

running plug-in free in a web browser

■ Allows the visualization of large scale image, elevation or

  • ther geospatial data

■ OpenSource (MIT License)

slide-27
SLIDE 27

30/37

CesiumJS

■ Javascript Software with WebGL for displaying

○ 3D virtual globe ○ 2D map ○ 2.5D Collombus View

■ Time-dynamic Scenes with CZML ■ Multiple terrain sources ■ Overlays :

○ Raster : WMS, TMS, OSM, Bing & Esri ○ Vector : glTF, CZML, KML, Shapefiles

■ Extensible with plugins

slide-28
SLIDE 28

31/37

Cesium – 3 views, WebGL

slide-29
SLIDE 29

32/37

CZML 3D + time-dynamic display

slide-30
SLIDE 30

33/37

Cesium – Terrain + Overlay

slide-31
SLIDE 31

34/37

Cesium Sandcastle

slide-32
SLIDE 32

35/37

OpenLayers 3 – Cesium Integration

slide-33
SLIDE 33

36/37

Conclusion

■ High activity in the 3D WebGL domain ○ Big Players set public expectations ○ Ongoing standardizations efforts ○ WebGL momentum (Microsoft is now on board) ■ Consider : ○ Dataquantity to be stored and processed in the backend ○ Data transfer and streaming with different LODs ○ Deliver data for the GPU, avoid CPU processing AND Provide

access to semantics for the CPU

○ Web3D implementations have limited encoding possibilities

applied to the geospatial world

slide-34
SLIDE 34