1 Introduction

In order to discuss the issue of modelling the logic of the real world in a finite computational representation, it is first necessary to be aware that three different logic domains apply: the real world, the mathematical model and the computational model. The real world concept of space is a difficult subject, more the province of physics, and subject to questions such as “does space exist without matter?” As a result, a simplified mathematical model is used which retains those properties of space that are considered important to the problem domain. “Euclidean space … is understood and defined as infinite and continuous, allowing for infinite places even in a bounded range …” (Nunes 1991, p. 12).

The computational model, by contrast, uses a finite arithmetic, and thus cannot directly model Euclidean space. This paper explores the results of this mismatch of models, and introduces a particular approach that avoids some of the pitfalls.

The remainder of the paper is structured as follows: Sect. 2 discusses the background to the problem, summarises the theories of space used in the approach, and presents a number of other attempts to create rigorous representations. Section 3 provides definitions of the basic primitives of our approach, resulting in the Regular Polytope. The practical question of connectivity and its definition is addressed in Sect. 4. Section 5 discusses the applicability to Cadastre, where the need for integrated 2D and 3D representations is shown to have an elegant solution. Section 6 summarises a demonstration implementation, showing the use of mixed 2D and 3D Cadastral Parcel representations. Section 6 discusses the outcome of the research, and future work that is pending.

2 Background

This section explores the distinction between the situation in the real world, the mathematical abstraction, and the computational representation. Section 2.1 discusses of the difficulty of applying point-set topology to the computational representation. Section 2.2 questions the need for boundaries to be represented as point sets. This section further presents a number of algebraic approaches without invoking boundary point-sets: Regional Connection Calculus (Randell et al. 1992) (see Sect. 2.3), and Proximity Space (Naimpally and Warrack 1970) and Boolean Contact Algebra (Düntsch and Winter 2004) (for both see Sect. 2.4). Section 2.5 presents a number of attempts rigorous representations within the context of a finite machine.

2.1 Point Set Topology

The earlier form of topological theory was expressed in point-set form (Gaal 1964), and this is used in many descriptions of spatial operations. For example, the union of two regions is defined as the set of points in either region. This type of reasoning cannot be applied to the computational, finite resolution model. For example, take a simple case: a straight line joining two points. In the Euclidean models (e.g. R 2 or R 3), such a line will define an uncountably infinite point set (Courant and Robbins 1996).

It is sensible in the mathematical model to define a set of those points that fall on a line, but attempting to translate that concept to the computational model produces wildly varying results. For example, in Fig. 1 two similar lines are shown. Assuming an integer coordinate representation, one defines a point set of two points, the other of four.

Fig. 1
figure 1_11

The point set defied by a line segment. The line segment on the left has no intermediate points. That on the right has two

In fact in a 2D integer representation, a line joining two randomly selected points has a probability of 6/π2 (about 60%) of not passing through any representable points within its length (i.e. the majority of lines in 2D define a set of two points) (Thompson 2007). (Where the points are represented in floating point, the situation is more complex, but it is thought that a similar probability applies. The situation in 3D has not been analysed in detail. These details are of interest, but do not greatly affect the current discussion.)

Consider the example of Fig. 2. Assuming that the line L from p 1 to p 2 is one of the majority of line segments that has no points apart from p 1 and p 2, then defining the intersection of line L with region R as {p: p ∈ Lp ∈ R} results in an empty point set. This indicates that the definition would not be very meaningful. Thus, the test “does line L intersect region R?” would be evaluated as “No”.

Fig. 2
figure 2_11

Intersection of a line segment and a region

The situation in 3D is not so clear. It is conjectured, but not proven, that a similar result applies. That is to say, a surface defined as passing through three points will in general define a sparse point set.

2.2 Boundary-Free Representation

The conventional description of a spatial region partitions space into the interior, boundary and exterior of that region. Although the concept of a boundary as a point-set is useful in describing mathematical abstractions, it has no counterpart in the real world. “… it is nonsense to ask whether a physical object occupies an open or a closed region of space, or who owns the mathematical line along a property frontier” (Lemon and Pratt 1998, p. 10). In the computational model, a line segments may not define a useful point set. e.g. in Fig. 3, three of the boundary segments do not contain any points.

Fig. 3
figure 3_11

Regions in the boundary of a polygonal region do not contain any representable points

That is to say, the concept of a set of boundary points associated with a region is not appropriate to the real world or to the computational representation. Thus it is fruitful to seek an approach that dispenses with the concept. It might be thought that a boundary would be needed to ensure a definition of such concepts as tangential contact, but this is not the case (Randell et al. 1992). This is not to suggest that there is no need to represent the boundary object in a database, since there may be attributes to be recorded. Here we suggest that the concept of a boundary as a point set is not useful.

2.3 The Region Connection Calculus

Egenhofer (1994) uses a 3 × 3 matrix to describe all the possible topological relationships between two regions, based on the interior, exterior and boundary of those regions. However only eight of these are applicable to pairs of contiguous surfaces in 2D, or contiguous solids in 3D (Zlatanova 2000; Zlatanova et al. 2002).

Randell et al. (1992) showed that a significant number of useful relations (The Region Connection calculus – RCC) could be defined based on the concept of connectivity, axiomatically defined as fulfilling the following:

$$ {{\hbox{C}}_{\rm{ref}}}\,\;\,\forall x{\hbox{C(}}p,p{)} $$
$$ {{\hbox{C}}_{\rm{sym}}}\,\;\,\forall x,y[{\hbox{C(}}p,q{)} \to {\hbox{C(}}q,p{)}]. $$

There is a direct relationship between the eight Egenhofer relationships and those of the RCC. This convergence is particularly significant, because it must be remembered that the former are defined in terms of boundaries, while the RCC does not utilise the concept of a boundary. That is to say, the concepts of adjacency, contact and overlap can be fully developed in a boundary free, Mereological sense.

2.4 Boolean Connection Algebra and Proximity Space

Roy and Stell (2002) build on the concept of a Boolean Algebra (Weisstein 1999), adding axioms to define connectivity, thus creating a Boolean Connection Algebra. For regions p, q, r, universal region ∞ and empty region ϕ:

(B1)

\( {\hbox{C(}}p,q{)} \Rightarrow {\hbox{C(}}q,p{)} \)

(B2)

\( {\hbox{C(}}p,p{)}\,\,\,\,{\hbox{for}}\,\,\,p \ne \varphi \)

(B3)

\( \forall p(p \ne \varphi, \infty )\!:\!{\hbox{C}}(p,\bar{p}) \)

(B4)

\( \forall p \ne \varphi, q \ne \varphi, r \ne \varphi :{\hbox{C}}(p,q \cup r) \Leftrightarrow \left[ {{\hbox{C(}}p,q{)}\,\,\,{\hbox{or}}\,\,\,{\hbox{C(}}p,r{)}} \right] \)

(B5)

\( \forall p \ne \infty, \exists \,q \ne \varphi :\neg {\hbox{C(}}p,q{)} \)

Where \( \bar{p} \) is the complimentary region to p. The final axiom requires that the space be continuous, since if \( \bar{p} \) is atomic, there cannot be any region q not connected to p.

A closely related, but earlier concept for the description of connectivity is that of the proximity space (Naimpally and Warrack 1970). Düntsch and Winter (2004) makes the association between this and the Boolean Connection Algebra, and in fact, there is little difference apart from the symbology used.

2.5 Some Rigorous Representations

There are a number of approaches providing a rigorous algebra within the computational representation – amongst them: Infinite precision rational numbers (Franklin 1984), Realms approach (Güting and Schneider 1993), and Dual Grid (Lema and Güting 2002).

These all address the fact that calculations made with computer hardware do not give exact real number results. For example, in calculating AB in Fig. 4, it is the calculation of the circled points that can lead to breakdown in the algebra. In these approaches, the intersection point coordinates are not calculated as part of the process of determining the union of the regions.

Fig. 4
figure 4_11

Calculation of intersection points

The infinite precision rational number approach does allow the calculation of exact points of intersection (Angel 2006), representing the result as rational numbers or homogeneous integer coordinates, but in contrast to the other methods, the precision requirements to express a coordinate set may grow without limit. This approach is used, for example, in the LEDA library (Mehlhorn and Näher 1999). Note that in 3D applications, the precision requirements for the infinite rational number approach can grow very large indeed (Thompson 2007). In our approach (see Sect. 3.1), we restrict the precision requirements, resulting in a simpler implementation (with finite size for coordinate representation).

The Realms approach (Güting and Schneider 1993) limits the effect of calculation of intersection points by defining an envelope around lines, and preventing the lines from straying outside this envelope. The Dual Grid (Lema and Güting 2002) has a restricted number representation, similar to our approach (again see Sect. 3.1). It was developed to implement the ROSE algebra, but has been shown (Roy and Stell 2002) to support the Boolean Connection Algebra as well. At present, Dual Grid has only been expressed in 2D (as has the ROSE algebra) and we would also like to have support for 3D representation.

3 The Regular Polytope

In order to provide a rigorous logic in 2 or 3D within the computational arithmetic, the concept of a regular polytope has been proposed as the union of a finite set of (possibly overlapping) “convex polytopes”, which are in turn defined as the intersection of a finite set of half spaces (in 3D, half planes in 2D) (Thompson 2005a). These half spaces (planes) are defined by finite precision integer parameters (four values in 3D, three in 2D, etc.). Although the definitions of the half spaces use integral parameters, the points within them (and therefore the defined point sets) are interpreted as having domain-restricted rational coordinates, allowing the intersections to be represented exactly. In this paper, the terminology and mathematics of 3D will be used, since the equivalent 2D case is usually obvious. Many of the illustrations are 2D for ease of drawing.

The remainder of this section summarises the definition of the regular polytope (see Thompson (2007) for more detail), in terms of domain-restricted rational numbers (Sect. 3.1), leading to the concept of a half space (Sect. 3.2), a convex polytope (Sect. 3.3), and the regular polytope (Sect. 3.4). Finally, the properties of the regular polytope are discussed briefly in Sect. 3.5.

3.1 Definition of Domain-Restricted Rational Numbers and Points

Given two large integers N′ and N″, a dr-rational number r can be defined as an ordered pair of computational integers (–N″ IN″, 0 < JN′), interpreted as having a value of I/J. In 3D, a dr-rational point is defined in homogeneous coordinates (Coxeter 1974) as an ordered quadruple of integers p = (X,Y,Z,Q), with x = X/Q, y =Y/Q and z = Z/Q representing the Cartesian co-ordinate values (Q > 0). Note that there are counter-intuitive properties possessed by dr-rational points – e.g. it cannot be assumed that the mid-point between two dr-rational points is a dr-rational point.

Practically, many calculations of point position, including significantly the intersection of three planes, have a natural expression in homogeneous coordinates since they result in a common denominator Q to the coordinates calculated.

3.2 Half Space Definition

In R 3, a plane can be defined as the set of points (x, y, z) for which Ax + By + Cz + D = 0. Such a plane divides space into three sets – a “half space” consisting of points for which Ax + By + Cz + D > 0, a half space for which Ax + By + Cz + D < 0, and those points which lie on the plane. As described above, computation of the point set of points lying on the plane is problematic, so this approach includes them in one or other of the half spaces. Since the method of inclusion is consistent, there is no practical or theoretic difficulty with this – as will be shown below.

Using dr-rational points, a half space H(A, B, C, D) (A, B, C, D integers, −M < A,B,C < M, −3M 2 < D < 3M 2) is defined as the set of dr-rational points p(X, Y, Z, Q), −MQX,Y,ZMQ, for which computation of the following inequalities yields these results:

$$ {(}AX + BY + CZ + DQ{)}\, >\, 0\;\;{\hbox{or}} $$
$$ \left[ {{(}AX + BY + CZ + DQ{) = \,}0\;\;\,{\hbox{and}}\;\;\,A\, >\, 0} \right]\;\;{\hbox{or}} $$
$$ \left[ {{(}BY + CZ + DQ{)} = 0\,\;\;{\hbox{and}}\,\;\;A = 0\,\;\;{\hbox{and}}\,\;\;B\, >\, 0} \right]\;\;{\hbox{or}} $$
$$ \left[ {{(}CZ + DQ{)} = 0\;\;\,{\hbox{and}}\,\;\;A = 0,\;B = 0\,\;\;{\hbox{and}}\,\;\;C\, >\, 0} \right]. $$

The complement of a half space is defined as:

$$ \bar{H} = ( - A, - B, - C, - D)\;\;\;{\hbox{where}}\;\;\;H = (A,B,C,D). $$

Using this definition, any plane divides space into two mutually exclusive point sets. Thus from a point-set perspective, the approach is “boundary-free”.

3.3 Convex Polytope Definition

A convex polytope is defined as the intersection of any finite number of half spaces; see examples in Figs. 5 and 6. Convex polytope C is defined as:

Fig. 5
figure 5_11

Convex polytopes defined by half planes/spaces. Highlighted lines/surfaces indicate that these belong to the convex polytope (interior), dashed means outside

Fig. 6
figure 6_11

The complement of a convex polytope

$$ C = \mathop { \bigcap }\limits_{i = 1..n} {H_i}\;\;{\hbox{where }}\;\{ {H_i},{ }i = {1}..n\} \;\;{\hbox{is a set of half spaces}}. $$

In Fig. 5, the solid lines/planes are used to indicate that points which fall along the line/plane in question (AX + BY + CZ + D = 0), are within the convex polytope. The dashed lines/planes indicate that these points do not belong (but would belong to an adjoining polytope). Likewise, the highlighted vertices are part of the subject convex polytopes. Dotted vertices are external. Specifically, in Fig. 5, Points that lie exactly on the edge through v 3 and v 4 are not part of region a, but are part of b, c or e. Vertex v 3, lies within region b, and v 4 is within region c.

The universal convex polytope, is defined as: C = {} (no half spaces).

The complement of a convex polytope \( C = \bigcap\limits_{j = 1..m} {{H_j}} \) is defined as: \( \bar{C} = \bigcup\limits_{j = 1..m} {\{ {{\bar{H}}_j}} \} \).

This is shown in Fig. 6.

3.4 Regular Polytope Definition

A regular polytope O is defined as the union of a set of convex polytopes (Fig. 7).

Fig. 7
figure 7_11

Definition of regular polytope from convex polytopes

$$ O = \bigcup\limits_{i = 1..m} {C_i} \;\;{\hbox{where}}\;\;C_i,i = {1}..m\;\;{\hbox{are convex polytopes}}. $$

Two special regular polytopes are defined:

$$ {O_\Phi } = \{ \}, {O_\infty } = {C_\infty }. $$

These sets are the empty and universal sets used to define a topological space, based on definitions of the union, intersection, and complement of regular polytopes:

$$ \bigcup\limits_{i = 1,m} {{O_i} = \bigcup\limits_{i = 1..m,j = 1..{n_i}} {{C_{ij}}} } \;\;{\hbox{where }}\;{O_i} = \bigcup\limits_{j = 1..{n_i}} {{C_{ij}}} $$
$$ O \bigcap O^\prime = (\bigcup\limits_{i = 1..n} {{C_i}} ) \cap (\bigcup\limits_{j = 1..m} {{{C^\prime}_j}} ) = \bigcup\limits_{i = 1..n,j = 1..m} {({C_i} \bigcap {{C^\prime}_j})} $$
$$ O{ =_{\rm{def}}}\bigcap\limits_{i = 1..n} {{{\bar{C}}_i}\;} \;{\hbox{where}}\;\;O = \bigcup\limits_{i = 1..n} {{C_i}} $$

3.5 Properties of the Regular Polytope

It is relatively simple to show that the space spanned by regular polytopes is a topology (Thompson 2005b), based on the definition of regular polytope as an open set. However the space is not Euclidean.

Referring to the definition of complement, it is apparent that for any regular polytope O,\( \forall p,p \in O \Leftrightarrow p\, \notin\, \bar{O} \). Thus no boundary points exist between \( \bar{O} \) and O (\( \forall p,p \in O \vee p \in \bar{O} \)). This is in contrast with most conventional approaches where (in the mathematical model) space is partitioned into a region’s interior \( {R^\circ } \), exterior \( \bar{R} \) and boundary δR. A further consequence of being a boundary free representation is that the axioms of a Boolean algebra (Weisstein 1999) are satisfied (see Sect. 2.4).

4 Connectivity of Geometric Objects

One of the more important properties of spatial objects is connectivity. This subject is covered in more detail in (Thompson and van Oosterom 2009). The following is a brief summary of the issues. Loosely, connectivity can be thought of as the property that an object has if it is “in one piece”. The literature contains a wide spectrum of definitions of connectivity.

In the polygon representation, as defined by standards such as ISO 19107 (ISO-TC211 2003), connectivity is mandated by requiring at most one outer boundary with zero or more inner boundaries, but this requires some qualification.

The regions in Fig. 8 are not usually considered continuous (OGC 1999) despite having a single outer boundary. Commercial GIS, spatial DBMS products, ISO 19107 (ISO-TC211 2003) and OGC (OGC 1999) are at considerable variance in their approaches to this question (van Oosterom et al. 2004; Thompson and van Oosterom 2009).

Fig. 8
figure 8_11

Discontinuous regions with single outer boundaries. (The circled points in A are supposed to coincide exactly, but have been drawn slightly separated for clarity)

It seems clear that any practical representation should support weak and strong connectivity. Following (Cohn and Varzi 1999) these are denoted:

Ca if the regions touch at one or more points

Cb if the regions meet at a surface (in 3D or a line in 2D) (see Fig. 9) Note that Cb ⇒ Ca

Fig. 9
figure 9_11

Modes of connectivity in 3D

It is clear that these definitions need careful interpretation, since the definition of a line or plane of contact cannot be reliably evaluated as a point set as noted above in Sect. 2.1.

It has been shown (Thompson 2005b) that definitions of Ca and Cb for regular polytopes are viable, that using either definition, the space of regular polytopes obeys the axioms of the RCC based, and that it forms a Weak Proximity Space and a Boolean Connection Algebra.

5 Lazy Evaluation

A critical feature of this approach is that all the basic operations are computed using finite arithmetic. Thus, a half space is defined as a tuple (A, B, C, D) of integers of limited size (typically A, B, C would be 32 bit integers, D would be 64 bit). The grouping of half spaces into convex polytopes, and further into regular polytopes does not require any calculation, and so any convex polytope can be defined in purely finite integer form. In fact many of the spatial functions can be evaluated without arithmetic calculation – hence the term “Lazy Evaluation”.

Dr_rational numbers are required for the calculation of overlap, continuity etc. (all the RCC operations), but it has been shown (Thompson 2005b) that the precision required for these calculations is large but fixed (if the original integers that define the half planes are as above, the calculation vertices require integers of about 128 bits. Thus it can be stated that there is a fixed limit on the maximum precision required for any calculation, and that therefore the time taken for any arithmetic operation is finite and limited.

This is in contrast to the approach of using unrestricted size integer form (such as Java’s BigInteger form). This has been shown to give reasonable results in 2D calculations for the first five or so generations of calculations (Bulbul and Frank 2009), but from that time forward, the time is exponential in terms of the number of generations (increasing by a factor of about 3 per generation). This is probably acceptable in a 2D application, especially as the generations can be “reset” periodically by running an “approximate and re-validate” sweep through the database periodically (Thompson 2009). The situation is 3D is considerably worse, with each generation of calculations, the number of bits required to store coordinates increases by a factor of 10 (compared to a factor of 2 in 2D). It can be expected that the calculation times would be exponential with a similar factor (Thompson 2007).

6 Cadastral Domain

This discussion is applicable to various classes of spatial information, but it has been shown to permit an elegant solution to some of the requirements of Cadastral information. Here, the fundamental item of interest is the land parcel. While these parcels are defined by measurement (survey) of their boundaries, there is no question of ownership of the boundary itself (as a mathematical line). Thus a boundary-free representation is ideal.

There is a growing need to represent 3D parcels in a cadastre. These include strata parcels, units, properties overhanging roads or rail, etc. (Tarbit and Thompson 2006), but amount to a small minority of cadastral parcels in any jurisdiction. This is a strong argument for mixing 2D and 3D representations in the one database (Stoter and van Oosterom 2006), as is also required by the emerging ISO standard for the Land Administration Domain Model (LADM) (ISO-TC211 2009).

As pointed out by Stoter (2004), the so-called 2D parcels are in reality volumetric regions in space. It is merely the definition that is 2D and therefore defines a prismatic volume with undefined vertical limits. As a result it should be possible to evaluate any functions and predicates on a mixture of 2D and 3D parcels. E.g. in Fig. 10, it can be asked whether C intersects D (which it does, since it encroaches into the volume of D). Thus Cadastral data admits of a single sorted logic despite the mixture of 2D and 3D objects.

Fig. 10
figure 10_11

Mixing 2D and 3D Cadastre. Parcels A, B and D are what is usually described as “2D” parcels, but in fact are regions of space above, below and including the rectangular area. There is no explicit top or bottom to these regions – thus they are unbounded above and below. C is a volumetric parcel (fully bounded in all dimensions), with its projection onto the ground shown hashed

7 Expressiveness of the Representation

In order to investigate the practicalities of the approach, a set of Java objects have been written (Thompson and van Oosterom 2006) and used to represent about a thousand 2D cadastral parcels (Fig. 11) taken from the Queensland cadastre (courtesy of the Department of Environment and Resource Management). Included in this test region were three 3D parcels. The basic functions, union, intersection and complement, and the predicates “Empty”, Ca and Cb were first implemented, using the simplifications allowed by the findings of (Thompson 2005b).

Fig. 11
figure 11_11

An overview of the test region. These are primarily 2D parcels, but some 3D parcels can be glimpsed. One of these is shown in detail in the following figure

The remaining functions are implemented by simple combinations of these – e.g.:

$$ \begin{array}{rl} \left( {\hbox{Overlap}}\right){\hbox{ OV}}\left( {p,q} \right)\hskip-6pt&= \,_{\rm{def}}\neg {\hbox{Empty}}(p \cap q) \hfill \\{\hbox{(Strong external connection)}}\,{\hbox{E}}{{\hbox{C}}_{\rm{b}}}(p,q) \hskip-6pt&=\, _{\rm{def}}{{\hbox{C}}_{\rm{b}}}({\hbox{p,q}}) \wedge \neg {\hbox{OV(}}p,q{)} \hfill \\\end{array} $$

The actual Java coding exactly parallels these definitions. e.g.:

public boolean externallyConnectedToB(Polytope other) {return this.connectsToB(other)&& !this.overlaps(other);}

Using this Java implementation, in conjunction with the mathematical proofs of consistency, it has been demonstrated that this approach, even though it does not draw on the concept of a “boundary point set”, can still supply the functionality that is usually associated with boundaries.

Thus, predicates such as “in contact with”, “adjacent to”, “wholly within”, and “non-tangential proper part” are fully implemented without resorting to a definition of the type “point p is (or is not) an element of the boundary of” the regions. On the other side, it is still possible to generate a set of flat polygons that approximate to the boundary of the regular polytopes for presentation purposes.

The remainder of this section shows the kind of data that has been represented, and its presentation (Sect. 7.1) and discusses the storage requirements of the approach (Sect. 7.2).

7.1 Presentation

2D cadastral parcels are unbounded above and below (as described in Sect. 6), which makes them impossible to display as a set of bounding flat polygons. Therefore in Figs. 11 and 12, 2D regular polytopes have been displayed with “fences” to indicate the position of the vertical boundaries. The 3D parcels are displayed as a set of flat polygons defining their outer surfaces. The Java coding has type-casting that allow any of the 2D objects to be cast to their 3D equivalent – thus allowing any of the functions to be applied to any combination of features. For example. H(A, B, D) a 2D half plane is cast to H(A, B, 0, D), a 3D half space oriented vertically. The fact that the 2D object can be represented in 3D without resorting to an artificial “top” and “bottom” is an attractive feature, which also fits to reality, as legally the parcels have no defined lower or upper bound.

Figure 12 illustrates a case where mixed dimensionality predicates and functions can be of value, given a set of basic functions that are rigorous and therefore can be combined with confidence. E.g. “find the parcels that are encroached by parcel A” (“OV(A)”); “find the parcels that are strongly connected to but do not overlap E” (“ECb(E)”); and “is A entirely within B, C union D, but in strong contact with the edge” (“A.TPPb(BCD)”). These types of function can be used to ensure correctness of data, and in a practical database implementation could be specified as constraints (such as that parcels of a particular type cannot overlap one another).

Fig. 12
figure 12_11

3D parcel amongst 2D parcels (Parcel A and 2D parcel E comprise a restaurant. Parcel overhangs the roadway represented by parcels B, C and D)

7.2 Storage Requirements

Based on the Java classes, and on theoretical considerations, the storage requirements of the regular polytope approach has been compared with the more conventional (vertex-based) representations of simple, moderate or complex objects. In general the requirements are quite comparable in 3D (but in 2D, the conventional approach has significantly lighter requirements).

Table 1 shows a summary of the comparison. More detail may be found in Thompson (2007). The shared half space approach allows that any half space that is part of the definition of more than one convex polytope is stored once only. Thus a form of adjacency topology is stored in the database, saving storage, and permitting faster calculation of connectivity.

Table 1 Storage requirements

8 Conclusions

The major contribution of this approach is that it supports a rigorous algebra of topology and connectivity in 2D and 3D spatial applications. This has been shown by axiomatic proof (Thompson 2005b), has been verified to be implementable as a set of objects and supporting algorithms, and tested on a set of real features of useful size. In addition to being applicable to 2D and 3D spaces, it has also been shown to be particularly useful in the cadastral applications by allowing the mixing of representations of different dimensionality without jeopardising the rigour.

Other important applications will benefit from this approach. For example, in topography a 2.5D land surface could be represented by a set of convex polytopes with vertical sides, an upper bound (coinciding with the terrain surface) and no lower bounds wherever a TIN or DEM would be applicable, but with fully general (3D) convex polytope decomposition where a full 3D TEN or other construct would be needed (Verbree et al. 2005). For example, in Fig. 13, the majority of the land surface can be represented as convex polytopes bounded above only (unbounded below), while the bridge is composed of a collection of fully bounded convex polytopes. Clearly there are advantages gained by allowing rigorous and correct operations between these two types of data (Cadastral and Topographic).

Fig. 13
figure 13_11

Region of 2.5D surface meeting 3D structure

The distinguishing feature of this approach is that it de-emphasises the boundary of regions, and eliminates the concept of a set of boundary points. In doing do, it does not lose the functionality that is normally associated with the boundary representations, but provides that functionality in rigorously computable form.

8.1 Further Research

At present, there is no provision for the support of representations that use lower-dimensional geometries, such as roads that are so narrow at the scale of representation that they are stored as linear geometry. Extension into lower dimension features (surfaces, lines and points) is not problematic, but does highlight the difficulty of mixing paradigms – in particular any attempt to treat lines or surfaces as point sets. Thus a sorted algebra such as ROSE (extended to 3D) will be needed.

Note that at the current level of development, this approach has not been highly optimized. In fact, the performance of spatial queries and updates does not compete with the highly efficient techniques on the current market. This is an area that would benefit from further research.