Topological relationships constitute a category of binary relationships between spatial objects. They are based on specific connection properties between geometries, mostly related to having common parts, and disregarding other spatial properties such as the distance and the direction between geometries. There exist many variations of models for representing topological relationships, due to the underlying adopted spatial model and the context of applications. In spatial databases, adopting the vector data model of the Open Geospatial Consortium, topological relationships are evaluated either on the base of the Dimension-Extended 9-Intersection Model (DE9-IM) or the so-called Named Topological Relationships.
Geometric primitives are the representations used and computations performed in a GIS that concern the spatial aspects of the data, data objects described by coordinates. In vector geometry, we distinguish in zero-, one-, two-, and three-dimensional objects, better known as points, linear features, areal or planar features, and volumetric features. A GIS stores and performs computations on all of these. Often, planar features form a collective known as a (spatial) subdivision. Computations on geometric objects show up in data simplification, neighborhood analysis, spatial clustering, spatial interpolation, automated text placement, segmentation of trajectories, map matching, and many other tasks. They should be contrasted with computations on attributes or networks.
There are various kinds of vector data models for subdivisions. The classical ones are known as spaghetti and pizza models, but nowadays it is recognized that topological data models are the representation of choice. We overview these models briefly.
Computations range from simple to highly complex: deciding whether a point lies in a rectangle needs four comparisons, whereas performing map overlay on two subdivisions requires advanced knowledge of algorithm design. We introduce map overlay, Voronoi diagrams, and Delaunay triangulations and mention algorithmic approaches to compute them.