X3D-EarthBrowser Visualize our Earth in your Web Browser Pasquale Herzig, Michael Englert, Sebastian Wagner, Yvonne Jung & Ulrich Bockholt pasquale.herzig@igd.fraunhofer.de Presented at Web3D 2013 EarthServer • http://www.earthserver.eu/ • Funded by EU e-Infrastructure – Project Number: 283610 • Open-access, ad-hoc analytics on extreme-size earth science data • RTD & services, six lighthouse applications EarthServer • Different domains of earth science with unique challenges - including visualization • E.g.: Cryospheric, atmospheric and planetary science, geology and oceanography, etc. • Potentially looking for very different things to display EarthServer • Aim: 100+ TB of raster data each • Server/Client architecture, OGC standards on top of HTTP as “glue” – WCS,WMS,WCPS – OGC standards development also part of the project • Servers designed to deal with big data, clients request manageable subsets • This talk: focus on 3D web client Visualizations in X3DOM • Open Source middleware for declarative 3D on the web -> Tutorials yesterday • http://www.x3dom.org Web 3D Client • Aim: display raster data in a 3D environment on a web page • Raster data comes in many varieties – 1 to 3 spatial dimensions, optionally combined with a temporal dimension – uniform and various types of non-uniform grids, general meshes etc. – multiple coverages (datasets) sometimes necessary for meaningful results – 1 to n channels of different types – ... and plenty more... Web 3D Client • Also may need different visualizations of any coverage type. – Planes – Elevation Maps – Point Clouds – Time Series – Volume rendering – ... • Plenty of “3D widgets” you could think of Web 3D Client • Also, may want to combine different “widgets” in one display • And that’s just visualization. • There is also interaction • Some basics (like navigation) are baseline, but how to anticipate all the custom interaction schemes users might want? Web 3D Client • Now, what is a 3D web client then? • In the first year, we made a few prototypes, each addressing a different scenario • They all have in common that they display something in a 3D box rather than e.g. on a globe – Internally dubbed the “fishtank” EOX MultiCoverage PlanetServer WCS/WMS WCPS Elevation Grid Unified Client • Our aim was not to deliver just a bunch of semi-related code solving very specific problems. • One 3D web client to rule them all. • On desktops as well as mobile devices. Unified Client • Our solution: make client modular and split setup and execution • Operator gets all the power at source code level to set up the application, may even write custom modules if necessary Unified Client • The unified client consists of – a framework with a module API – modules – UI & tools • E.g. a module that has API to setup WCPS call that will request RGBA image and add it to scene as elevation map • Framework has composition functionality like transformations and transparency Unified Client Underground Radar Data Side Panels Operator - Setup Example User Interface - Using JQueryUI • Created automatically • Basics for modules – Movement, scaling, transparency.. • Settings for light, cameras & annotations • Easy to change and to adopt Progressive Data Transmission • Load low resolution data first – Increase resolution after a succesfull query – Add higher resolution when available • Quicker feedback for the user • The protocols allow to choose the resolution Video Summary • Web client using X3DOM and no plugins – Except IE (X3DOM Flash fallback) • Easy to set up by operators – Few lines of Javascript code • Combine data from different sources – Services for e.g. geology and oceanography • Combine different visualization types – Elevation map, underground, pointcloud… What’s Next? • Performance – Less Javascript, more shader in X3DOM • User Experience – better UI feedback • Interaction – e.g. UI for positioning planes and callbacks into application code to handle change events • More modules Thank You! • Feel free to contact me or the EarthServer community. • pasquale.herzig@igd.fraunhofer.de • http://www.earthserver.eu • Questions? • More technical details in the paper.