gueting@fernuni-hagen.de, thomas.deridder@fernuni-hagen.de, markus.schneider@fernuni-hagen.de

(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.