Article Preview
Top1. Introduction
Emerging from the Open Geospatial Consortium (OGC), CityGML is a recent standard dedicated to the representation and exchange of urban data. This standard allows agglomerating data including 2D/3D geometric and semantic data via XML formalism. With a growing popularity, many research and development have been proposed. For instance Autodesk or Bentley have proposed software solutions to support CityGML format as Bentley Map or LandXplorer. However, these solutions require the installation of software on a client computer or plugin on navigators in order to open the files. In this paper, the goal is to use HTML 5 and in particular WebGL to create a thin client which means there will be no installation on the client. WebGL is a cross-platform, royalty-free API used to create 3D graphics in a Web browser. Based on OpenGL ES 2.0, WebGL uses the OpenGL shading language, GLSL, and offers the familiarity of the standard OpenGL API. As it runs in the HTML5 Canvas element, WebGL has full integration with all Document Object Model (DOM) interfaces (Khronos Group, 2012). WebGL is a DOM API, which means that it can be used from any DOM-compatible language (JavaScript, Java, etc.). Major browser vendors Google (Chrome), Opera (Opera), Mozilla (Firefox), and Apple (Safari) are members of the Khronos consortium's WebGL Working Group, along with many other 3D graphics developers. WebGL offers a number of advantages, among them:
- •
An API that is based on a familiar and widely accepted 3D graphics standard.
- •
Cross-browser and cross-platform compatibility.
- •
Tight integration with HTML content, including layered compositing, interaction with other HTML elements, and use of the standard HTML event handling mechanisms.
- •
Hardware-accelerated 3D graphics for the browser environment.
- •
A scripting environment that makes it easy to prototype 3D graphics (no compilations are needed).
With the 3D geometry visualization, another important point is to keep the possibility to query semantics information linked with the geometry. This work has been initiated in a larger project named 3DPIE (3D Portrayal Interoperability Experiment) and proposed by OGC (n.d.) where we are involved. In this paper, after a brief state of the art, we will present our Environment Editor where data are prepared and exported to our server. Then we will describe our solution from the server and client sides. We will finish by showing some results extracted from our WebGL application.