International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Vol XXXV, Part B6. Istanbul 2004
different XML-structure, such as SVG or X3D — formats used
for web-presentation of vector data (Dorninger, P., 2003).
Transformation instructions for the conversion from one XML-
Schema into another XML is described in the XSLT
(„Extensible Stylesheet Language Transformation”) 1.0
Recommendation (Lehto, 2001). XSLT is designed for use as
part of XSL, which is a stylesheet language for XML, i. e. it
includes an XML vocabulary for specifying formatting
(http://www.w3.org/TR/xslt). The transformation proceeds
when a XSL-transformation engine processes an XML-
document (e.g. a GML-document) and an XSL-stylesheet. A list
of available XSLT-engines and editors may be found at
http://www.w3.org/Style/XSL/.
To carry out the transformation process a serverside Java-
application for XSL-transformation has been implemented. At
this stage some further processing of the GML data is feasible
by applying SAX and DOM.
The Simple API for XML (SAX) is used as a popular XML
parsing method (http://www.saxproject.org/). The SAX method
may be used for scanning through XML data top to bottom and
sending notifications as elements, text, and other items are
encountered; it is up to the recipient of these events to process
the data. SAX parsers do not store the entire document in
memory therefore they have the potential to be very fast for
even huge files (Burke, E. M., 2001).
In comparison the Document Object Model (DOM)-API allows
in-memory representation of XML as a so-called DOM-tree.
(http://www.w3.org/DOM) Applying DOM-methods the
manipulation of the underlying data structure of an XML
document becomes possible.
Using SAX- or DOM- API even the GML-data could be
processed when passing through the serverside Java-programm
(servlet). However, at this state just some first experiences have
been made in this field.
Using a Xalan-Java XSLT-processor and Java-Servlet
Technology (http://xml.apache.org/,
http://xml.apache.org/xalan-j/) a serverside XSL-transformation
from GML to SVG has been implemented within the
transformation-servlet.
Within the serverside transformer-application the GML-data is
directly requested from the WFS as a URL, such as
"http: //«host»/«webapps-directory of
geoserver»/wfs?request-GetFeature&«filter-
encoding».
At the level of the WFS-query the filter may be varied by
constructing the URL dynamically within the servlet. By that
the filtering-process (cp. Fig. 3) may be influenced. Such a
functionality allows to dynamically restrict the delivered data to
a subset of object instances (OGC, 2001).
The transformer-servlet also visualizes data in SVG on-the-fly
by applying a stylesheet (XSL-file). This step conforms to the
“Display Element Generator” in Figure 3.
The next steps according to Figure 3 are carried out by the
SVG-viewer, which must be available on the client's side.
Due to that allocation (Filtering and Display Element
Generation on the server’s side and Rendering and Displaying
on the client's side) a Medium Server - Medium Client-
Architecture according to Schmidt et al. (2003) is provided. As
Altmaier & Kolbe (2003) state, the advantage of medium
clients is that plug-ins typically provide functionalities for
realtime rendering and navigation and therefore allow high
degree of interaction.
158
Using a similar infrastructure it may be possible to visualize
data in X3D, the successor of VRML.
X3D disposes of an advanced syntax which is XML-based.
Hence dt" can be validated against a" “DTD
(http://www.web3d.org/specifications/x3d-3.0.dtd) or a
dedicated schema (http://www.web3d.org/specifications/x3d-
3.0.xsd).
For X3D six so-called profiles may be distinguished. Each of it
covers different functionalities at different stages of complexity.
Full implementation of the X3D-specification features the “Full
profile”. In contrary the “Immersive profile” covers the VRML-
standard, for which X3D is downward compatible (Krone, O,
2003; http://www.web3d.org/x3d/specifications/index.html).
X3D has been chosen due to the fact that it is XML-based.
Furtheron the idea of profiles in X3D offers extensibility for the
format.
The 3D coordinates have to be provided for the generation of
X3D either in form of height values for a regular raster for use
in the "ElevationGrid"-Node or in form of 3D-vector-data-
coordinates for use in the “IndexedFaceSet”-Node of X3D. As
already mentioned GML is able to represent 3D — coordinates.
Therefore the WFS has to be modified in a way to be able to
query 3D data and send it as GML. As Altmaier & Kolbe
(2003) state, applications that employ OGC web services for 3D
geo-visualization are rare. However, an example of such a
service is the Web3D Service (W3DS), developed by the SIG
3D of the DGI NRW (acronym for the German initiative
"Geodaten-Infrastruktur Nordrhein- Westfalen"). It is based on
the proposal of the Web Terrain Service (WTS) and extends it
by the explicit consideration of 3D features (Altmaier & Kolbe,
2003). A client to that W3DS may be explored under
http://wmc.ikg.uni-bonn.de/w3ds/. It has to be found out in
which way the W3DS-development may support the Virtual
Landscape.
Alternatively X3D must be generated from GML applying an
XSLT-process (Lehto, L, 2001; May, M., 2003). However in
case of vector data the specification of the polygonal mesh has
to be carried out, e.g. by implementation of a triangulation.
This job could be done either by a (serverside) program or
prepend as a DOM-based method before the XSL-
transformation.
3.2.3 Analysis Methods
To explore the delivered 2D- and 3D-data functionalities like
Pan, Zoom, Select and Query are provided. Zooming and
Panning are features included in the SVG- and X3D-Viewers.
Queries may be implemented using JavaScript, triggering the
database query. Carrying out spatial analysis, functionalities
like buffering or clipping are desirable. Those functions have to
be implemented after consolidating the architecture.
The Virtual Landscape aspires a lot of functionalities of a
Geographical Information System. However it does not aim to
feature the full functionalities. Advanced analysis does not have
to be carried out in a web-based environment. However, within
the educational scope students might not have access to GIS-
software at any time or place. For them an introduction into the
ideas and basic functionality should be provided, for which the
designed architecture is very suitable.