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

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.

[1]  Herbert Klaeren Algebraische Spezifikation - eine Einführung , 1983 .

[2]  Ralf Hartmut Güting Second-order signature: a tool for specifying data models, query processing, and optimization , 1992 .

[3]  F. Frances Yao,et al.  Computational Geometry , 1991, Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity.

[4]  Mark H. Overmars,et al.  Scanline algorithms on a grid , 1988, BIT.

[5]  J. Van Leeuwen,et al.  Handbook of theoretical computer science - Part A: Algorithms and complexity; Part B: Formal models and semantics , 1990 .

[6]  Ralf Hartmut Güting,et al.  Rule-based optimization and query processing in an extensible geometric database system , 1992, TODS.

[7]  Prof. Dr. Kurt Mehlhorn,et al.  Data Structures and Algorithms 3 , 2012, EATCS Monographs on Theoretical Computer Science.

[8]  Frank Manola,et al.  PROBE Spatial Data Modeling and Query Processing in an Image Database Application , 1988, IEEE Trans. Software Eng..

[9]  Kurt Mehlhorn,et al.  Data Structures and Algorithms 3: Multi-dimensional Searching and Computational Geometry , 2012, EATCS Monographs on Theoretical Computer Science.

[10]  Mark H. Overmars Efficient Data Structures for Range Searching on a Grid , 1988, J. Algorithms.

[11]  F. Frances Yao,et al.  CHAPTER 7 – Computational Geometry , 1990 .

[12]  J. Ian Munro,et al.  Proximity of a Grid , 1985, STACS.

[13]  J. Mark Keil Computational geometry on an integer grid , 1980 .

[14]  F. Frances Yao,et al.  Finite-resolution computational geometry , 1986, 27th Annual Symposium on Foundations of Computer Science (sfcs 1986).

[15]  Mark H. Overmars,et al.  Normalized Divide-and-Conquer: A Scaling Technique for Solving Multi-Dimensional Problems , 1988, Inf. Process. Lett..

[16]  Ralf Hartmut Güting,et al.  An introduction to spatial database systems , 1994, VLDB J..

[17]  Herbert S. Wilf,et al.  Algorithms and Complexity , 2010, Lecture Notes in Computer Science.

[18]  Mark H. Overmars Computational geometry on a grid; an overview , 1988 .

[19]  Ralf Hartmut Güting,et al.  Realms: A Foundation for Spatial Data Types in Database Systems , 1993, SSD.

[20]  Alfred V. Aho,et al.  Data Structures and Algorithms , 1983 .

[21]  Mark H. Overmars New Algorithms for Computer Graphics , 1987, Advances in Computer Graphics Hardware.

[22]  Ralf Hartmut Güting,et al.  Gral: An Extensible Relational Database System for Geometric Applications , 1989, VLDB.