Connectivity in the regular polytope representation
 711 Downloads
 4 Citations
Abstract
In order to be able to draw inferences about real world phenomena from a representation expressed in a digital computer, it is essential that the representation should have a rigorously correct algebraic structure. It is also desirable that the underlying algebra be familiar, and provide a close modelling of those phenomena. The fundamental problem addressed in this paper is that, since computers do not support realnumber arithmetic, the algebraic behaviour of the representation may not be correct, and cannot directly model a mathematical abstraction of space based on real numbers. This paper describes a basis for the robust geometrical construction of spatial objects in computer applications using a complex called the “Regular Polytope”. In contrast to most other spatial data types, this definition supports a rigorous logic within a finite digital arithmetic. The definition of connectivity proves to be nontrivial, and alternatives are investigated. It is shown that these alternatives satisfy the relations of a region connection calculus (RCC) as used for qualitative spatial reasoning, and thus introduce the rigor of that reasoning to geographical information systems. They also form what can reasonably be termed a “Finite Boolean Connection Algebra”. The rigorous and closed nature of the algebra ensures that these primitive functions and predicates can be combined to any desired level of complexity, and thus provide a useful toolkit for data retrieval and analysis. The paper argues for a model with two and threedimensional objects that have been coded in Java and which implement a full set of topological and connectivity functions which is shown to be complete and rigorous.
Keywords
Connectivity Topology Spatial database Spatial algebra Region connection calculus Boolean connection algebraAbbreviations
 RCC
Region Connection Calculus
 BCA
Boolean Connection Algebra
Introduction
Motivation
The topological relationships between spatial objects is considered to be of fundamental importance to spatial information environments, but these rely on precise definitions of set membership, and of the relationships between sets and adjoining sets. The finite nature of the computational arithmetic raises the need to manage potential problems such as that pictured in Fig. 1, and various approaches have been tried over the years (with some described in Section 1.2). It is clear that the implementation of a mathematical theory of space, based on real number arithmetic, on a computer using a finite approximation to that arithmetic (such as floating point) is not a trivial exercise.
A construct, referred to as a Regular Polytope and described herein, has been researched to resolve issues of the mismatch between the mathematical theory and its implementation in a finite digital computer [3], and in particular, to study the issue of connectivity. It has been shown [4] that a fully rigorous algebra can be supported without the assumption of infinite precision by the Regular Polytope approach, and that a useful toolkit of predicates and functions can be provided. These tools can be used with confidence in any combination, with no possibility of failure caused by overflow, underflow or coincidence of values.
Note that the word “Regular” in this context is used in the topological sense—of a set which is equal to the interior of its closure (in the case of openregular) or equal to the closure of its interior (in the case of closedregular). In effect, it means that the set has no singularities—spikes or gaps. The term should not be confused with the geometric term “regular polytope” meaning a polyhedral object with identical faces, generalised into n dimensons.
The research
This paper explores issues raised by the question of connectivity, using the concept of “domainrestricted rational number” calculations—which are computable on current hardware, and do not suffer the problem of unconstrained precision requirements, as do implementations requiring true rational numbers [5]. It is shown that the full set of functions of the region connection calculus (RCC) [6] can be satisfied. The RCC has been chosen as a basis for reviewing the logic because it provides a consistent and useful set of predicates for the investigation of connectivity, without the complications caused by defining a boundary as a (finite) point set.
The conventional approach to this issue is the use of topological encoding of regions and networks [7, 8, 9], combined with a form of normalisation to prevent situations arising where imprecise calculations can cause difficulties [10]. This normalisation is often combined with the validation process, but may in itself lead to breakdown of the spatial algebra. That is to say, once the data has been validated and normalised (the process described as topologically cleaning the data), a rigorous logic applies, but the cleaning process is not well understood [11].
An alternative approach is based on the use of rational numbers. This recognises that the most common operation to cause imprecision is division. By representing numbers as a pair of integers I, J, interpreted as I/J, the actual division operation is avoided [12]. An appealing variant of this is the concept of homogeneous integer coordinates [13] as used in the LEDA library [14]. It must be born in mind that this approach requires that the size of the integers is not constrained. That is to say that it is mandated that overflow cannot occur in any arithmetic operation. It has been shown that the sizes of integers that can be generated in a sequence of calculations tend to become very large indeed (see Section 5.1), and so a database built on such a structure will grow and slow with time [15].
The “Realms” approach handles the imprecision problem directly, by constraining lines to remain within an envelope based on the grid size of the integer representation [16]. While this is shown to support a rigorous algebra (ROSE), it is not a trivial exercise to extend to three dimensions [15]. The “Dual Grid” [17] approach addresses the issue of finite precision calculations using what are, in effect, domainrestricted rational numbers equivalent to those defined in Section 2.1. In 2D, the dual grid has much to recommend it (including support for the ROSE algebra), but the extension to 3D is far from obvious, and may have significant difficulties.
The remainder of the paper is structured as follows. Section 2 contains a summary of the definition of the regular polytope, based on Thompson (2005) [3]. Section 3 explores some desiderata in the definition of connectivity. The derivation of a computable definition of connectivity is addressed in Section 4, along with a discussion of the algebras supported. Section 5 contains the conclusions, a comparison with alternate approaches, and a brief description of a “proof of concept” implementation.
The regular polytope
A regular polytope representation of spatial objects is defined 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). These half spaces (planes) are defined by finite precision integer parameters (3 values in 2D, 4 values in 3D etc.). Although the definitions of the half spaces use integral coordinates, the points within them (and therefore the point sets defined by regular polytopes) are interpreted as domainrestricted rational points.
No notational distinction is made in this paper between computational operations +, −, ., =, etc, and the mathematical operations they implement, since the integer and rational number arithmetic available in computers is exact within its domain. There is however, a distinction to be made (for example, it must be remembered that A+B as a computational operation can result in overflow). By contrast, floating point is not exact, and it cannot be asserted that following the operations a := b*c; (a multiplication and assignment) then a = bc (as a mathematical equation).
Domainrestricted rational numbers
In order to exactly calculate and represent the vertices of any convex polytope the concept of drrational numbers was introduced. Given two large positive integers N′ and N″, a drrational number r can be defined as an ordered pair of computational integers (–N″ ≤ I ≤ N″, 0 < J ≤ N′), interpreted as having a value of I/J. (The meanings and values of N″ and N′ are given in section 2.4). The reason for the name “domainrestricted rational” (drrational) is that the values of I and J are constrained to a finite range of possible values. Like floating point numbers, drrational numbers do not form a field (in contrast to the true rational numbers) [18], and therefore, by definition, cannot span a vector space. There are a number of other counterintuitive properties of drrational numbers, for example that the sum of two drrational numbers may not be a drrational number. In the following discussion, the requirement J > 0 is not explicitly addressed in every case. It is assumed that in any operation that leads to a rational number r = (I/J) with J < 0 will be converted to a valid drrational number (I/J).
In 3D, a drrational point is defined in terms of integral homogenous coordinates, as an ordered 4tuple of integers p = (X, Y, Z, Q), Q ≠ 0. This point could also be represented as a triple of drrational numbers p = (x, y, z) with x = X/Q, y = Y/Q and z = Z/Q. The homogenous coordinate form is to be preferred as it highlights the common denominator Q. Note that there are also counterintuitive properties possessed by drrational points—e.g. it cannot be assumed that the midpoint between two drrational points is a drrational point. The advantage possessed by the drrational representation is that it is directly implementable in computer hardware, and does not lead to a system that slows with age (as a potentially infinite rational representation will) [11, 15].
Half space definition

–M < A, B, C < M, 3M ^{2} < D < 3M ^{2} in 3D applications,

–M < A, B < M, 2M ^{2} < D < 2M ^{2} in 2D (C is not required in 2D).
The form of the definition of a half space, with four parts rather than just (AX + BY + CZ + DQ) > 0, is chosen so as to ensure a clean definition of complement, in effect ensuring that no points will test as “on the boundary”. That is \( H \cap \bar{H} \) is empty, thus eliminating the special cases that arise with boundary points. This is further discussed in Sections 2.4 and 2.6.
H(0, 0, 0, 0) is not a permitted half space.
Regular polytope definition
DR_rational pointset interpretation of the regular polytope
It follows from the above that any three valid half spaces which intersect do so at a point with homogeneous coordinates (X, Y, Z, Q), and that if –MQ ≤ X, Y, Z < MQ, then (X, Y, Z, Q) will be a valid drrational point. That is to say, a regular polytope can be considered to be a set of drrational points, with no drrational boundary points. It is assumed that integer arithmetic is available, and is accurate within its range of validity.
Properties of the regular polytope
It is relatively simple to show that the space O spanned by the regular polytopes is a topology [4, 15] based on the definition of regular polytope as an open set. It is also a non Euclidean metric space. The set of ntuples of real numbers (x _{1}, x _{2}, … x _{ n }), denoted R ^{ n }, defines a Euclidean space, however although the points spanned by the regular polytopes can be described by a tuple of numbers, these are not real numbers but a finite representation, and the space is not Euclidean. (This is true of any finite representation, whether the point coordinates be stored as integers, floating point or drrational numbers).
It is readily apparent that for any regular polytope O, \( \forall p,p \in O \Leftrightarrow p \notin \overline{O} \), and that: \( O \cup \overline{O} = O_{\infty } \) and \( O \cap \overline{O} = O_{\emptyset } \), where O _{∅} and O _{∞} are the empty and universal regular polytopes respectively. Thus no points exist between \( \overline{O} \) and O, in contrast with most conventional approaches where (in the mathematical model) space is partitioned into a region’s interior R°, exterior \( \overline{R} \) and boundary δR, with ∀p, \( p \in R^\circ \; \vee \) \( p \in \overline{R} \; \vee \) p ∈ δR. A further consequence is that the axioms of a Boolean algebra [20] are satisfied (leading to the development of the concept of a Boolean connection calculus—see section 4.7).
The regular polytope as a closed and open set
The space O, spanned by the regular polytopes is a finite point set. Thus all regular polytopes are both open and closed, and therefore fit the definition of a “regular set” as described by Lemon & Pratt [5]. This is not to be confused with the partially open region (or closedopen region) often referred to in topology texts. By contrast, the regular polytope is fully open and fully closed, and is thus considered to be a boundaryfree representation. This is possible because 1. The definition of half space does not admit any boundary point set to exist (as described in Section 2.4) and 2. The finite nature of the pointsets ensures that the set reaches its limit points along the edges.
If the same intervals are considered in drrational numbers, the upper boundary of I is still 1, but the greatest lower boundary of J, by this definition is 1+γ where γ is the minimum representable interval. Thus the interval J is closed, and does not share a common boundary with I. Similarly in Fig. 5, it is possible to define an eastern (and northern) boundary for the set depicted, which contains some points that belong to the set, but this boundary does not match the half spaces shown (dotted lines).
Regular polytope overlap
Since the intersection of two convex polytopes is itself a convex polytope, the computability of overlap depends on the definition of a convex polytope “Empty” test. It has been shown that this test is computable using drrational numbers [15].
The regular polytopes can be shown to span a topological space [4, 15].
Connectivity of geometric objects
Frequently, where more than one outer boundary can exist, the geometry is known as a “multipolygon” [2]. The regions in Fig. 7 would not normally be considered continuous—or at least their interiors are not continuous, but they are each defined using a single outer boundary. Egenhofer et al. [22] discuss the type of geometry, where a hole is strongly connected to the outer boundary (Fig. 7, left region), and do consider it to be connected.
Alternative definitions of connectivity
The topological definition of connectivity is: “A connected set is a set that cannot be partitioned into two nonempty subsets which are open in the relative topology induced on the set. Equivalently, it is a set which cannot be partitioned into two nonempty subsets such that each subset has no points in common with the set closure of the other” [23]. This is not a useful definition in the context of the finite digital computer for which the regular polytope is designed, since any half space that cuts a regular polytope, by definition cuts it into two nonoverlapping, open regions, each equal to its closure (see section 4.1).

C_{a} if the regions touch (at one or more points).

C_{b} if the regions touch at a surface in 3D (line in 2D). (See also Fig. 11)

C_{c} if the regions touch at the entire boundary of one region (in this case x completely fills a hole in y).

C_{d} if one region completely surrounds the other (x completely fills a hole in y and the inner and outer boundaries of y do not touch).

OV if one region completely or partially overlaps the other.
The C_{c} and C_{d} varieties of connection are clearly too strong for most practical uses. These would normally be characterized by the word “enclosure” rather than “connection”. The C_{b} form of connection is clearly useful, and can be called “strong connection”; it is the C_{a} form (“weak connection”) which is more problematic. Borgo et al. [25] use the concept of strong connection (C_{b}) to restrict the definition to what is intuitively a “physical connection” rather than mere contact. The analogy used is that a worm should be able to pass from one region to the other without exposing itself to the outside world. This is the form suggested by van Oosterom, Quak and Tijssen [1].
Connectivity may also be described in terms of the dimensionality of the region of contact [26], i.e. whether the region of contact is a point, line, surface or solid. In 3D, point and line connectivity are cases of C_{a}, surface connectivity is C_{b} while solid “contact” is overlap. The interrelation of these approaches in shown in Fig. 11.
Commercial GIS and spatial DBMS products, ISO 19107 [21] and the OGC Simple Feature Specification [2] are at considerable variance in their approaches to this question, and indeed, are often internally inconsistent (e.g. allowing contact between points on inner rings but not outer boundaries) [1]. Ultimately, the decision as to what variety of connectivity should be supported should be based on the “usefulness” of the result, with both forms being useful in different contexts.

C_{a} if the regions touch (at least at one point) or overlap.

C_{b} if the regions touch at a surface (line in 2D) or overlap.

Therefore: OV ⇒ C_{b} ⇒ C_{a}.
Arguments for weak connectivity—C_{a}
In the Cadastral information domain, connectivity of type C_{a} is argued for on the basis that any change in the definition of a parcel will affect all neighbours, including the “corner” neighbours.
Difficulties with weak connectivity
Returning to Fig. 12, a property consisting of the amalgamation of parcels A and C would be C_{a} connected, as would the amalgamation of B and D, and these two properties would cross without overlapping.
It is clear that neither C_{a} nor C_{b} provides the complete answer in all cases, so the algebra should be explored using both forms. As a result, two complementary, but different connection algebras are discussed in this paper. The subscript will be used to make this distinction. In Fig. 12, the weak connection between B and D is notated as C_{a}(B, D) while the strong connection between A and D is notated as C_{b}(A, D).
Defining connectivity in the regular polytope
In order to remove arbitrary distinctions between regions, based on concepts that have no realworld importance, “… 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 & Pratt page 10) [5], Lemon & Pratt invoke the concept of a “regular set”. A regular set is readily shown to be equal to the interior of its closure. In particular, the interior of the closure of any set is a regular set (possibly empty or disconnected).
The critical question with regular polytopes is whether a rigorous definition of connectivity can be formed.
Half space connectivity issues
In defining connectivity, it is essential that if a connected region is bisected by a half space (and its complement), then the two regions so created are connected to one another.
Thus any definition of connectivity must require that \( {\text{C}}(O) \Leftrightarrow {\text{C}}\left( {O_H \cup O_{{\overline{H} }} } \right) \) Note that, since no point can belong to a half space and its complement, it must be possible for convex polytopes to be connected without overlapping.
Regular polytope definition of C_{a}
The concept of a domainrestricted rational point set interpretation of a regular polytope allows the definition of “pseudoclosure” of a regular polytope. The pseudoclosure of a halfspace, H(A, B, C, D), H ^{ pc }, is defined as the set of all drrational points (X, Y , Z, Q), –MQ ≤ X, Y, Z ≤ MQ (extending the range which was –MQ ≤ X, Y, Z < MQ) such that point (X, Y , Z, Q) ∈ H ^{ pc } if AX + BY + CZ + DQ ≥ 0. (Note the equal sign, which includes all boundaries). The pseudoboundary of a half space H(A, B, C, D) is the set of all dr_rational points (X, Y , Z, Q) such that AX + BY + CZ + DQ = 0.
The pseudoclosures form the basis of an alternative closedset topology on the set of drrational points.
Two regular polytopes O _{ 1 } and O _{ 2 } are considered to be C_{a} connected if a drrational point p exists such that p is within O _{ 1 } ^{ pc } and within O _{ 2 } ^{ pc }, i.e. if their pseudoclosures overlap. This will be denoted as C_{a} (O _{ 1 } , O _{ 2 } ).
Regular polytope definition of C_{b}
If C _{1} and C _{2} overlap, i.e. C _{1}∩C _{ 2 } ≠ C _{∅}, then letting C = C _{1}∩C _{ 2 }, it is clear that C ⊆ C _{ 1 }∪C _{ 2 }, C∩C _{ 1 } ≠ C _{∅} and C∩C _{ 2 } ≠ C _{∅}. Therefore OV ⇒ C_{b}.
If C _{1} and C _{2} overlap, then C_{b}(C _{1}, C _{2})  done.
Otherwise, if there exists one mutually antiequal pair of half spaces (one half space from each convex polytope) H _{ i }∈C _{1}, H _{ j }∈C _{2}, \( H_i = \overline{H}_j \), then
If this convex polytope is cut by H _{ i } and H _{ j }, that is to say,C∩H _{ i } ≠ C _{∅} and C∩H _{ j } ≠ C _{∅}, then C_{b}(C _{1}, C _{2})  done.
(Clearly, from this definition: C ⊆ C _{1}∪C _{2}, and C∩H _{ i } = C∩C _{1} ≠ C _{∅} and C∩H _{ j } = C∩C _{2} ≠ C _{∅}).
Otherwise ¬C_{b}(C _{1}, C _{2})  done
If there is no antiequal pair of half spaces, and C _{1} and C _{2} do not overlap, then they cannot be C_{b} connected. If more than one pair of antiequal half spaces exists, then the convex polytopes definitely are not C_{b} connected.
In Fig. 17, for example, the region C (shown dotted) can be formed in each case by forming the intersection of the two convex polytopes (omitting the antiequal half space pair), but only in the left hand case does the half space divide C.
Properties of C_{a} and C_{b}
It is important to note that the details of the definitions, and in particular the use of drrational numbers and pseudoclosure are in some sense “under the covers”. To the outside observer, the definition of half space, and therefore convex and regular polytopes is in terms of integers (A, B, C and D). It is only when connection or overlap is to be determined that drrational arithmetic is required.
Internal connectivity of regular polytopes
A regular polytope can be defined as “C_{a} connected” by induction as follows:

S is a C_{a} connection if j = 1 and ¬Empty(C_{ j }).

∀C∈O, S′ = {C, C _{ i }: i = 1..j} is a C_{a} connection if {C _{ i }: i = 1..j} is a C_{a} connection , and ∃ i ≤ j such that C_{a}(C, C _{ i }).

(Note—this implies ¬Empty(C)).
Internal C_{b} connectivity can be defined in the same way for regular polytopes. Note that the regular polytope in Fig. 19 has four C_{b} connections, with the connection marked 2 being composed of 2a and 2b which are separated as C_{b} connections. Note also that if a regular polytope contains any empty convex polytopes in its definition, then it cannot be C_{a} or C_{b} connected (by the above definition). This is the reason that a regular polytope is defined as a set of nonempty convex polytopes in Section 2.3.
Defining the connection relations

Intersection, union and negation on regular polytopes are defined as described in Section 2.3.

Define Empty(C) on convex polytopes to implement: Empty(C) = _{def} ∀p, p∉C.

Use this to define OV(A, B) and Empty(A) on regular polytopes A, B.

Use these to define A ⊆ B =_{def} Empty (\( A \cap \overline{B} \)) (denoted P(A, B) in the RCC – see Section 5)

Define equals (A = B) =_{def} (A ⊆ B) ∧ (B ⊆ A) (denoted EQ(A, B)).

Define connection as C_{a} and/or C_{b} as required.

Define all remaining Region Connection Calculus relations (see Table 1).
The basic relations of RCC theory [6]
Predicates  Description 

C(A, B)  A connects to B (implementing C_{a} or C_{b}) 
DC(A, B)  A is disconnected from B [=_{def} ¬C(A, B)] 
OV(A, B)  A ∩ B ≠ ϕ (overlaps) 
P(A, B)  \( A \subseteq B\left( {{\text{part}}\,{\text{of}}} \right)\left[ { =_{\text{def}} \neg {\text{OV}}\left( {A,\overline{B} } \right)} \right] \)] 
PP(A, B)  A ⊂ B (proper part) [=_{def} P(A, B) ∧ ¬P(B, A)] 
EQ(A, B)  A = B (equality) [=_{def} P(A, B) ∧ P(B, A)] 
EC(A, B)  C(A, B) ∧ ¬OV(A, B) (externally connected) 
TPP(A, B)  \( A \subset B \wedge {\text{C}}\left( {A,\overline{B} } \right) \) (tangential proper part) 
NTPP(A, B)  \( A \subset B \wedge \neg {\text{C}}\left( {A,\overline{B} } \right) \) (nontangential proper part) 
PO(A, B)  OV(A, B) ∧ ¬P(A, B) ∧ ¬P(B, A) (proper overlap) 
It was shown by Düntsch et al. [29, 34], however, that this definition is redundant, and that all regions in an RCC must be proper. Roy and Stell [30] discuss this in a context of a discrete space, and conclude that this definition cannot be maintained. The approach they use defines a dual pseudocomplement, but this is unnecessary in the case of the regular polytope topology, since the issue of boundaries and closure has been addressed by the definition of half space used. Instead, it can be shown that the space of regular polytopes forms what could be called a “Finite Boolean Connection Algebra”.
Regular polytopes as a Boolean connection algebra
It can be verified readily that the axioms of a Boolean Algebra [20] are satisfied by the set of regular polytopes, with the role of the zero (0) being fulfilled by the empty regular polytope O _{∅}, and 1 by the universal regular polytope O _{∞}. The Boolean operations “and” (∧) and “or” (∨) are represented by the intersection (∩) and union (∪) operations as defined for regular polytopes. The proof of this assertion can be found in [15], and follows directly from the definitions of intersection, union and complement.
 (B1)
C(A, B) ⇒ C(B, A)
 (B2)
C(A, A) for A ≠ O _{∅}
 (B3)
\( \forall A \; \left( {{{A}} \ne {\text{O}}_{\emptyset }, {\text{O}}_{\infty } } \right):C\left( {A,\overline{A} } \right) \)
 (B4)
∀ A ≠ O _{∅}, B ≠ O _{∅}, C ≠ O _{∅}: C(A, B∪C) ⇔ [C(A, B) or C(A, C)].
 (B5)
∀ A ≠ O _{∞} , ∃ B ≠ O _{∅} : ¬C(A, B).
It has been shown [15] that the space spanned by regular polytopes satisfies these axioms apart from the final “nonatomic” axiom (B5), using strong (C_{b}) or weak (C_{a}) connectivity. It is also shown that the closely related axioms of a weak proximity space [31] are satisfied.

Consider \( \overline{A} \) to be an atomic set, A ≠ O _{∅}, such that A′ ⊆ A ⇒ A′ = A or A′ = O _{∅}.

Consider \( \bar{A} \), the complement of A:

\( \overline{A} \ne {\text{O}}_{\infty } \Rightarrow \exists {\text{B}} \ne {\text{O}}_{\emptyset } :\neg {\text{C}}\left( {\overline{A}, B} \right) \). (by (B5).

But \( \neg {\text{C}}\left( {\overline{A}, B} \right) \Rightarrow B \subset A \). Contradiction.

Therefore there can be no atomic set in a space that satisfies (B5).
Without this axiom, the space spanned by regular polytopes can be called a Finite Boolean Connection Algebra, or a Weak Proximity Space.
Conclusion
Using the regular polytope, it is possible to rigorously define connectivity, overlap, and equality of regions. This allows the full set of RCC relations to be defined as follows (Table 1).
At first sight, this seems to be a small number of relations compared to the 512 that can be identified using the Egenhofer 3 × 3 matrix [32], but as has been shown by Zlatanova [33], only eight of them are distinct and applicable to pairs of surfaces in 2D, or pairs of solids in 3D. All of the predicates in Table 1 are derivable from those eight. Note also that for all of the predicates which are defined in terms of C, there are two varieties—based on C_{a} and C_{b}, thus the predicates DC_{a}, DC_{b}, EC_{a}, EC_{b}, TPP_{a}, TPP_{b}, NTPP_{a} and NTPP_{b} can be defined.
It has been shown [4, 15] that the space of regular polytopes obeys the axioms of the Region Connection Calculus [6] based on the definitions given in section 2, and that it forms a Weak Proximity Space [31]; and a Boolean Connection Algebra [30]. It is important to remember that it is the computational representation that satisfies the axioms, not an abstraction which is approximated by the computational representation. Thus it is possible to computationally apply the operations in any combination with complete confidence that no logic failure can result.
The regular polytope has been shown to be a viable and robust model for the representation of spatial objects. This representation has been shown to possess a useful, complete, rigorous and closed logic, in the computational domain. It is important to note that the logic is applied to the representation itself. The representation is not just an approximation of a mathematical model which displays the logic. Thus the programming can proceed without generating a large number of special cases (or surprises).
Comparison with other approaches
In common with the infinite precision rational number approach, the Regular Polytope objects cannot be rotated through an arbitrary angle with exact results. This is also true of objects stored using integers or floating point numbers. It is given that, in a limited precision computer, there must be approximations [11], with the variation being in the frequency and impact of these approximations. The important fact, and that which makes the Regular Polytope and infinite precision rational approaches so valuable is that the underlying spatial algebra is rigorous (in common also with the Realms and Dual Grid approaches in 2D).
The differentiation between this and the infinite precision rational number approach is to be found in the precision requirements. The probability that a randomly selected rational number can be simplified (by determining a common factor between numerator and denominator and dividing through) is only about 40% (actually 16/π^{2}) [15,35]. Thus it cannot be expected that there will be any appreciable savings to be gained by simplifying rational numbers.
In 2D, the increase in precision requirements in the infinite precision rational number approach is fairly modest, but this is not true of the 3D case. If the intersection of two polyhedra is calculated, the new points generated can require seven times the storage space of the original points [15]. Thus, assuming ordinary 32bit integers for the first generation, any derived objects may require 224bit integers to store. This continues through subsequent generations—1568bit, 10968 etc.
This is not true of the Regular Polytope. The storage requirements do not increase, and there is no loss of computational power over time, no matter what the depth of the computational complexity. Ordinary 32 and 64 bit integers are sufficient to store the half space definitions, and, although more precision is needed internally to calculate predicates such as “isEmpty”, there is no need to store these higher precision numbers.
Implementation in Java
Topological functions
Function  Description 

complement  \( \overline{A} \) 
union  A ∪ B 
intersection  A ∩ B 
In this paper the important issue of connectivity has been discussed and though not trivial two alternate definitions been given, the later having advantages in robustness. It has been shown that the regular polytope representation can support the Relation Connection Calculus, and could appropriately be referred to as a Finite Boolean Connection Algebra.
The technique has been shown to be computable, both theoretically—using rigorous proofs, and practically—using demonstration Java programs.
Footnotes
 1.
This shorthand is taken to mean M ≤ X/Q < M ∧ M ≤ Y/Q < M ∧ M ≤ Z/Q < M. Where there is no danger of confusion, this will be used throughout.
Notes
Open Access
This article is distributed under the terms of the Creative Commons Attribution Noncommercial License which permits any noncommercial use, distribution, and reproduction in any medium, provided the original author(s) and source are credited.
References
 1.van Oosterom P, Quak W, Tijssen T (2004) About invalid, valid and clean polygons. In: Fisher PF (ed) Developments in spatial data handling. New York, SpringerVerlag, pp 1–16Google Scholar
 2.OGC (1999) Open GIS Simple features Specification for SQL. 5th May 1999 [cited 15th Oct 2003]; Revision 1.1: Available from: http://www.opengis.org/specs/?page=specs
 3.Thompson RJ (2005) 3D framework for robust digital spatial models. In: Zlatanova S, Prosperi D (eds) Largescale 3D data integration. Taylor & Francis, Boca Raton, FLGoogle Scholar
 4.Thompson RJ (2005) Proofs of Assertions in the Investigation of the Regular Polytope. [cited 2 Feb 2007]; Available from: http://www.gdmc.nl/publications/reports/GISt41.pdf.
 5.Lemon O, Pratt I (1998) Complete logics for QSR [Qualitative Spatial Reasoning]: A guide to plane mereotopology. J Vis Lang Comput 9:5–21CrossRefGoogle Scholar
 6.Randell DA, Cui Z, Cohn AG (1992) A spatial logic based on regions and connection. in 3rd International Conference on Principles of Knowledge Representation and Reasoning. Cambridge MA, USA: Morgan Kaufmann.Google Scholar
 7.Molenaar M (1998) An introduction to the theory of spatial object modelling for GIS. Taylor and Francis, LondonGoogle Scholar
 8.Louwsma JH (2003) Topology versus nontopology storage structures. Available from: http://www.gdmc.nl/publications/2003/Topology_storage_structures.pdf
 9.Kazar BM, Kothuri R, van Oosterom P, Ravada S (2008) On valid and invalid threedimensional geometries. In: Van Oosterom P, Zlatanova S, Penninga F, Fendel E (eds) Advances in 3D geoinformation systems. Springer, BerlinGoogle Scholar
 10.Milenkovic VJ (1988) Verifiable implementations of geometric algorithms using finite precision arithmetic. Artif Intell 37:377–401CrossRefGoogle Scholar
 11.Thompson RJ (2009) Use of Finite Arithmetic in 3D Spatial Databases. In: Lee J, Zlatanova S (eds) 3D geoinformation sciences—lecture notes in geoinformation and cartography. Springer, BerlinGoogle Scholar
 12.Franklin WR (1984) Cartographic errors symptomatic of underlying algebra problems. International Symposium on Spatial Data Handling, Zurich, Switzerland, pp 190–208Google Scholar
 13.Angel E (2006) Interactive computer graphics: a topdown approach using OpenGL Addison Wesley, Boston.Google Scholar
 14.Mehlhorn K, Näher S (1999) LEDA: A Platform for Combinatorial and Geometric Computing: Cambridge University PressGoogle Scholar
 15.Thompson RJ (2007) Towards a Rigorous Logic for Spatial Data Representation, PhD thesis, Geo Database Management Centre. Delft University of Technology: Delft. Available from: http://www.gdmc.nl/publications/2007/Rigorous_Logic_for_Spatial_Data.pdf
 16.Schneider M (1997) Spatial data types for database systems: finite resolution geometry for geographic information systems. In: Goos G, Hartmanis J, van Leeuwen J (eds) Lecture notes in computer science. Springer, BerlinGoogle Scholar
 17.Lema JAC, Güting RH (2002) Dual grid: a new approach for robust spatial algebra implementation. GeoInformatica 6(1):57–76CrossRefGoogle Scholar
 18.Weisstein EW (2005) Rational Number. MathWorld—A Wolfram Web Resource [cited 23 May 2005] Available from: http://mathworld.wolfram.com/RationalNumber.html
 19.Edelsbrunner H, Muecke EP (1988) Simulation of simplicity: a technique to cope with degenerate cases in geometric algorithms. in ACM Symposium on Computational GeometryGoogle Scholar
 20.Weisstein EW (1999) Boolean Algebra. MathWorld—A Wolfram Web Resource [cited 20 Jan 2007]; Available from: http://mathworld.wolfram.com/BooleanAlgebra.html
 21.ISOTC211 (2001) Geographic Information—spatial schema, in IS19107. International Organization for Standards, GenevaGoogle Scholar
 22.Egenhofer MJ, Clementini E, Di Felice P (1994) Topological relations between regions with holes. Int J Geogr Inf Syst 8(2):129–142CrossRefGoogle Scholar
 23.Insall M, Weisstein EW(1999) Connected set. [cited 2 Feb 2007]; Available from: http://mathworld.wolfram.com/ConnectedSet.html
 24.Cohn AG, Varzi AC (1999) Modes of Connection. in Spatial Information Theory. Proceedings of the Fourth International Conference. Springer Verlag, BerlinGoogle Scholar
 25.Borgo S, Guarino N, Masolo C (1996) A pointless theory of space based on strong connection and congruence. in 6th International Conference on Principles of Knowledge Representation and Reasoning (KR96): Morgan KaufmannGoogle Scholar
 26.Clementini E, Di Felice P, van Oosterom P (1993) A small set of formal topological relationships suitable for enduser interaction. in Third International Symposium on Advances in Spatial Databases. SingaporeGoogle Scholar
 27.Bennett B (1995) Carving up space: Existential axioms for a formal theory of spatial relations. in The IJCAI95 Workshop on Spatial and Temporal Reasoning. Montreal, CanadaGoogle Scholar
 28.Thompson RJ, Van Oosterom P (2006) Implementation issues in the storage of spatial data as regular polytopes. in UDMS 06. AalborgGoogle Scholar
 29.Düntsch I, Wang H, McCloskey S (2002) A relationalgebraic approach to the region connection calculus. Available from: http://citeseer.ist.psu.edu/264027.html
 30.Roy AJ, Stell JG (2002) A qualitative account of discrete space. in GIScience 2002. Boulder, Colorado, USAGoogle Scholar
 31.Naimpally SA, Warrack BD (1970) Proximity spaces. Cambridge tracts in mathematics and mathematical physics. Vol. 59. University Press, CambridgeGoogle Scholar
 32.Egenhofer MJ (1994) Deriving the composition of binary topological relations. J Vis Lang Comput 5(2):133–149CrossRefGoogle Scholar
 33.Zlatanova S (2000) 3D GIS for Urban Development. PhD Thesis, Graz University of Technology: GrazGoogle Scholar
 34.Düntsch I, Winter M (2004) Algebraization and representation of mereotopological structures. Relational Methods in Computer Science 1:161–180Google Scholar
 35.Castellanos D (1988) The ubiquitous pi (Part II). Math Mag 61(3):148–161CrossRefGoogle Scholar
Copyright information
Open AccessThis is an open access article distributed under the terms of the Creative Commons Attribution Noncommercial License (https://creativecommons.org/licenses/bync/2.0), which permits any noncommercial use, distribution, and reproduction in any medium, provided the original author(s) and source are credited.