3D WEB VISUALIZATION OF ENVIRONMENTAL INFORMATION – INTEGRATION OF HETEROGENEOUS DATA SOURCES WHEN PROVIDING NAVIGATION AND INTERACTION

: 3D information is essential for a number of applications used daily in various domains such as crisis management, energy management, urban planning, and cultural heritage, as well as pollution and noise mapping, etc. This paper is devoted to the issue of 3D modelling from the levels of buildings to cities. The theoretical sections comprise an analysis of cartographic principles for the 3D visualization of spatial data as well as a review of technologies and data formats used in the visualization of 3D models. Emphasis was placed on the verification of available web technologies; for example, X3DOM library was chosen for the implementation of a proof-of-concept web application. The created web application displays a 3D model of the city district of Nový Lískovec in Brno, the Czech Republic. The developed 3D visualization shows a terrain model, 3D buildings, noise pollution, and other related information. Attention was paid to the areas important for handling heterogeneous input data, the design of interactive functionality, and navigation assistants. The advantages, limitations, and future development of the proposed concept are discussed in the conclusions.


INTRODUCTION
The 3D visualization of spatial data is nowadays used in many fields and with regard to many issues.3D models and visualizations can be applied to the analysis of the current state, the reconstruction of the past, the prediction of future developments, and the choice of multiple options for future development within planning.3D models may be used by experts and laymen alike.3D visualization also has the ability to assist in dealing with problems on different scales -from the global and regional levels to the local level involving towns and cities (Konečný, 2011).

THEORETICAL BACKGROUND
Still too little is known about how 3D visualizations may be used to full effect.Some authors, e.g.Voženílek (2005), argue that 3D visualization is capable of presenting large amounts of complex information to wider audiences, including those with little or no cartographical or GIS experience.Shepherd (2008) describes the specific benefits of the 3D visualization of spatial data.The main advantages are the existence of more space for displaying additional data variables, the resolving of issues relating to hidden symbols, and access to a more familiar view of space.On the other hand, both Shepherd (2008) and Jobst and Germanchis (2007) also mention possible problems that may arise during 3D visualization.These include the occlusion of objects in a 3D scene, perspective distortion, the existence of countless scales within one view, and incomparable geometries of objects.Schmidt and Delazari (2011) consider disorientation as the most common problem associated with virtual 3D space.They provide a list of navigation assistants that are intended to prevent disorientation (e.g.cardinal points on the edge of the model, a north arrow, or grid reference).An overview map may also serve the same purpose and enable users to gain knowledge of the relative layout and distances between objects (Ware and Plumlee, 2005).This paper focuses on the practice of implementing the abovementioned navigation assistants.
Careful design of the GUI (Graphical User Interface) is an issue which is as important as the above-mentioned problems associated with interactive 3D.Schnürer et al. (2015) compare different types of GUI.They are defined mainly by the positioning of the legend, buttons, and other controls.Individual variants of the compared GUIs are based on existing multimedia applications (e.g.YouTube) or 2D web maps (GoogleMaps).In this study, we also use a GUI inspired by 2D map portals, which can be expected to be sufficiently intuitive for most users.Jahnke et al. (2009) see the GUI from another perspective.They distinguish between photorealistic and non-photorealistic visualization.Both approaches can be used individually to visualize environmental information or they can be combined (Bleisch, 2012).Photorealistic visualization is preferable in some areas (e.g.urban planning or the documentation of cultural heritage), while for some areas non-photorealistic is sufficient (the energy demands of buildings or noise mapping).Our particular focus is on the verification of non-photorealistic visualization.

OVERVIEW OF RELATED TECHNOLOGIES
Technologies that are used in 3D visualization include graphical formats and software libraries for 3D rendering, as well as GIS standards and services.

3D data formats
Probably the oldest most widespread format for interactive 3D computer graphics is VRML (Virtual Reality Modelling Language).VRML is a text file format in which 3D geometry can be specified along with surface colour, texture, transparency, and other properties.X3D (Extensible 3D) is another open standard file format based on XML for the description of spatial scenes.Essentially, it is recognized as the successor to VRML.COLLADA is also designed to store 3D objects and animations as it has similar capabilities to VRML and X3D and also the structure of XML (Swanson, 1999;Behr et al., 2009).GML (Geography Markup Language) is an XML grammar defined by the Open Geospatial Consortium (OGC) to express geographical features.GML was originally only 2D; however, since version 3.0, it has also been possible to manage 3D data.CityGML is an application schema for GML version 3.1.1for the storage and exchange of virtual 3D city models.KML (Keyhole Markup Language) is primarily intended for the publication and distribution of geographic data.The format is primarily used for the mapping applications Google Maps and Google Earth.KML 2.2 was adopted in 2008 as an OGC standard (Kolbe, 2009).

Web services
3D data may also be published through web services.3D spatial data can be accessed and manipulated through the Web Feature Service (WFS).The 3D Portrayal service (3DPS) is a service definition for a direct view of desired 3D data.3DPS is capable of containing both 3D graphics (e.g.X3D) and raster images that have previously been rendered on the server side.The OGC (Open Geospatial Consortium) is currently working on the adoption of this service definition proposal (Coors et al., 2015).
It should also be emphasized that probably the most widespread web service, WMS (Web Map Service), cannot be used for the distribution or presentation of 3D data, since it only provides 2D graphics.Nevertheless, 2D data may be used as a bitmap texture in 3D models.Such an option was also verified in this study.

3D Rendering in a web browser
A broad spectrum of technologies is available for rendering the above-described data formats, which run on the client side.In addition to thick clients, which are standalone applications such as Google Earth, there are a number of techniques for displaying 3D data using a simple web browser.Many of them use plug-ins.

PILOT STUDY
The technologies described in this paper were verified on the example of the city district of Nový Lískovec in Brno, the Czech Republic.

Design
An important aspect in the processing of the application was to create a user-friendly interface with functionality inspired by a 2D interactive map.The main function is interactive movement and navigation in a 3D scene and support for non-interactive movement.A closely related function is support for determining position and orientation in the 3D scene.

Figure 1. Use case diagram of the developed application
The 3D scene will be designed so that it is clear and simple; more details can be displayed only on demand.It should also deal with the overlap of 3D objects.The hierarchy of the proposed functions is shown in Fig. 1.

Figure 2. Proposal of layout of developed application
The proposal for the layout is shown in Fig. 2 and is formed by the upper bar, the side panel, the bottom bar, and the 3D scene.
The upper bar contains various function buttons.The side panel lists layers with the legend, predefined views, and the setting of the 3Dscene.Individual features represent HTML elements serviced by JavaScript and jQuery UI library.The bottom rail consists of X and Y coordinates as well as a button for displaying the overview map.
Advanced issues which should be resolved if 3D visualization is to be equivalent to 2D interactive web maps are described in more detail below.

Input data
Input data are represented by the terrain model and 3D models of 823 buildings (at Level of Detail 1 -extruded footprints).The 3D geometry of the buildings originally came from stereophotogrammetry and was stored in CityGML format.The terrain data (contour lines, break lines and mass points) and also the street network are parts of ZABAGED, the official Czech topographic database.
Two different sources of noise maps were available for the studied area.The first shows the spatial distribution of equivalent continuous sound pressure levels at night (22:00 -6:00) and during the daytime (6:00 -22:00).They were calculated according to conditions in 2004 and were stored locally as PNG (Portable Network Graphics) raster files.

Figure 3. An example of the graphical user interface of the developed application
The second shows the spatial distribution of day-evening-night noise indicator and the long-term average sound level during night-time (22:00 -6:00).This second source of sound maps was valid for the year 2007 and was available via WMS.Decibels (dB) are the units used in all four variants of noise maps, i.e. noise maps based on two sources, with two indicators for each source.All noise maps were calculated for a level of 4 meters above the terrain.

Transformation and integration of different data sources
The terrain model, street network, and local noise maps were transformed in ArcGIS 10.1 software.They were exported from the ArcScene module to VRML files and then converted into X3D (in View3dScene freeware).The processing of these data is shown in Fig. 4. The data in X3D format can be fed directly into web pages, or a user can refer to them when using the X3DOM tag Inline (this option has been used in our case).The principles of the XSL transformation of 3D spatial data are described in more detail in Herman and Řezník (2013).In the proof-of-concept application, the PHP script also serves to create JSON (JavaScript Object Notation) file containing attributes and to download data from the WMS (this noise map is visible in Fig. 5).The concrete form of the cartographic visualization (value scale, colour scheme) of noise maps is taken from WMS data.Cartographic visualization of the other two noise maps loaded from locally stored PNG tiles was not modified (shown in Fig. 3).
Figure 5. Detail of 3D scene with noise map loaded form WMS and overview map

Implementation of navigation tools
The implementation of various navigation assistants, as emphasized above, was an important feature on top of data integration.The implementation was facilitated by the availability of functions for obtaining the current position and orientation of the virtual camera in the X3DOM API (Application Programming Interface).
Functions called "evt.position" and "evt.orientation" were used to obtain these data.Actual coordinates are displayed in the scope of the HTML code.The SVG (Scalable Vector Graphics) format is used to design the interactive North arrow.SVG is stored directly in the HTML code, just as the X3D scenes (see Fig. 6).The orientation of the virtual camera affects the rotation of the North arrow.It is necessary to know the value at the Y axis, since the rotation is defined by the right hand rule.The connection with the overview map follows the same principles as the coordinate display.A 3D scene is tied to a 2D map in such a way that the center of the map corresponds to the coordinates of the position of a virtual camera.The location of the camera is expressed by means of symbols created in SVG (see Fig. 5).An overview map is created when using the OpenLayers library.

Interactive functionality
Other interactive functions were implemented by the jQuery library.A legend for the displayed data was placed in the right vertical panel.Control panels were defined allowing users to switch between layers (e.g.noise maps) and sliders were created to enable users to set the transparency of the layers (see Fig. 7).
Transparency avoids the occlusion of 3D features or layers.

DISSCUSION
Regarding cartographic visualization, the developed software is not dependent on the visualization(s) of underlying data.Cartographic visualization should be developed separately for each application and is not directly re-distributable, since it is written directly in the X3D source code.Rules for cartographic visualization are defined through X3D attributes and involve similar principles as the visualization of HTML pages or SVG files.In other words, within the developed software presented in this paper, we may define, for example, a standardized cartographic visualization for noise maps as well as photorealistic visualization.
Different color scales are used to visualize noise maps.On the basis of their application and testing, it was found that it is necessary to work judiciously with a color value as a graphic variable.The design and optimization of symbology for 3D visualization is one of the areas which would benefit from further research.
The sizes of final data layers were analyzed, as well as the speed of rendering 3D web scenes and responding to XHR requirements with respect to loading 3D files.

CONCLUSIONS AND FUTURE WORK
The presented proof-of-concept application was established in order to verify the possibility of open web-based 3D visualization.It should be emphasized that the openness relies on the data used as well as the final application.Proprietary software -in this study, ArcGIS 10.1 -was used for the proofof-concept stage.However, this does not preclude the use of any open source as well as proprietary software for processing data and the development of the final application.X3D support for development software is the only constraint.
To sum up, the following major advantages of 3D visualization based on X3DOM and other JavaScript libraries were identified:  it enables user-friendly 3D visualization based on Web technologies;  it does not require any new software or plug-in on the client or server sides to be installed;  it enables the 3D visualization of heterogeneous data from the environmental domain and beyond;  it demonstrates that it is possible to create interactive tools and navigation assistants for virtual 3D environments;  it shows that the functionality common to 2D interactive web maps may also be transferred to 3D visualizations;  it is based on a combination of open JavaScript libraries and may therefore be further modified or easily extended.
The developed proof-of-concept application is freely available to interested persons under a BSD license.
Future work will follow two directions -the integration of data from specific sources and usability research of various navigational assistants and tools.Standardized data have considerable potential in this respect, especially those published under the European INSPIRE Directive (2007/2/EC).In the future, X3DOM should be used as an interface for the OGC 3D Portrayal service.Other types of standardized data can also be displayed within the 3D scene -for example, data processed according to OGC Sensor Web Enablement (SWE).Two basic requirements are placed on data which should be integrated into the 3D scene; they should have a 3D spatial reference and be in a format that can be accessed on the Web (e.g.XML-based formats, CSV or JSON).
Regarding usability research, speed and accuracy should be examined when comparing (non-)available navigation assistants.Various representations of position and orientation may also be examined -for instance, through eye-tracking techniques.Orientation may be expressed, for example, by means of a north arrow or a symbol for the virtual camera in the overview map.Some tasks such as determining the position and orientation of a user are insoluble without the use of navigation assistants (e.g. a north arrow).

Figure 4 .
Figure 4. Workflow of data processing It was necessary to use simple PHP (Hypertext Preprocessor)scripts in order to support on-the-fly conversions of other XML formats or the direct loading of web services in the proposed application.The developed CityGML models of buildings were transformed through syntaxes in PHP and XSL (eXtensible Stylesheet Language).The principles of the XSL transformation of 3D spatial data are described in more detail inHerman and Řezník (2013).In the proof-of-concept application, the PHP script also serves to create JSON (JavaScript Object Notation) file containing attributes and to download data from the WMS (this noise map is visible in Fig.5).The concrete form of the cartographic visualization (value scale, colour scheme) of noise maps is taken from WMS data.Cartographic visualization of the

Figure 6 .
Figure 6.North arrow and coordinates of the virtual camera

Figure 7 .
Figure 7. Detail of the right panel (from the left) -layer switcher, legend, and scene setting

Figure 8 .
Figure 8. Popup windows -attributes of selected building (left) and coordinates upon clicking on the respective item

Table 2 .
Overview of WebGL-based programming libraries for the 3D visualization of spatial data Behr et al. (2011), andLienert et al. (2012).The X3DOM library was chosen for the implementation of the pilot study.Its wide support in Web browsers was the main motivation, as well as the availability of associated software for creating 3D input data and the accessibility of documentation and relevant examples.

Table 3 .
The results are summarized in Tab. 3. The performance of the developed application has been successfully tested in the web browsers Mozilla Firefox, Google Chrome, and Opera.Testing the loading speed of individual 3D visualizations