Enterprise-level architecture for interactive web-based 3D visualization of geo-referenced repositories Bruno Sim˜oes∗ Giuseppe Conti† Stefano Piffer‡ Raffaele de Amicis§ Fundazione Graphitech
Figure 1: Web-based 3D Geobrowser
Abstract
sation, Service Oriented Architectures
Interoperability, interactivity and 3D visualization are three of the most important challenges related to Geographical Information Systems. In the last few years, research on interoperability has evolved from simple exchange of spatial data files, through the establishment of standardized spatial data repositories, to the first initiatives allowing management of semantic aspects of data. Interoperability has been mainly hampered by the need to agree on standards, and to develop appropriate tools and methods. The Open Geospatial Consortium (OGC) has proposed a number of standards with the intention of promoting interoperability through the use of open services such as Web Mapping Service (WMS), Web Processing Service (WPS), Web Feature Service (WFS) and Web Coverage Service (WCS). However, there are a number of open issues regarding interactivity, 3D data visualization, fault tolerance, scalability, server-independent implementation, delayed-time transactions, to name but a few, that clearly reflect the need for further study and discussion. This paper presents a service-oriented architecture in the context of interoperable Web 3D GIS applications, designed to support features such as manipulation, processing and visual analysis of geographical information.
1
Introduction
The size and complexity of modern geographic datasets, usually generated by Geographical Information Systems (GIS), ComputerAided Design software (CAD), image processing systems and by a large number of sensors (e.g. pollution, traffic etc.) continue to grow. This growth comes with an increased difficulty in assessing the accuracy of a particular dataset for a particular problem. This trend, together with the ever increasing number of people and institutions sharing geographical information, amplifies the importance of interoperability [Boucelma et al. 2002], nowadays hampered by the need to agree on standards, and to develop appropriate tools and methods [Alves and Davis 2007]. At the same time being able to browse and visualize large datasets is rapidly becoming impractical due to the sheer volume and complexity of the data available [Rhyne 1997; Kraak and MacEachren 1999]. This factors amplify the risk to lose information because the scope of the datasets may be beyond the users comprehension. Additionally, the large number of open issues regarding interactivity, fault tolerance, scalability, server-independent implementation, delayed-time transactions, also reflect the need for further study and discussion.
CR Categories: C.2.4 [Network Architecture and Design]: Distributed Systems—Client/server; D.2.7 [Software Engineering]: Distribution, Maintenance, and Enhancement—Portability; H.2.8 [Database Management]: Database Applications—Spatial databases and GIS; H.3.5 [Information Storage and Retrieval]: Online Information Services—Web-based services; H.5.2 [Information Interfaces and Presentation (e.g., HCI)]: User Interfaces— Graphical user interfaces (GUI); H.5.2 [Information Interfaces and Presentation (e.g., HCI)]: User Interfaces—Interaction styles (e.g., commands, menus, forms, direct manipulation)
This paper first presents the current state of service-oriented architectures in the context of interoperable Web 3D GIS applications. The paper then illustrates a prototype designed to benefit from the webservices abstract model to simulate complex phenomena. Our conclusions indicate that improvements may be relevant if compared with existing 3D Web-GIS clients, as well as if compared within standard approaches based on thin clients and servers. This paper concludes proposing a number of possible improvements to Copyright © 2009 by the Association for Computing Machinery, Inc. Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, to republish, to post on servers, or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from Permissions Dept, ACM Inc., fax +1 (212) 869-0481 or e-mail
[email protected]. Web3D 2009, Darmstadt, Germany, June 16 – 17, 2009. © 2009 ACM 978-1-60558-432-4/09/0006 $10.00
Keywords: Interactive 3D graphics, thin clients, user-interface paradigms, interaction methods, virtual environments, geovisuali∗ e-mail:
[email protected] [email protected] ‡ e-mail:
[email protected] § e-mail:
[email protected] † e-mail:
147
Virtual Environmental Planning project (VEPs) which is an alternative approach to planning consultation, allowing people to view and make comments on planning developments in three-dimensions (3D) within the context of an existing landscape or cityscape [VEPs 2008], GeoZui3D [Ware et al. 2001] which is a 3D marine GIS that supports real-time input and draped imagery, VGIS [Koller et al. 1995] which is an integrated global GIS and visual simulation system [Brooks and Whalley 2008] and finally Heidelberg 3D which is a client that allows the user to explore and analyse the 3D city and landscape models which are streamed by the W3DS server [Zipf 2008b; Zipf 2008a].
todays technologies, including supporting of delayed time transactions through asynchronous communication, supporting faulttolerant mechanisms without provider-dependent solutions.
2
State of Art
Many organizations and companies have provided services for accessing Geographical Information (GI) in the last years, however traditionally these systems have all been implemented according to different formats and protocols and have been delivered as closed systems [Fallman 2004]. This has lead to many users being bound to single vendor solutions, with web client applications being able to interact only with specific implementations. As a result wide access to information available has been strongly limited as each server had its own implementation and did not follow common interface specifications.
However, all the aforementioned solutions do not exploit the potential of enterprise level architectures, therefore do not benefit of technologies such as EJB in order to increase fault tolerance and scalability or to deliver server-independent implementations. Furthermore, very few client applications are exploring 3D environments, and doing editing and geoprocessing as a web-based application.
Therefore at the international level, it has emerged a clear need for publicly documented interface specifications, accepted and adopted as standard by as many implementers as possible [OGC 2009b], and capable to ensure interoperability between different products [Fallman 2004]. In this field the most noteworthy effort has been carried on by the Open Geospatial Consortium (OGC) through the definition of a number of standards such as Web Mapping Service [OGC 2009e], Web Processing Service [OGC 2009f], Web Feature Service [OGC 2009d], Web Coverage Service [OGC 2009c] and Web 3D Service [OGC 2005] which is designed to ensure exchange of 3D GIS-related data structures and graphics over the internet. Furthermore, an information rich data exchange model, such as CityGML [Kolbe et al. 2005] can be used to represent 3D city models. The OGC provides also three programs, namely Specification Program, Interoperability Program and Outreach and Adoption Program for planning, developing, reviewing, and last of all, officially adopting specifications in the domain of spatial information [OGC 2009b].
As far as 3D data visualization and visual analytics are concerned, existing 3D applications are providing some first solutions, however these software often lack in some basic GIS functions [Brooks and Whalley 2008] including querying which is usually addressed by search engines through menu-based interactions [Gore 1988; Liarokapis et al. 2006] or geo-processing functionalities, usually transferred from 2D applications without any adaptation to the benefits of the 3D environments. Many systems still not support 3D data manipulation [Zlatanova et al. 2002], 3D object reconstruction and visual analysis.
3
Context
The latest generation of 3D client applications can deliver access to Petabytes of spatial data through the web. Google Earth [Google 2009a], NASA WorldWind [NASA 2009] or Microsoft Virtual Earth [Microsoft 2009] are possibly the most famous examples of these software. This web-based approach can however be extended to include web-based access to processing of geospatial information.
A wide range of server and client solutions, comply with one or multiple OGC standards. These include DeeGree [DeeGree 2009], GeoServer [GeoServer 2009] and UMN MapServer [MapServer 2009] which are some of the most famous 2D servers examples, and CityServer3D [Haist and Coords 2005] which offers the possibility of distributing three- and four-dimensional geodata, held in an object-relational geodata base [Oosterom et al. 2007].
With distributed systems it is possible to transfer the work load to a processing network such as a cluster and therefore it becomes possible to develop light and small client applications which are only required to provide simple viewing functionalities, dealing only with image mapping and rendering of processed results. Following this approach requires dealing with scalability at the server side as this becomes responsible for the processing of work load from all the client applications. Scalability represents the measure of the flexibility of a system to promptly adapt to changes in usage or demand, while still meeting all predefined business objectives [Chiu 2001].
These server-based solutions can be accessed from standard-alone 2D clients such as GRASS GIS [GRASS 2009], gvSIG [Conselleria d’Infraestructures i Transport 2008], JUMP [JUMP 2003] and OpenEV [OpenEV 2006]. Similarly, web browser-based 2D applications such as MapBuilder [Mapbuilder 2009] and OpenLayers [OpenLayers 2009] can access via web-services their data. Some 3D clients offer similar functionalities. Most of them are just 2.5D applications, some of them supporting loading of 3D artefacts placed in specific positions within the 3D scene. Example of these are iGeo3D [DeeGree 2009], 3D Analyst (3DA) [ESRI 2008], a module of ArcView GIS, Imagine VirtualGIS [ERDAS 2008], PAMAP GIS Topographer [PCI Geomatics 2008], GeoMedia Terrain [Intergraph SG&I 2008], Google Earth [Google 2009a] and Microsoft Visual Earth [Microsoft 2009].
The work presented in this paper shows how servers can handle storage and processing of geospatial information in a scalable and efficient way. At the client side a 3D Web-based Geobrowser allows the user to access, edit and manage geographical repositories from a 3D interactive environment, essential to better understand spatial relations or spatial concepts.
Further examples of 3D visualization of geo-referenced repositories include 3D research prototypes such as Terrafly [Rishe et al. 2004], GeoVR [Huang and Lin 1999] and TerraVision II [Reddy et al. 1999], A noteworthy system called GeoTime [Kapler and Wright 2004], proposes an interesting solution to the problem of integrating time-varying events within an interactive GIS context. Other examples are the Adelaide 3D GIS planning model [GISCA 2008], which provides 3D visualizations of social and environmental data within a 3D cityscape [Brooks and Whalley 2008], the
4
Service-Oriented Architecture (SOA)
Our Service-Oriented Architecture (SOA) solution consists in three main logical components: Consumers, SOA infrastructure and Producers. The logical component ”Consumers” is composed by entities that makes use of our offered services (e.g. desktops, laptops and mobile interfaces or even web services that can call a service). This
148
tier communicates with the SOA infrastructure through a transport protocol (e.g. HTTP or IIOP). In contrast, all the entities that offer a specific service or functionality then offered by us as service (e.g. search engines, flat files, Geospatial One-Stop, etc) are classified as ”Producers”. Our SOA infrastructure layer can be divided into three subcomponents: 1. ”Applications” where we supply a 3D geobrowser that provides a graphic interface for consumers to visualize and perform tasks. 2. ”Service Support” which provides the background support functions for SOA. For instance we support the OGC catalog service for the Web (CSW) for directory and ESB Architecture for bridging communication between consumers and producers (see following sections). 3. ”Service” which is composed by entities that performs a specific task when invoked. Examples are the web services WMS, WFS from external sources or from our own implementation.
5
Figure 2: SOA infrastructure
Therefore, with EJB technology we can expose business methods as web services, as distributed application components that are, in our case, externally available. This way we have integrated applications that are written in different languages and can now run on different platforms.
SOA infrastructure
Our SOA infrastructure is implemented using Java 2, Enterprise Edition (J2EE). Within the J2EE framework, clusters provide mission-critical services to ensure minimal downtime and maximum scalability. In this context, a cluster is a group of application servers that transparently run the J2EE application as if it were a single entity. Within this context scaling just requires deployment of additional machines within the cluster. To minimize downtime, it is necessary to make sure that every component of the cluster is redundant. Our SOA infrastructure can be represented as a four-tiered infrastructure (as illustrated in Figure 2), where a work balancer can distribute the work load thought multiple servers, if available.
More specifically we have made use of all the three different types of enterprise beans: Session beans, Entity beans and MessageDriven beans. An Entity bean represents a business object in a persistent storage mechanism such as a database. Therefore, it can survive to a crash and has a primary key. Multiple clients can be using EJBs that represent the same data. The EJB instance contains a copy of the data in the persistent store [Thomas 1998]. There are two types of Entity Bean, the Bean Managed Persistence (BMP) and Container Managed Persistence (CMP). BMPs offer a tactical approach when compared to CMP that is more strategic. BMPs in fact allow the developer to handle persistence, since they use hard coded queries that can be optimized. With CMP, vendors take care of everything by using O-R or OODB mappings using metadata, and consequently, a developer cannot optimize performance as the vendor takes care of it.
The first tier of our architecture is composed by a thin and web accessible 3D client that allows the user to access, edit and manage geographical repositories from a 3D interactive environment. This first tier - the presentation tier - connects to a second tier - a Web Server plus Servlets Engine - in order to access available OGC services. The second tier will communicate with a third tier in order to access the Business Logic - available through an EJB Container (see following sections) - and to process the user requests.
Finally, Message-Driven beans act asynchronously as listeners for the Java Message Service API, processing messages.
The fourth tier level - the Data Layer - will finally provide, when requested, necessary data to the third level tier. This tier is composed by database and file systems.
5.1
Our architecture is composed by a stateful session bean for authoring that keeps track of all information about the client such as authentication. Stateless session beans are used to deliver image mapping and they are coupled to WMS servlet. Stateless beans are also used for processing, usually invoked from the WPS service in order to process some algorithm and, finally, message-driven beans are used to asynchronously process requests.
EJB & Web Services
The adoption of Enterprise JavaBeans (EJB) technology has allowed us to create a simple, elegant component container model, independently of any specific platform, proprietary protocol, or middleware infrastructure, as well as a multitier technology. This approach can be used both for small-scale and large-scale business transactions and to run distributed, transactional and secure applications.
5.2
Enterprise Service Bus (ESB)
The architecture developed also supports the Enterprise Service Bus (ESB) that is the middleware component providing the connectivity layer between services. ESB is tightly related to the SOA concept. Even if SOA can be created without ESB, in most cases ESB constitutes the key part of SOA [INSONO Consulting 2009].
When geoprocessing requirements grow, the enterprise beans can be migrated to more powerful operating environments. Furthermore, we use a feature-rich implementation of the persistence feature of Enterprise Java Beans 3.0, also known as the Java Persistence API (JPA). This standard API provides us an object/relational mapping facility through the usage of a Java domain model to manage a relational database.
ESBs provide an infrastructure that removes any direct connection between service consumers and providers. Consumers connect to
149
the bus and not to the provider that actually implements the service, usually through Web Services Description Language (WSDL) technologies, and using Extensible Markup Language (XML) formats for message translation and transformation [Keen et al. 2005]. Such approach allows to control the number of connections between these components and as a result the scale of interdependencies within the integrated system.
operation status and the client receives the notification. After being notified, it can proceed with the remote editing of the file.
5.5
In this architecture, servers can provide multiple web services where data can be replicated for fault tolerance mechanisms. Deployed web services can make available multiple types of content such as imagery, vector information and processing functionalities through multiples services. Furthermore, servers can also provide access to a web catalogue where the user can perform searches and find the list of all available services.
There are many implementations of ESB on the market, both commercial and open-source. JBoss ESB is the ESB implementation of our choice for the work illustrated.
5.3
Fault tolerance and scalability 5.5.1
Following this approach clustering can be used to run a geoprocessing application on several parallel servers. The processing load is distributed across different servers, and even if any of the servers fails, the geo-processing application is still accessible via other cluster nodes. Clustering is crucial for scalable enterprise applications, as it becomes possible to improve performance by simply adding more nodes to the cluster.
5.4
Multimedia server-based access
Web Catalogue
In a typical scenario users are often unaware of where to find available geospatial data. When that happens a search task can be a highly time-consuming since information may reside on a number of different distributed repositories. A simple urban plan can have hundreds of different logical layers, each containing a variety of geospatial data sets each with different attributes and metadata [Conti et al. 2008].
Support for delayed time transactions
In Europe the improvement in discovery of large-scale geospatial data is being addressed by an EC directive called INSPIRE [INSPIRE 2007], which is concerned with defining Spatial Data Infrastructures (SDI) at European members state level. SDIs are collaborative, Internet-accessible information systems designed to facilitate geospatial data sharing by harmonizing data specifications and mandating their widest possible accessibility and at the lowest possible cost [Diaz et al. 2008].
Our architecture provides also support for delayed time transactions, which can cope with network issues in which are critical to web-based GIS applications. For instance, in the middle of an operation, if the connection is temporarily lost, the client may not be able to know anymore if the geo-processing was completed with success.
At international level, the current trend in geospatial processing applications calls for SDI access following the Service Oriented Architecture (SOA) paradigm based on standards-based web services such as Web Processing Service (WPS)[OGC 2009f], Web Map Service (WMS) [OGC 2009e], Web Feature Service (WFS) [OGC 2009d] and others, that are effective, simple to use and reusable.
For this reason, whenever a processing task prolongs for a considerable amount of time, the client is subscribed to a specific topic as shown in Figure 3. When the processing result is ready the server publishes a message on that topic, which is later received by the client through an asynchronous communication. After the client receives the notification, it can proceed with appropriated actions (e.g. request the result value).
With such a large number of services available through an unknown number of servers, the best way to organize them and speed up searches is through the creation of web catalogues for these interoperable services. This task can be archived with an interoperable protocol called Catalogue Service for Web (CSW). In this way a catalogue can expose services and metadata existing in that same server or from other external sources. The client application can query and use the services in a completely transparent way. 5.5.2
Imagery
One of the possible multimedia types, available through web services is imagery. The server can serve imagery using standardized protocols such as Web Map Service (WMS) from OGC. In our implementation our server also has the capability to generate imagery from vector information stored in flat files and databases or retrieved from remote servers using protocols such as WFS and WPS. With this service, a client can have direct access to processed imagery, increasing the performance in the presentation stage, since large amounts of processed information can be displayed over one single image.
Figure 3: Java Message Service
5.5.3
This type of support is mainly used in our system for uploading of geo-spatial data, but it can be used for other geo-processing functionalities. This is the case of the client needing to upload a file when the file is sent to a processing queue for further re-projection and storage. When everything is processed the server publishes the
Vector Information
In the case where the user needs to access to feature (vector) information, and depending on type of the information, they can request this from a Web Feature Service (WFS).
150
With WFS-T, where T stands for Transactional, our client can request, insert, delete and update (if the user has privileges to do so), the information available by the servers. Otherwise it is only possible to read data from the server. This kind of service also takes into account concurrency. In order to ensure data serialization, when a user wants to modify something, it is possible to request a lock for that data or dataset. Therefore if a feature is under a lock, it cannot be modified by any other user. 5.5.4
Web Processes
When the client application needs to transform or create new information from existing data, it can perform this through the Web Processing Service (WPS) [OGC 2009f] in a completely interoperable way. Through WPS the client can perform any calculation (i.e. process) and use the meta-information associated with the services to retrieve a variety of information including all of its inputs and outputs, and trigger its execution as a Web Service. WPS supports simultaneous exposure of processes via GET, POST, and SOAP, thus allowing the client to choose the most appropriate interface mechanism. The specific processes served up by a WPS implementation are defined by the owner of that implementation, and although WPS was designed to work with spatially referenced data, it can be used with any kind of data.
Figure 5: Web Processing Example
can be manipulated and connected to compatible ones (using the mouse), allowing the user to create complex processing sequences in a very user friendly way. Later, the process result will be stored in a transparent way in the output component of the process.
The 52N WPS framework has been the implementation of choice in of our case because it offered the chance to expose geoprocessing functionality as OGC- and W3C-compilant services. 52N WPS, as implementation of the OGC WPS standard, allows developers to extends WPS instances by adding new processes, the so-called ”Algorithms”. The basic operational unity of the OGC WPS is the notions of process spatial operation, with inputs and outputs of a defined type.
6.1
High resolution data has proven useful for environmental monitoring, contour mapping, transportation planning, emergency management, orthorectification, forestry, oil and gas exploration, mining, hydrology, and shoreline management, to name but a few. However these datasets are composed by GBs of information (e.g. LIDAR datasets). In this architecture our client can query servers for small subsets of data through a simple user interaction, avoiding heavy space and computation workload from client side. This is archived using a web processing service that receives as input the path or area desired - composed by a sequence of points) - and it returns the corresponding high resolution dataset. Further this new data can be presented by the client in a visual way (e.g. a graphic) or visualized in the terrain elevation model.
For an overview of this sub-architecture see Figure 4.
6
Access to high resolution datasets
Client side perspective
Our client application presents a 3D environment, developed using Java [Sun Microsystems 2009a]. The client is built over the World Wind [NASA 2009] APIs for 3D geo-visualization and it uses Java Web Start [Sun Microsystems 2009b] technology to assist the development of client application.
6.2
Furthermore, this application has been engineered with the goal of delivering a web-based 3D and OGC compliant solution capable to provide interoperable access to geographical information through the support of web services such as WMS [OGC 2009e], WFS [OGC 2009d], WCS [OGC 2009c], WPS [OGC 2009f] and CSW [OGC 2009a], mainly available from our servers, and to provide a strong support to operators looking for decision support through an ideal environment for analysis that integrates computational and visual techniques.
Access to vector datasets
Whenever a raster image cannot ensure us the required level of detail, or whenever it is required to perform modifications to some dataset or feature, it is possible to benefit from the implementation of the Web Feature Service (WFS) protocol. Through WFS-T our client can retrieve or operate on any feature (vector data like roads, borders) exposed with this protocol by any server. Since this protocol supports transactions and the communication is done through GML over a stateless protocol - HTTP, the serialization will not be guaranteed if users do not request a lock on the desired dataset or feature, something that is done automatically by our client. This lock system just denies further modifications by other users while one are doing a specific modifications.
Due to the aforementioned server-client architecture, the entire work load is delivered by server clusters, keeping the client thin and light (around 5mb), just offering support to display, manage and analyze information. The client-server interaction is also performed according to the user actions (e.g. navigation movements), in order to retrieve the necessary information (e.g. terrain elevation model, raster and vector image) for the current user view. The interaction is required to process functionalities represented through icons on the terrain, that can receive inputs and produce outputs as illustrated in 5.
As illustrated in Figure 6, the user can manipulate or create new geometries through simple mouse interactions or through a context menu. Through the use of the bottom bar menu it is possible to perform almost all of the WFS-T operations. The possible operations, starting from the left can include the update of modified geometries, the visualization of metadata associated to a selected geometry. Further a deep picking is possible, this returns in a graph all the features in
Furthermore, these 3D icons can present related metadata and
151
Figure 4: Web Processing Service Architecture
Figure 7: Sensor data visualization Figure 6: WFS-T
7 the area and it gives the possibility to select features even when they are overlapped. Finally the menu provides access to operations to refresh, add or remove data presented on the server.
6.3
Conclusions and Further Work
Today interoperability is starting to become a reality thanks to several international harmonization efforts, trying to solve the problem by offering open computing standards for management of geographical information. However, there are a number of issues regarding data 3D visualization in a way that maximizes usability and provides a profound understanding of the respective information space, fault tolerance, scalability, server-independent implementation, delayed-time transactions, privacy, thus reflecting the need for further research.
Access and visualization of sensor data
Through our client application it is also possible to visualize, within the 3D environment, information about meteorological sensors, gathered from meteorological websites through our servers. The Figure 7 shows how this information is represented. The information on every sensor related to the same meteorological station is presented in a 3D pie and displayed after the user selects the corresponding 3D object - available in the same position as the real station in the real world. In the 3D pie the user can have an ante view of the last value in relation to the minimum and maximum value, the trend of the variation, indicated by an arrow (in red or green) and the concrete value for the trend and last value displayed close-by to the arrow. Furthermore, when the user selects the corresponding sensor, the application retrieves the full historical data series and it renders it as an overlaid graph.
This paper has illustrated an ongoing research effort which aims at delivering a full infrastructure to access multiple systems with large amounts of complex data sets in an interoperable way, and to process geographical information within a 3D environment through the use of a Service Oriented Architecture. This approach, which has been applied in the context of environmental management, is targeted to public administrations and governmental agencies. For this reason the infrastructure has been founded upon the principle of federated architectures and therefore it well supports definition of domain competence and responsibilities.
152
Furthermore, the insights and feedback from operators using the system are being used as basis to define the requirements of further developments. It has emerged that providing real time access to concurrent engineering features is essential for daily workflow as collaboration among different operators is essential requirement of their working activities.
G OOGLE, 2009. Google earth. Retrieved 10:42, April 23, 2009 from http://earth.google.com. G OOGLE, 2009. Google map. Retrieved 10:13, April 23, 2009 from http://maps.google.com. The digital Earth: Understanding our G ORE , A., 1988. planet in 21st Century. http://www.isde5.org/al\ textunderscoregore\textunderscorespeech. htm.
Acknowledgements Part of the achievements discussed in this paper as well as the data shown in the images is the result of a project - Sviluppo di una Infrastruttura Dati Territoriali secondo una Architettura Orientata ai Servizi commissioned by the Autonomous Provincia of Trento, Italy.
GRASS, 2009. Grass gis - the world leading free software gis. Retrieved 13:26, April 23, 2009 from http://grass.osgeo. org. H AIST, J., AND C OORDS , B. 2005. The w3ds-interface of cityserver3d. In European Spatial Data Research (EuroSDR). Next Generation 3D City Models, 63–67.
References
H UANG , B., AND L IN , H. 1999. Geovr: a web-based tool for virtual reality presentation from 2d gis data. Computers and Geosciences 25, 1167–1175.
A LVES , L. L., AND DAVIS , C. A. 2007. Evaluation of OGC Web Services for Local Spatial Data Infrastructures and for the Development of Clients for Geographic Information Systems. Springer Berlin Heidelberg.
White papers - jboss INSONO C ONSULTING, 2009. esb. Retrieved 11:07, April 24, 2009 from http: //www.insono.com/export/sites/insono-web/ en/New_Dienstleistungen/Insono_WhitePaper_ JBossESB_v0.3.pdf.
B OUCELMA , O., L ACROIX , Z., AND E SSID , M. 2002. A wfsbased mediation system for gis interoperability. In GIS ’02: Proceedings of the 10th ACM international symposium on Advances in geographic information systems, ACM, New York, NY, USA, 23–28.
INSPIRE, 2007. Directive 2007/2/ec of the european parliament and the council. Retrieved 10:18, April 23, 2009 from http: //eur-lex.europa.eu/LexUriServ/site/en/oj/ 2007/l_108/l_10820070425en00010014.pdf.
B ROOKS , S., AND W HALLEY, J. 2008. Multilayer hybrid visualizations to support 3d gis. Computers, Environment and Urban Systems 32, 4 (July), 278–292.
I NTERGRAPH SG&I, 2008. Intergraph sg&i - geospatially powered solution. Retrieved 10:21, April 23, 2009 from http://www. intergraph.com/sgi/default.aspx.
C HIU , W., 2001. Design for scalability - an update. Retrieved 17:48, April 23, 2009 from http://www.ibm. com/developerworks/websphere/library/ techarticles/hipods/scalability.html.
JOGL, 2009. Java binding for the opengl api. Retrieved 9:18, April 23, 2009 from http://java.sun.com.
C ONSELLERIA D ’I NFRAESTRUCTURES I T RANSPORT, 2008. gvsig. Retrieved 18:02, April 23, 2009 from http://www. gvsig.gva.es.
JUMP, 2003. The jump unified mapping platform. Retrieved 11:25, April 24, 2009 from http://openev. sourceforge.net.
C ONTI , G., A NDREOLLI , M., P IFFER , S., AND DE A MICIS , R. 2008. A 3d web based geographical information system for regional planning. In In proceedings of Webist 2008.
K APLER , T., AND W RIGHT, W. 2004. Geotime information visualization. In INFOVIS ’04: Proceedings of the IEEE Symposium on Information Visualization, IEEE Computer Society, Washington, DC, USA, 25–32.
DARKEN , R. P., AND S IBERT, J. L. 1996. Navigating large virtual spaces. Int. J. Hum.-Comput. Interact. 8, 1, 49–71.
K EEN , M., A DINOLFI , O., H EMMINGS , S., H UMPHREYS , A., K ANTHI , H., AND N OTTINGHAM , A. 2005. Patterns: SOA with an Enterprise Service Bus in WebSphere Application Server V6. BM Redbooks.
D EE G REE, 2009. Free software for spatial data infrastructures. Retrieved 11:07, April 24, 2009 from http://www.deegree. org.
KOLBE , T., G RGER , G., AND P LMER , L. 2005. Citygml interoperable access to 3d city models. In Symposium on Geoinformation for Disaster Management, 63–67.
D IAZ , L., G RANELL , C., G OULD , M., AND O LAYA , V., 2008. Open service network for data processing. ERDAS, 2008. Imagine virtual gis. Retrieved 10:48, April 23, 2009 from http://www.erdas.com.
KOLLER , D., L INDSTROM , P., R IBARSKY, W., H ODGES , L., FAUST, N., AND T URNER , G. 1995. Virtual gis: a real-time 3d geographic information system. Visualization, 1995. Visualization ’95. Proceedings., IEEE Conference on (Oct-3 Nov), 94–100, 443.
ESRI, 2008. The gis software leader. Retrieved 17:37, April 23, 2009 from http://www.esri.com. FALLMAN , S. 2004. Using WFS to build GIS support. Master’s thesis, Umea University, Sweden.
K RAAK , M. J., AND M AC E ACHREN , A. M. 1999. Visualization for exploration of spatial data. International Journal of Geographical Information Science 13, 4 (June), 285–287.
G EO S ERVER, 2009. Welcome geoserver. Retrieved 15:55, April 24, 2009 from http://geoserver.org.
L IAROKAPIS , F., R APER , J., AND B RUJIC -O KRETIC , V. 2006. Navigating within the urban environment using location and orientation-based services. European Navigation Conference.
GISCA, 2008. Adelaide model. Retrieved 14:23, April 23, 2009 from http://www.gisca.adelaide.edu.au.
153
T HOMAS , A., 1998. Enterprise javabeans tm technology - server component model for the java tm platform. Retrieved 12:18, April 23, 2009 from http://www.gisca.adelaide. edu.au.
M APBUILDER, 2009. Retrieved 14:25, April 23, 2009 from http: //communitymapbuilder.osgeo.org. M AP S ERVER, 2009. Welcome to mapserver. Retrieved 16:22, April 23, 2009 from http://mapserver.org.
VEP S, 2008. Virtual environmental planning project (veps). Retrieved 11:09, April 27, 2009 fromhttp://www.veps3d. org.
M ICROSOFT, 2009. Microsoft virtual earth. Retrieved 9:20, April 23, 2009 from http://www.microsoft.com/ VirtualEarth.
WARE , C., P LUMLEE , M., A RSENAULT, R., M AYER , L., AND S MITH , S. 2001. Geozui3d: data fusion for interpreting oceanographic data. OCEANS, 2001. MTS/IEEE Conference and Exhibition 3, 1960–1964 vol.3.
NASA, 2009. World wind. Retrieved 10:43, April 23, 2009 from http://worldwind.arc.nasa.gov. OGC, 2005. Web 3d service. ogc discussion paper, ref. no. ogc 05-019.
Z IPF, A., 2008. Integrating 3d, processing and location services into future sdis.
OGC, 2009. Catalogue service. Retrieved 10:46, April 23, 2009 from http://www.opengeospatial.org/ standards/cat.
Z IPF, A., 2008. Heidelberg-3d - interactive 3d city mapping based on ogc standards. Retrieved 11:07, April 27, 2009 from http: //gislounge.com.
OGC, 2009. Open geospatial consortium. Retrieved 10:45, April 23, 2009 from http://www.opengeospatial.org.
Z LATANOVA , S., R AHMAN , A., AND P ILOUK , M. 2002. Trends in 3d gis development. Journal of Geospatial Engineering 4, 1 – 10.
OGC, 2009. Web coverage service. Retrieved 10:47, April 23, 2009 from http://www.opengeospatial.org/ standards/wcs. OGC, 2009. Web feature service. Retrieved 11:28, April 23, 2009 from http://www.opengeospatial.org/ standards/wfs. OGC, 2009. Web map service. Retrieved 11:48, April 23, 2009 from http://www.opengeospatial.org/ standards/wms. OGC, 2009. Web processing service. Retrieved 10:48, April 23, 2009 from http://www.opengeospatial. org/standards/wps. O OSTEROM , P., Z LATANOVA , S., P ENNINGA , F., AND (E DS .), E. F. 2007. Advances in 3D Geoinformation Systems (Lecture Notes in Geoinformation and Cartography), 1 ed. Springer, December. O PEN EV, 2006. Openev home. Retrieved 13:15, April 24, 2009 from http://openev.sourceforge.net. O PEN L AYERS, 2009. Openlayers: Free maps for the web. Retrieved 14:20, April 24, 2009 from http://openlayers. org. PCI G EOMATICS, 2008. Pamap gis topographer. Retrieved 15:08, April 23, 2009 from http://www.pcigeomatics.com/. R EDDY, M., L ECLERC , Y., I VERSON , L., AND B LETTER , N. 1999. Terravision ii: Visualizing massive terrain databases in vrml. IEEE Computer Graphics and Applications 19, 2, 30–38. R HYNE , T. M. 1997. Going virtual with geographic information and scientific visualization. Comput. Geosci. 23, 4, 489–491. R ISHE , N., S UN , Y., C HEKMASOV, M., S ELIVONENKO , A., AND G RAHAM , S. 2004. System architecture for 3d terrafly online gis. In ISMSE ’04: Proceedings of the IEEE Sixth International Symposium on Multimedia Software Engineering, IEEE Computer Society, Washington, DC, USA, 273–276. S UN M ICROSYSTEMS, 2009. Java. Retrieved 10:38, April 23, 2009 from http://java.sun.com. S UN M ICROSYSTEMS, 2009. Java web start. Retrieved 10:39, April 23, 2009 from http://java.sun.com/javase/ technologies/desktop/javawebstart/index. jsp.
154