Implementation of the ROSE algebra: Efficient algorithms for realm-based spatial data types

  • Ralf Hartmut Güting
  • Thomas de Ridder
  • Markus Schneider
Part of the Lecture Notes in Computer Science book series (LNCS, volume 951)


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.


Spatial data types algebra realm finite resolution numerical robustness efficient algorithms plane sweep ROSE 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [AhHU83]
    Aho, A.V., J.E. Hopcroft, and J.D. Ullman, Data Structures and Algorithms. Addison-Wesley, Reading, Massachusetts, 1983.Google Scholar
  2. [BeG92]
    Becker, L., and R.H. Güting, Rule-Based Optimization and Query Processing in an Extensible Geometric Database System. ACM Transactions on Database Systems 17 (1992), 247–303.Google Scholar
  3. [GrY86]
    Greene, D., and F. Yao, Finite-Resolution Computational Geometry. Proc. 27th IEEE Symp. on Foundations of Computer Science, 1986, 143–152.Google Scholar
  4. [Gü89]
    Güting, R.H., Gral: An Extensible Relational Database System for Geometric Applications. Proc. of the 15th Intl. Conf. on Very Large Databases (Amsterdam, The Netherlands), 1989, 33–44.Google Scholar
  5. [Gü93]
    Güting, R.H., Second-Order Signature: A Tool for Specifying Data Models, Query Processing, and Optimization. Proc. ACM SIGMOD Conf. (Washington, USA), 1993, 277–286.Google Scholar
  6. [Gü94]
    Güting, R.H., An Introduction to Spatial Database Systems. VLDB Journal 3, 4 (1994) (Special Issue on Spatial Database Systems), 357–399.Google Scholar
  7. [GüS93a]
    Güting, R.H., and M. Schneider, Realms: A Foundation for Spatial Data Types in Database Systems. Proc. of the 3rd Intl. Symposium on Large Spatial Databases (Singapore), 1993, 14—35.Google Scholar
  8. [GüS93b]
    Güting, R.H., and M. Schneider, Realm-Based Spatial Data Types: The ROSE Algebra. Femuniversität Hagen, Informatik-Report 141, 1993. To appear in the VLDB Journal.Google Scholar
  9. [KaM85]
    Karlsson, R.G., and J.I. Munro, Proximity on a Grid. Proc. of the 2nd Symp. on Theoretical Aspects of Computer Science, Springer-Verlag, LNCS 182, 1985, 187–196.Google Scholar
  10. [KaO88a]
    Karlsson, R.G., and M.H. Overmars, Scanline Algorithms on a Grid. BIT 28 (1988), 227–241.Google Scholar
  11. [KaO88b]
    Karlsson, R.G., and M.H. Overmars, Normalized Divide-and-Conquer: A Scaling Technique for Solving Multi-Dimensional Problems. Information Processing Letters 26 (1988), 307–312.Google Scholar
  12. [KeK81]
    Keil, J.M., and D.G. Kirkpatrick, Computational Geometry on Integer Grids. Proc. of the 19th Annual Allerton Conference on Communication, Control, and Computing, 1981, 41–50.Google Scholar
  13. [Kl83]
    Klaeren, H.A., Algebraische Spezifikation. Springer Verlag, Berlin, 1983.Google Scholar
  14. [Me84]
    Mehlhorn, K., Data Structures and Algorithms 3: Multidimensional Searching and Computational Geometry. Springer Verlag, 1984.Google Scholar
  15. [Mü85]
    Müller, H., Rastered Point Location. Proc. Workshop on Graphtheoretic Concepts in Computer Science, Trauner Verlag, 1985, 281–293.Google Scholar
  16. [OrM88]
    Orenstein, J., and F. Manola, PROBE Spatial Data Modeling and Query Processing in an Image Database Application. IEEE Trans. on Software Engineering 14 (1988), 611–629.Google Scholar
  17. [Ov88a]
    Overmars, M.H., Efficient Data Structures for Range Searching on a Grid. Journal of Algorithms 9 (1988), 254–275.Google Scholar
  18. [Ov88b]
    Overmars, M.H., New Algorithms for Computer Graphics. Advances in Computer Graphics, Eurographics Seminars, Springer Verlag, 1988, 3–19.Google Scholar
  19. [Ov88c]
    Overmars, M.H., Computational Geometry on a Grid: An Overview. Theoretical Foundations for Computer Graphics and CAD, Springer Verlag, 1988, 167–184.Google Scholar
  20. [PrS85]
    Preparata F.P., and M.I. Shamos, Computational Geometry. Springer Verlag, 1985.Google Scholar
  21. [Ri95]
    de Ridder, T., The ROSE System. Modula-2 Program System (Source Code). Fernuniversität Hagen, Praktische Informatik IV, Software Report 1, 1995. Available as a LaTeX file for printing and/or as a compressed collection of ASCII files.Google Scholar
  22. [Ya92]
    Yao F.F., Computational Geometry. Algorithms and Complexity. Handbook of Theoretical Computer Science, vol. A, Elsevier Science Publishers B.V., 1992, 343–389.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1995

Authors and Affiliations

  • Ralf Hartmut Güting
    • 1
  • Thomas de Ridder
    • 2
  • Markus Schneider
    • 1
  1. 1.Praktische Informatik IVHagenGermany
  2. 2.Praktische Informatik IIIHagenGermany

Personalised recommendations