Maintaining Reality
Modelling 3D spatial objects in a Geo-DBMS using a 3D primitive
More Info
expand_more
Abstract
The objective of this thesis is answering the following question: How can 3D spatial objects be modelled (i.e. /stored, validated, queried) in a Geo-DBMS using 3D primitives and how can these objects be visualised? To answer this question the theory from various literature is used to create a prototype implementation of a 3D primitive in a Geo-DBMS. 3D Spatial objects are stored with the polyhedron as (3D) primitive. This primitive is easy for users to model objects, can fairly easily be validated, because the algorithms are not too difficult to implement and still result in realistic objects. Each polyhedron has a set of faces, which consist of a set of ordered nodes. These nodes point to a vertex (x,y,x). This means that the data model is geometric with internal topology. Th epolyhedron is stored within the original Oracle Spatial geometry data model. The validation occurs by checking if the polyhedra are stored correctly and after that checking each characteristic of the polyhedra. These characteristics are: flat faces, should bound one volume, simplicit faces and orientable. The improve the performance of queries, a spatial index should be made on a table with polyhedra. The standard Oracle Spatial indices can be used, because of the way the polyhedra are stored in the Oracle Spatial geometry model. A bounding box is constructed around the 3D line or its projection in case of a 2D spatial index. A test shows that it is preferable to create a 3D spatial index (3D R-tree) rather than a 2D spatial index, to get maximal query performance. Using functions that are part of Oracle Spatial, is not suitable for 3D objects, because these functions work with the 2D projection of the 3D objects. Instead, some of the most commonly used functions (e.g. area, volume, point-in-polyhedron and bounding box) are implemented in 3D, so that functions return a realistic value. The polyhedra can be visualised in GIS and CAD programs that can make a DBMS connection. To do this, the polyhedra have to be exported to 3D multi-polygons. This export function is implemented, as is the import function that makes a polyhedron from a 3D multi-polygon. To visualise polyhdra in a VRML viewer, the objects in the database can be exported to a VRML file. This function is implemented, as is the function to make a polyhedron from a VRML object. These concousions together satify the goal to implement a 3D primitive in a Geo-DBMS in a way that improves the maintainability of 3D spatial data and opens the door to more realistic applications.