Theme: Data: presentations focused on data (be it capture, storage, discovery or new data models such as 3D, temporal data, big data).
The aim of this talk is to sum up the standardization efforts (OGC and W3C) in defining 3D web services and models, as well as to show existing implementations to support the discussion.
In the past years, numerous open source projects have started to display 3D globes and 3D data on the web. Standardizing web services, data format and representation models is, therefore, a very hot topic. There are in particular ongoing efforts on the OGC side as well as on the W3C side. The OGC has released a draft candidate for a 3D web service W3DS, the ISO X3D standard proposes an XML-based file format for representing 3D computer graphics and the W3C is considering adding X3D rendering into HTML5. Other projects implement their own web services and formats. On the implementation side, Geoserver supports W3DS and X3D, the X3DOM library prototypes a possible implementation of X3D HTML5 integration and last but not least, browsers with WebGL support are fully able to handle the representation of 3D data on the client side. The talk is going to detail the mentioned elements, show demonstrations of existing implementations and try to suggest a possible path into the 3D web for the FOSS4G community.
Scale your database traffic with Read & Write split using MySQL Router
3D Web Services And Models For The Web: Where Do We Stand?
1. Martin Christen, martin.christen@fhnw.ch Emmanuel Belo emmanuel.belo@camptocamp.com
FHNW – Switzerland Camptocamp SA
Intitute of Geomatics Engineering Geospatial Solutions
3D Web Services And Models For The
Web: Where Do We Stand?
5. 20/09/13Intitute of Geomatics Engineering
What do we want in the Geospatial 3D Web
• 3D scenes
• Aerial imagery and DEM
• Buildings (textured)
• Labels and Markers
• Interaction (navigate, select, popup, measure, etc)
• Large / worldwide perimeter and local precision
• Technology
• Web (no plugin)
• Cross Platforms and Cross Devices
• Open standards, formats and open source
• What’s available?
6. 20/09/13Intitute of Geomatics Engineering
WebGL!
• Web Graphics Library
• Javascript API for rendering interactive 2D/3D graphics within 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
7. 20/09/13Intitute of Geomatics Engineering
Standardizing and Merging worlds
• Geo: OGC
• 3D Portrayal Services (Proposals: WVS WMS-Like and W3DS WFS-Like)
• KML
• CityGML
• Web: Web3d
• X3D - Extensible 3D Graphics
• Graphics: Khronos Group
• WebGL
• COLLADA – eXchange / interoperability
• glTF - the runtime asset format for WebGL, OpenGL ES, and OpenGL
8. 20/09/13Intitute of Geomatics Engineering
3D Portrayal Service (3DPS)
Goal: Develop a standard service interface to visualize very large 3D geospatial
databases 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)
10. 20/09/13Intitute of Geomatics Engineering
OGC - W3DS
• OGC Specification for 3D Scene, WFS like
• Example request:
• http://xyz.org/geoserver/w3ds?
version=0.4&service=w3ds&
request=GetScene&
format=model/x3d+xml&
crs=EPSG:25833&
boundingbox=407255,5866253,483505,5940003&
layers=layername
• Result: X3D file
11. 20/09/13Intitute of Geomatics Engineering
OGC - W3DS
• OGC Specification for 3D Tiles, WFS like
• Example request:
• http://xyz.org/geoserver/w3ds?
version=0.4&service=w3ds&
request=GetTile&
format=model/x3d+xml&
layer=dem_tiled_3d&
crs=EPSG:25833&
tilelevel=0&
tilerow=5&
tilecol=7&
12. 20/09/13Intitute of Geomatics Engineering
3D Portrayal SWG (Standards Working Group)
Currently the standard is being finalized
The draft is soon released to public (on GitHub) and open for comments
The OGC standard is scheduled for Q1/2014
13. 20/09/13Intitute of Geomatics Engineering
Web3D - X3D Geometries
• Basic primitives (Box, Cone Cylinder, Sphere)
–http://x3dom.org/x3dom/example/x3dom_geoPrimitives.xhtml
• 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 />
• Binary Geometry employs several files to store the index and geometry data
directly in the requested precision,
• Image Geometry uses two component files for the position information, one
for each byte.
• BitLOD Geometry uses several chunks to accumulate the full precision,
where each chunk provides a refinement for the position and normal
information.
15. 20/09/13Intitute of Geomatics Engineering
Implementations
• PostGIS – stores and export 3D data
• Export X3D data: ST_AsX3D
• Geoserver
• Provides W3DS API (getScene & getTile)
• X3D format supported
• X3dom
• JS API for displaying and interacting with X3D data
• OpenWebGlobe
• Full suite to process and display/interact with 3D in the WEB
19. 20/09/13Intitute of Geomatics Engineering
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 other geospatial data
OpenSource (MIT License)
23. 20/09/13Intitute of Geomatics Engineering
3D Portrayal Service: Image based Rendering
Image Based Rendering is an option too.
Different image layers are streamed.
The images are rendered on a server (and therefore can be cached in cloud)
25. 20/09/13Intitute of Geomatics Engineering
Advantage of Image Based Rendering
Quelle: Doellner, J., Hagedorn B., Klimke, J. (2012) Server-based rendering of large 3D scenes
for mobile devices using G-buffer cube maps. In Proceedings of the 17th International Conference on 3D Web Technology (Web3D '12)
27. 20/09/13Intitute of Geomatics Engineering
Conclusion
• Lot’s of standardizing efforts based on real prototypes!
• WebGL tends to be well supported
• 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 implementation have limited encoding possibilities applied to the
geospatial world
• Rendering and data formats are bound, how to preserve interoperability?