
\title{Interoperability for 3D Geodata}
\subtitle{Experiences with CityGML and OGC Web Services}
\author{Hans Plum and Dr. Markus Lupp}

\maketitle

\section{Summary}
\label{sec:summary}
Storage, processing and visualization of 3D geodata are an important
subject in the GIS world even before the leading search engine
introduced its globe viewer. Usage of standards of the Open Geospatial
Consortium (OGC) open up new possibilities for combination and usage of
3D geodata. First practical experiences show promising results.

\section{Introduction}
\label{sec:introduction}
Processing and visualization of 3D geodata became a common subject
during the last years. Some indicators for this are the number of
offered software solutions but also the amount of interest for the
development of CityGML. CityGML is a GML{}-based exchange format for
three dimensional digital city models, that is already implemented in a
number of software products. With the definition of CityGML and
application of OGC Web Services for access to and visualization of 3D
geodata the areas of 3D geodata processing and Spatial Data
Infrastructures (SDI) are converging.

This article is discussing solutions that were realized using technology
from the deegree project. The mentioned projects are: ``Storage and
administration of 3D city models for the cities of Bonn, Berlin and
Hamburg'', ``Visualization of digital terrain models for the Federal
Agency for Cartography and Geodesy of Germany'', ``Realization of a
transactional CityGML WFS for the Open Geospatial Consortium''
are outlined.

\section{OGC-Standards with relevance for 3D}
\label{sec:ogc-relevance-3D}
A number of discussion papers and specifications of the OGC are of
importance for 3D geodata handling. In particular these are CityGML as
data model and exchange format, Web Feature Service and Web Coverage
Service for data access and Web Terrain Service and Web 3D Service
respectively for visualization purposes.

\subsection{City Geography Markup Language (CityGML)}
\label{subsec:citygml}
CityGML defines a semantic object model for 3D objects in urban areas.
It is a GML application schema that is it model objects of an
application domain using constructs of the Geography Markup Language. In
this aspect CityGML is a semantic model as well as an exchange format.

CityGML is so far mainly developed by a working group of the SDI
initiative of Northrhine-Westfalia, although members from all over
Germany are part of this group. In version 0.3 CityGML was introduced
into the OGC and published as a discussion paper \citep{groeger:2006}. 
CityGML 1.0 will in short time become an 
official OGC Best Practice paper.

\subsection{Web Feature Service}
\label{subsec:wfs}

A Web Feature Service (WFS, \cite{vretanos:2004a} allows to query
geodata modeled in GML. Filter Encoding \cite{vretanos:2004b}, an
SQL-like language encoded in XML is used to query a WFS. A WFS that
allows not only to read, but also write access (create, update and
delete) is called a transactional WFS (WFS-T).

WFS is an official OGC-standard in the current version 1.1.0. A WFS
implementing this 1.1.0 specification has to support GML 3.1.1 -- the
same version that is the base for CityGML. It is therefore possible to
use a WFS as a data access layer to CityGML.


\subsection{Web Coverage Service}
\label{subsec:wcs}

A Web Coverage Service (WCS, \cite{evans:2003} allows to access all
kinds of data that is modeled ``field{}-based'', e.g. Raster{}- or
TIN{}-based. Examples of such data are those created by remote sensing
or digital terrain models. In the context of 3D SDI a WCS can be used
to access terrain models. WCS is an official OGC standard with the
current version 1.1.0.


\subsection{ Web Terrain Service}
\label{subsec:wts}
A Web Terrain Service (WTS), still in OGC discussion paper status,
generates Views of 3D scenes. In contrast to a WMS that creates 2D
visualizations, an image depicting 3D data is generated.

Unfortunately, the development of the WTS specification advances rather
slow. The current draft version bears the name ``Web Perspective View
Service'' (WPVS) to express that the service is able to depict 3D
objects besides ``Terrain''.

\begin{figure*}[htbp]
   \centering
   \includegraphics[width=0.6\textwidth]{./proceedings/plum/wpvs_utah.jpg}
   \caption{Visualization of terrain and buildings using deegree WTS/WPVS}
   \label{fig:wpvs_utah}
\end{figure*}


Figure~\ref{fig:wpvs_utah} shows the result of a GetView{}-request. A
digital terrain model is depicted that is textured with aerial 
photographs. On top of the terrain a number of buildings are displayed 
(one of them transparently).

WPVS creates presentations of 3D objects. The most important operation
of this service is GetView which returns static pictures of 3D
landscapes. The GetView operation can be seen as an extension to the
GetMap operation of WMS. In comparison to GetMap, GetView defines
additional parameters allowing to specify a 3D scene. Among these
parameters are a rotation angle and the azimuth of the depicted scene.
As the result of a GetView operation is a (static) image; it is not
possible to navigate directly through the scene. A WPVS client is
therefore in comparison with real 3D viewers not very interactive, but
can be implemented as a web application using DHTML without the need
for browser plug{}-ins. Another advantage is that such a simple and
web{}-based 3D client can easily be integrated with other web{}-client
software, like e.g. WMS{}-based portals.

The challenge when creating a WPVS client is to hide the complexity of a
GetView request behind an easy to use graphical user interface, that
allows navigation in 3D space.

\section{Use cases}
\label{sec:usecases}
To support the projects mentioned in the introduction, the following use
cases have to be supported.

\subsection{Storage of digital city models}
\label{subsec:storage}
Digital city models are often created using CAD systems and stored in
CAD file formats. This results in a number of disadvantages. It is not
possible to easily select parts of the city model or to organize
updates. Because of this reason, organizations who own such city models
need homogeneous data that best is stored in a database.

To support this use case it is necessary to store CityGML in a {--} most
likely relational {--} database. For access to this database a WFS is
the obvious choice, CityGML can then directly be inserted and pulled
out of the database.

To control the access to the WFS it is necessary to use an access control
mechanism. In the mentioned projects components of deegree iGeoSecurity
are used for this.

\subsection{Web Visualization}
\label{subsec:web-visualization}
The advantage of 3D geodata is mostly to be found in its possibilities
on visualization. Application areas are support of urban planning
processes and navigation. In the context of planning processes, 3D
geo{}-visualizations allow to display the consequences of planned
projects before they are realized.

Tourist information systems can also benefit from 3D visualization.
Recognition of landmarks or navigation can be enhanced. Great potential
also lies in the coupling of classical 2D maps with 3D scene
visualizations.

For marketing purposes of the data itself, terrain and city models are
displayed on the Internet. The potential of the data is shown in this
way.

\section{Architecture of a 3D SDI}
\label{sec:architecture-3D-sdi}
In the following, the architecture of 3D SDIs realized by deegree will be
described (c.f. figure~\ref{fig:architecture-3D-sdi}).

\begin{figure*}[htbp]
   \centering
   \includegraphics[width=0.5\textwidth]{./proceedings/plum/architecture-3D-sdi.jpg}
   \caption{Architecture of a 3D SDI}
   \label{fig:architecture-3D-sdi}
\end{figure*}


The building information models will be kept in a spatial enabled
database, e.g. PostGIS or Oracle Spatial. A transactional WFS (WFS{}-T)
supports the access for reading and writing of the city models. In
order to control the information flow, especially transactions against
the WFS, a owsProxy is used to protect the building information against
unauthorized access. The editing component {--} mostly a CAD system
{--} accesses the data via owsProxy and WFS.

Digital elevation data can also be saved in a geodatabase. Especially
for TINs or points.
Alternatively, raster data can be saved in the filesystem. In order to support a fast access
method the mechanisms described above have to be used. Accessing
digital terrain data in raster format are provided by a WCS. Getting
the according terrain model while rendering a city model is easily
done through the Web Coverage Service. 

On the right hand side of figure \ref{fig:architecture-3D-sdi} the visualization process is shown.
deegree{}-WPVS accesses the data out of the geodatabase. Furthermore,
it is possible to integrate external WFS{}- or WCS{}-services.
Textures like ortho imagery or maps for navigation are also needed. Via
a WMS these kind of data can be integrated. A web{}-based WPVS{}-Client
provides a graphical user interface that can be used in web browsers.

\section{Conclusion}
The development of CityGML defines an important step towards 3D SDIs.
The experiences using deegree components for development of such
systems that were made in a number of projects are promising. They show
that it is already possible to create 3D SDIs using Open Source
software.

The mentioned components are available via 
\href{http://www.deegree.org/}{www.deegree.org}. At the time of
writing the RC1 for WPVS (including a client), WFS and WCS are
available as easily installable WAR archives.

\begin{footnotesize}
\begin{thebibliography}{99}

\bibitem[Gr\"oger et al. et~al. (2006)]{groeger:2006} 
Gr\"oger, G., T. Kolbe and A. Czerwinski (2006)
\newblock City Geography Markup Language. OGC project document 06-057r1.
\newblock {\em \url{https://portal.opengeospatial.org/files/?artifact\_id=16675}}.

\bibitem[Vretanos (2004)]{vretanos:2004a} 
Vretanos, P.A. (2004)
\newblock OpenGIS Web Feature Service Implementation Specification Version 1.1.0. OpenGIS Project Document 04-094.
\newblock {\em \url{http://www.opengis.org/specs/?page=specs}}.

\bibitem[Vretanos (2004)]{vretanos:2004b} 
Vretanos, P.A. (2004)
\newblock OpenGIS Filter Encoding Specification Version 1.1.0. OpenGIS Project Document 04-095.
\newblock {\em \url{http://www.opengis.org/specs/?page=specs}}.

\bibitem[Evans (2003)]{evans:2003} 
Evans, J. (2003)
\newblock OpenGIS Web Coverage Service Specification Version 1.0.0. OpenGIS Project Document 03-065r6.
\newblock {\em \url{http://www.opengis.org/specs/?page=specs}}.

\end{thebibliography}
\end{footnotesize}


\address{Hans Plum, Dr. Markus Lupp\\
  lat/lon GmbH, Bonn, Germany\\
  \url{http://www.lat-lon.de}\\
  \email{plum|lupp AT lat-lon.de}}

