Home   Current Projects   Profile   GIS/DB History   Contact   german version / deutsch
 
Completed projects at Bonn University
 Geo Information System GeoStore
 3D/4D-GIS platform GeoToolKit
 3D relief generator GT GeoSurf
 Online GIS GeoWeb
 
Publications
Wolfgang Müller: Skalierbare Datenstrukturen für große Mengen räumlicher 3D-Daten - am Beispiel von Dreiecksnetzen in einem GeoToolKit. Diploma thesis (german), October 2000 [ PDF ]
- the sample data used are available on request (VRML and GOCAD formats, 17MB gzipped TAR each)
M. Breunig, A.B.Cremers, W. Müller, J. Siebeck: New Methods for Topological Clustering and Spatial Access in Object-Oriented 3D Databases. Ninth ACM International Symposium on Advances in Geographic Information Systems, USA, 2001 [ PDF ]

 
Project GeoStore (1995 - 2001)

The geo information system GeoStore offers persistent management of
  • geological surface layers (boundaries between geolocial layers with different charateristic features, such as mineral composition, density etc.)
  • fault surfaces (vertical fractures on whose sides two geolocial layer systems are shifted against each other)
  • section profiles (vertical sections through sets of surface layers and fault surfaces).
Via object browsers, 2D and 3D viewers the user can access the data interactively and choose desired clippings for further processing, like the computation of profiles based on surfaces and faults.

GeoStore was first coded in C, while all data structures have been stored in an Oracle database. Later the GIS has been reimplemented in C++ on top of the GIS library GeoToolKit. Data persistency then was accomplished in conjuntion with the OODBMS ObjectStore.


3D GUI of GeoStore: graphical and textual access of spatial data sets (here: lower Rhine basin)


Automatic computation and visualisation of secondary information (here: vertical faults and profiles)

For further information please go here
Contributions: Technical support, GeoToolKit user support

 
Project GeoToolKit (1995 - 2001)

My task was to source out geo database techniques of GeoStore into an external GIS library which can be developed on its own. The result of this idea is GeoToolKit, a C++ 3D database core based on the OODBMS ObjectStore. It offers 3D spatial data types and spatial indexes that can be stored into an ObjectStore database. Furthermore, the toolkit contains a set of spatial operations, functions and predicates which are defined over all object classes. Thus, these methods are closed, i.e. they can operate on any pair of objects of arbitrary type.

The predicates compute boolean values such as "object A contains object B". Functions, on the other hand, map single objects or object pairs on a scalar value, like "volume of object" or "shortest distance between two objects". Finally, spatial operations create new spatial objects out of existing ones. There are unary operators, such as "boundingbox of an object", and binary operators, like "intersection of two objects".

The supported 3D data types include 0D-3D simplexes (point, line segment, triangle and tetrahedron), 1D-3D complexes (curves, triangle meshes and tetrahedron meshes) as well as analytical objects (line and plane). For grouping of spatial objects of arbitrary type there is a special compound object, a spatial group.

In addition to spatial objects also spatial access paths (indexes) are offered by GeoToolKit. Spatial indexes accelerate the often needed access of only parts of a spatial complex (such as the selection of a subarea of a triangle mesh with help of a boundingbox).


Architecture (simplified view)


Example 1: Relief as triangle mesh with a boundingbox


Example 2: horizontal cut through the relief, intersection is a red polyline

For further information please go here
Contributions: Design, architecture, implementation, documenation, support

 
Project GT GeoSurf (2001)

In the early 90ies the opinion was widely accepted that lots of spatial data existed, but there was a lack of geo information systems capable of managing and processing these raw data into meaningful models.
Based on the availability of 3D/4D GIS this appraisal seems to hold even today. But the obvious conclusion that these spatial data are accessible for a GIS developer, who needs to test his software with a heterogenous set of real spatial data, did not meet our actual experiences. And there are several reasons for that.

The collection of geoscientific data often is accompanied by considerable financial and/or political efforts (e.g. drilling approvals). Therefore already the raw data have a financial or political value that forms the first obstacle for its availability. Additionally, first translations of the raw data into higher-level models such as triangle meshes or contour lines do not come without costs.
So, in the end, our GIS group had to live with only a few real triangle meshes with small cardinalities (up to 1200 triangles). Even worse, all sample data came from the Lower Rhine Basin and all triangle meshes shared the same set of drilling holes as network nodes. Thus, our test data have been too homogenous.

For the purpose of GIS testing we did not need real sample data, but only a set of heterogenous triangle meshes with a wide cardinality spectrum. What we needed was a 3D surface generator that could easily be parametrized to build near-natural geological surfaces.
To meet our demands I developed a surface generator which creates surfaces of arbitrary size, shape and density, based on a simple surface description language. The geometry and topology can be influenced by the surface designer in many ways. In short, GeoSurf non-interactively generates hills and mountain ranges as well as flat ground reliefs.


Centered Hill, 1000 triangles


Mountain range, 75.000 triangles


Centered hill, 75.000 triangles


Ground relief, 50.000 triangles

For further information please go here
Contributions: Design, architecture, implementation, documenation

 
Projekt GeoWeb (2000 - 2001)

The spread of the internet made actual the access to spatial data repositories via Web browsers which can support the presentation of 3D objects using VRML (Virtual Reality Modeling Language) - a network transparent protocol for communicating 3D graphics over the World Wide Web. To achieve this every GeoToolKit class has got an mandatory member function producing output in the VRML format.

To provide the access to spatial object repositories via Web-browsers we used Common Gate Interface (CGI). A CGI script activated from a HTML-form connects (using the socket-stream mechanism embedded in GeoToolKit) a permanently running GeoServer, whose task is to supervise all GeoToolKit-compliant databases managed by the given ObjectStore server. To avoid permanent re-initialization of the examined database GeoWeb (GeoServer's component responsible for the Web) performs sessions control and provides for multiple asynchronous clients a safe concurrent access to data repositories. Query results are returned back to the CGI-script either in the HTML-format for text data or in the VRML-format when a graphical representation is required. If necessary GeoWeb generates new forms for a more precise pre-selection of objects using either GeoToolKit's querying facilities or cascaded forms.

Basic geological entities turned out to be good mapped onto VRML representation (we use CosmoPlayer by SGI which is free and supports VRML2).Currently the querying of data repositories is performed in a rather traditional mode via HTML- forms. In order to provide spatial navigation capabilities similar to those implemented in the GeoStore browser we develop an extensible set of graphical 2D/3D interface components using Java and a CORBA compliant communication infrastructure.


Query interface of GeoWeb


Query result visualized with CosmoPlayer

For further information please go here
Contributions: Technical support, GeoToolKit user support