Implementation of the ROSE Algebra: Efficient Algorithms for Realm-Based Spatial Data Types

Ralf Hartmut Güting (1), Thomas de Ridder (2), Markus Schneider (1),,

(1) Praktische Informatik IV, Fernuniversität Hagen, D-58084 Hagen, GERMANY
(2) Praktische Informatik III, Fernuniversität Hagen, D-58084 Hagen, GERMANY

Abstract: The ROSE algebra, defined earlier, is a system of spatial data types for use in spatial database systems. It offers data types to represent points, lines, and regions in the plane together with a comprehensive set of operations; semantics of types and operations have been formally defined. Values of these data types have a quite general structure, e.g. an object of type regions may consist of several polygons with holes. All ROSE objects are realm-based which means all points and vertices of objects lie on an integer grid and no two distinct line segments of any two objects intersect in their interior. In this paper we describe the implementation of the ROSE algebra, providing data structures for the types and new realm-based geometric algorithms for the operations. The main techniques used are (parallel) traversal of objects, plane-sweep, and graph algorithms. All algorithms are analyzed with respect to their worst case time and space requirements. Due to the realm properties, these algorithms are relatively simple, efficient, and numerically completely robust. All data structures and algorithms have indeed been implemented in the ROSE system; the Modula-2 source code is freely available from the authors for study or use.

Keywords: Spatial data types, algebra, realm, finite resolution, numerical robustness, efficient algorithms, plane sweep, ROSE.

Published: Proc. of the 4th Intl. Symposium on Large Spatial Databases (Portland, August 1995), 216-239.