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.
Similar content being viewed by others
Notes
A complex line may consist of several non-connected parts, and may have any number of endpoints (also zero for a loop.)
For technical reasons, in Secondo’s SQL-like query language, names of objects (relations) and attributes are written in lower case.
The standard predicate also calls the toppred operator using a predefined object of type \(\underline{cluster}\).
References
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
Clementini E, Di Felice P, Califano G (1995) Composite regions in topological queries. IS 20(7):579–594
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
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
Egenhofer M, Clementini E, Di Felice P (1994) Topological relations between regions with holes. Int J Geographic Inf Syst 8(2):128–142
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
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
Gaal SA (1964) Point set topology. Academic, New York
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
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
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
Güting RH, Ding Z (2004) A simple but effective improvement to the plumb-line algoritm. Inf Process Lett 91(6):251–257
Güting RH, Schneider M (1995) Realm-based spatial data types: the ROSE algebra. VLDB J 4(2):243–286
Kothuri R, Godfrind A, Beinat E (2007) Pro oracle spatial for oracle database 11g. Springer, New York
Open GIS Consortium, Inc. (1999) OpenGIS simple features specification for SQL Revision 1.1, OpenGIS Project Document 99-049, May
OpenGeoDB (2008) OpenGeoDB. http://opengeodb.hoppe-media.com, 2008-02-14
Reasey Praing MS (2008) Efficient implementation techniques for topological predicates on complex spatial objects. GeoInformatica 12(3):313–356
Schneider M (2002) Implementing topological predicates for complex regions. In: Proceedings of the international symposium on spatial data handling, pp 313–328
Schneider M (2004) Computing the topological relationship of complex regions. In: DEXA, pp 844–853
Schneider M, Behr T (2006) Topological relationships between complex spatial objects. ACM Trans Database Syst 31(1):39–81
Shamos MI, Hoey D (1976) Geometric intersection problems. In: FOCS. IEEE, pp 208–215
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
Author information
Authors and Affiliations
Corresponding author
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:
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.
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).
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).
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).
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.
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:
The relations and attributes have the sizes described in Table 9.
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.
Rights 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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10707-008-0075-y