Skip to main content
Log in

User defined topological predicates in database systems

  • Published:
GeoInformatica Aims and scope Submit manuscript

Abstract

Current database systems cannot only store standard data like \(\underline{integer}\), \(\underline{string}\), and \(\underline{real}\) values, but also spatial data like \(\underline{points}\), \(\underline{lines}\), and \(\underline{regions}\). The importance of topological relationships between spatial objects has been recognized a long time ago. Using the well known 9-intersection model for describing such relationships, a lot of different topological relationships can be distinguished. For the query language of a database system it is not desirable to have such a large number of topological predicates. Particularly the query language should not be extended by a lot of predicate names. It is desirable to build new relationships from existing ones, for example to coarse the granularity. This paper describes how a database system user can define and use her own topological predicates. We show algorithms for computing such predicates in an efficient way. Last, we compare these general versions with specialized implementations of topological predicates.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5

Similar content being viewed by others

Notes

  1. A complex line may consist of several non-connected parts, and may have any number of endpoints (also zero for a loop.)

  2. For technical reasons, in Secondo’s SQL-like query language, names of objects (relations) and attributes are written in lower case.

  3. The standard predicate also calls the toppred operator using a predefined object of type \(\underline{cluster}\).

References

  1. Clementini E, di Felice P (1996) A model for representing topological relationships between complex geometric features in spatial databases. Inf Sci 90(1–4):121–136

    Article  Google Scholar 

  2. Clementini E, Di Felice P, Califano G (1995) Composite regions in topological queries. IS 20(7):579–594

    Google Scholar 

  3. Clementini E, Felice PD (1993) An object calculus for geographic databases. In: SAC ’93: Proceedings of the 1993 ACM/SIGAPP symposium on applied computing. New York, NY, USA, ACM, pp 302–308

    Chapter  Google Scholar 

  4. Clementini E, Felice PD, van Oosterom P (1993) A small set of formal topological relationships suitable for end-user interaction. In: SSD: advances in spatial databases. LNCS, Springer

  5. Egenhofer M, Clementini E, Di Felice P (1994) Topological relations between regions with holes. Int J Geographic Inf Syst 8(2):128–142

    Google Scholar 

  6. Egenhofer MJ (1989) A formal definition of binary topological relationships. In: Litwin W, Schek H (eds) Third international conference on foundations of data organization and algorithms (FODO). Lecture Notes in Computer Science, vol 367. Springer, pp 457–472, June

  7. Egenhofer MJ, Herring JR (1990) Categorizing binary topological relations between regions, lines, and points in geographic databases. Technical report, Department of Surveying Engineering, University of Maine, Maine

  8. Gaal SA (1964) Point set topology. Academic, New York

    Google Scholar 

  9. Güting RH (1993) Second-order signature: a tool for specifying data models, query processing, and optimization. In: Proc. of the ACM SIGMOD international conf. on management of data, pp 277–286

  10. Güting RH, Behr T, Almeida V, Ding Z, Hoffmann F, Spiekermann M (2004) SECONDO: an extensible dbms architecture and prototype. Technical report, FernUniversität Hagen

  11. Güting RH, de Almeida VT, Ansorge D, Behr T, Ding Z, Höse T, Hoffmann F, Spiekermann M, Telle U (2005) SECONDO: an extensible dbms platform for research prototyping and teaching. In: ICDE. IEEE Computer Society, pp 1115–1116

  12. Güting RH, Ding Z (2004) A simple but effective improvement to the plumb-line algoritm. Inf Process Lett 91(6):251–257

    Article  Google Scholar 

  13. Güting RH, Schneider M (1995) Realm-based spatial data types: the ROSE algebra. VLDB J 4(2):243–286

    Article  Google Scholar 

  14. Kothuri R, Godfrind A, Beinat E (2007) Pro oracle spatial for oracle database 11g. Springer, New York

    Google Scholar 

  15. Open GIS Consortium, Inc. (1999) OpenGIS simple features specification for SQL Revision 1.1, OpenGIS Project Document 99-049, May

  16. OpenGeoDB (2008) OpenGeoDB. http://opengeodb.hoppe-media.com, 2008-02-14

  17. Reasey Praing MS (2008) Efficient implementation techniques for topological predicates on complex spatial objects. GeoInformatica 12(3):313–356

    Article  Google Scholar 

  18. Schneider M (2002) Implementing topological predicates for complex regions. In: Proceedings of the international symposium on spatial data handling, pp 313–328

  19. Schneider M (2004) Computing the topological relationship of complex regions. In: DEXA, pp 844–853

  20. Schneider M, Behr T (2006) Topological relationships between complex spatial objects. ACM Trans Database Syst 31(1):39–81

    Article  Google Scholar 

  21. Shamos MI, Hoey D (1976) Geometric intersection problems. In: FOCS. IEEE, pp 208–215

  22. Stonebraker M, Frew J, Gardels K, Meredith J (1993) The sequoia 2000 benchmark. In: Buneman P, Jajodia S (eds) Proceedings of the 1993 ACM SIGMOD international conference on management of data. Washington, D.C., 26–28 May, ACM, New York, pp 2–11

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Thomas Behr.

Appendix A: Used data sets

Appendix A: Used data sets

A.1 Database “Germany”

The database “Germany” contains cities, districts, rivers, and highways of Germany in the following relations:

$$ \begin{array}{l} {\textbf{district}} \\ (\text{DName : string, Area : real, Pop : int, Pop\_male : int, Territory : region}) \end{array} $$

where DName is the name of the district, Area is the area occupied by the region, Pop is the population in thousands, Pop_male is the amount of the male population in thousands, and Territory is a \(\underline{region}\) value describing the territory of the district. The relation consists of 439 entries. The contained regions have 368 segments on average (50 minimum, 1,086 maximum). The regions within this relation form a partition of Germany, i.e. there are no overlapping regions. For this reason, we only can find equal, adjacent, or disjoint regions within the relation district.

$$ \begin{array}{l} {\textbf{river}} \\ (\text{RName : string, RNo : int, RRoute : line}) \end{array} $$

The relation contains 375 parts of rivers. The geometry is described in the attribute RRoute. The lines consist of 82 segments on average (five minimum, 471 maximum).

$$ \begin{array}{l} {\textbf{river2}} \\ (\text{RName : string, RNo : int, RRoute : line}) \end{array} $$

This relation contains the same data as the relation “river”. The difference is that here rivers are no longer divided into several parts. The relation contains 122 rivers with 251 segments on average (eight minimum, 1,010 maximum).

$$ \begin{array}{l} {\textbf{highway}} \\ (\text{HName : string, HNo : int, HRoute : line}) \end{array} $$

This relation contains 325 parts of highways of Germany. The size of the \(\underline{line}\) value is 37 segments on average (one minimum, 217 maximum).

$$ \begin{array}{l} {\textbf{city}} \\ (\text{key : int, Name : string, Position : point,\ldots}) \end{array} $$

This relation comes from opengeodb [16]. It contains 17,409 cities (14,288 located in Germany). Besides the position also further but here unused attributes are stored.

Table 8 shows how many pairs of entries within the relations have intersecting bounding boxes.

Table 8 Number of intersecting bounding boxes

Furthermore, the database contains some “single” objects. This means objects stored outside a relation. In this paper we use the object “magdeburg” of type \(\underline{region}\), which was extracted from the relation district.

A.2 Database “Sequoia”

The database “Sequoia” contains a subset of the Sequoia 2000 benchmark data [22]. Because we only are interested in the spatial attributes, we have also reduced the set of attributes. Within our paper, we only use the line and the polygon features of the benchmark. We have stored them in two relations with schemas:

$$ \begin{array}{l} {\textbf{SeqPoly}} \\ (\text{No : int, Reg : region}) \end{array} $$
$$ \begin{array}{l} {\textbf{SeqLines}} \\ (\text{No : int, Line : line}) \end{array} $$

The relations and attributes have the sizes described in Table 9.

Table 9 Sizes of the relations of the Sequoia database

To reduce the query time, we have created two smaller relations which are randomized subsets of the relations SeqLines and SeqPoly, each with size of 200 tuples.

Table 10 shows the numbers of overlapping bounding boxes for these relations.

Table 10 Numbers of intersecting bounding boxes

Rights and permissions

Reprints and permissions

About this article

Cite this article

Behr, T., Güting, R.H. User defined topological predicates in database systems. Geoinformatica 14, 23–53 (2010). https://doi.org/10.1007/s10707-008-0075-y

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10707-008-0075-y

Keywords

Navigation