Computers, Environment and Urban Systems 35 (2011) 208–216
Contents lists available at ScienceDirect
Computers, Environment and Urban Systems journal homepage: www.elsevier.com/locate/compenvurbsys
Topology of surfaces modelling bridges and tunnels in 3D-GIS Gerhard Gröger ⇑, Lutz Plümer Institute of Geodesy and Geoinformation, University of Bonn, Meckenheimer Allee 172, D-53115 Bonn, Germany
a r t i c l e
i n f o
Article history: Received 1 April 2010 Received in revised form 11 October 2010 Accepted 12 October 2010 Available online 13 November 2010 Keywords: Handles Topology Surfaces Bridges Tunnels 3D-GIS
a b s t r a c t Bridges and tunnels are semantically meaningful objects in Geographical Information Systems (GIS), playing an important role in terms of reachability between locations. From a topological point of view, bridges and tunnels on surfaces are captured by the notion of a handle. In this paper, we extend an existing axiomatic characterization of 3D surfaces, which guarantees consistency between geometry and topology, to the case of handles. Furthermore, we present a method which verifies the occurrence of handles in surfaces, thereby contributing to the semantic-topological consistency in GIS. We close the gap between the global topological definition of handles in surfaces and the local definition of semantical handle objects in GIS – tunnels, bridges, arcades. Our method bases on a classification of cycles in two types. We give an efficient algorithm for discriminating both using standard methods from graph theory. This classification in addition contributes to the correctness of editing operations in GIS. Ó 2010 Elsevier Ltd. All rights reserved.
1. Introduction Bridges and tunnels are semantically meaningful objects in Geographical Information System (GIS), which provide links between remote or separated entities. In terms of reachability, without these links connectivity would not be given. The Channel Tunnel links the United Kingdom with the European continent, and the two bridges crossing the Bosporus in Istanbul link Europe with Asia. Intersection-free transportation networks require bridges and tunnels, and the coexistence of railways and ferry lines needs bridges and tunnels as well. Hence, a correct and consistent representation of topology and geometry of bridges and tunnels is crucial for GIS and a prerequisite for sound semantics. From a topological point of view, semantic objects like bridges or tunnels are handles (Alexandroff, 1961), if they are integrated in the surface representing the terrain and the hull of other manmade objects (c.f. Fig. 1). Often the terrain, constructions like buildings or bridges, and areal objects like roads are represented separately. This can particularly be observed in many existing data sets. e.g., in 3D city models provided in CityGML (Gröger, Kolbe, Czerwinski, & Nagel, 2008; Kolbe, Gröger, & Plümer, 2008). However, the severe drawback of keeping the objects separately is that errors which are crucial for many applications are not detected: well known errors are buildings floating above the terrain, buildings which are sunk in the terrain, buildings which are penetrated
⇑ Corresponding author. Tel.: +49 228 731764; fax: +49 228 731753. E-mail addresses:
[email protected] (G. Gröger),
[email protected] (L. Plümer). 0198-9715/$ - see front matter Ó 2010 Elsevier Ltd. All rights reserved. doi:10.1016/j.compenvurbsys.2010.10.001
by roads or by rivers, or buildings which penetrate mutually. Particularly for tunnels and bridges the connection with the terrain is crucial: there must be a seamless connection between the object and the terrain. If those requirements are not fulfilled, many relevant applications will either not work or yield erroneous results. For example, a non-seamless connection between a tunnel or bridge and the terrain poses problems for a driving simulation tool, since there is a jerk. If, for example, buildings are sunk in the terrain, a noise emission simulation tool will provide false results. The mentioned severe problems are the motivation to provide an integrated, topological model where all objects are seamlessly integrated in the terrain. The errors mentioned cannot occur or are detected immediately. In principle, for integration any 3D topological GIS model can be used, for example ISO ‘Spatial Schema’ topology (Herring, 2001), the model of Boguslawski and Gold (2010) or of Gröger and Plümer (2010). An review on some other models can be found in Zlatanova, Abdul Rahman, and Shi (2004), whereas Ellul and Haklay (2006) describe the advantages topological models have for specific applications. However, the most simple integrated topological model is a surface model or 2.8D map (Gröger & Plümer, 2005), which is the base of the concepts described in the paper. Although there is a direct correspondence between the semantic concept of bridges and tunnels on one hand and the topological concept of a handle on the other, so far, neither has there been a satisfying specification of their relationships, nor a specification of three-dimensional surfaces with handles, which is provable correct and feasible from a computational point of view. With this paper, we intend to fill this gap by answering the following questions:
G. Gröger, L. Plümer / Computers, Environment and Urban Systems 35 (2011) 208–216
209
Fig. 1. Surface model with integrated bridge.
(1) How can 3D surfaces with handles be characterized in such a way that topological errors can be identified or easily excluded? (2) How can a semantic identification of bridges and tunnels be verified respectively falsified from a topological point of view? Interestingly, handles have not been treated satisfactorily in GIS up to now. Traditionally, GIS provide two-dimensional representations of real world objects. The topology of 2D space has been discussed for a long time (Frank, 1983) and is well understood: axiomatic characterizations are available being both correct and complete (e.g., Plümer & Gröger, 1997). However, as suggested above, intersection-free transportation networks are not 2D, their graphs are not planar. Intersection points are introduced, which have no topological underpinning. Cartography handles this problem by introducing special signatures, e.g. for bridges. Semantic data models like the official German topographic model (AdV, 2006) provide special cross-over relations between semantic objects like roads and railways. Basically, for modelling transportation networks, a 3D topology is needed – 2D is not sufficient. Digital Terrain Models (DTMs) (Okabe, Boots, Sugihara, & Nok Chiu, 2000) are well-known structures in GIS representing the surface of the earth. A DTM is a special case of a 2D surface embedded in 3D space. From a mathematical point of view, such surfaces are 2-manifolds: each point on the surfaces has a neighbourhood which is topologically equivalent to a 2D disk (Armstrong, 1997). Intuitively, topological equivalence can be illustrated by a rubber sheet transformation, where the sheet is stretched but neither torn nor folded. In the case of a DTM, this topological equivalence is not only locally valid, but also globally: the whole surface can be transformed topologically to a 2D disk. Hence, axiomatic characterizations of the 2D case can be adapted to such surfaces with minor changes (Gröger & Plümer, 2003,2005). Informally, the topology is 3D for the price of 2D. If handles occur in a surface, the topological equivalence to a 2D disk holds locally, but not globally. No rubber sheet transforms it to a 2D disk. Its topology is three-dimensional in a specific sense. Handles have several impacts on the methods for representing surfaces, e.g. paradoxes like the Möbius strip or the Klein bottle may occur. Further, the Jordan Curve Theorem (Alexandroff, 1961) is not valid for surfaces with handles. It states that each non self-intersecting cycle on a surface separates the surface into an unbounded and a bounded part. This theorem holds true for surfaces which are topologically equivalent to a 2D disk globally. If a handle is involved in such a cycle, i.e. if a handle starts inside the cycle, the outside of the cycle can be reached from the inside without crossing the cycle by traversing the handle. From a semantic as well as from a topological point of view, this property essentially defines a handle: to bypass a border or barrier, e.g. a river, a railway or a mountain. The number of handles is denoted by the genus of a surface (Alexandroff, 1961), which is an important topological property of a surface.
Nevertheless, this concept may not be used to identify handles. From a topological point of view, boundaries of a handle – where the handle ends and the remaining part of the surface starts – are not defined. In the physical world, it may be difficult to specify the border between a bridge and a road, for example – but this is a matter of semantic imprecision and geometrical uncertainty, which may be dissolved by appropriate semantic rules. In topology, handles are a global property of a surface and not directly related to identifiable parts of that surface. However, specific – albeit not unique – cycles may be identified. Consider for example the case of a simple bridge without any pillars, where the hull of the bridge body touches the terrain surface in two cycles only. If the object (the bridge body) between these two cycles is deleted, and if the resulting two holes in the surface (which are delimited by the cycles) are sealed, the number of handles decreases by one. In Gröger and Plümer (2010), 2.8D maps are extended to model solids and aggregations of solids (a building consisting of rooms, for example). These models are characterized axiomatically, extending the axioms for 2.8D maps. However, handles are also excluded in those solid models. Hence, the approach in this paper is orthogonal to the one in Gröger and Plümer (2010). The contribution of this paper is a sound characterization of surfaces with handles. We extend an axiomatic description of surfaces which is equivalent to the mathematical description (Gröger & Plümer, 2003,2005) to the case of handles. It is effectively implementable using standard methods of computational geometry and graph theory, and feasible with regard to computational complexity. Furthermore, we specify a method to verify semantical handle objects topologically. This requires a classification of cycles on surfaces, which relates the global concept of handles to local cycles on surfaces. We present an efficient procedure which differentiates both types of cycles. Finally, we show how this differentiation contributes to the avoidance of errors in editing procedures. In Gröger and Plümer (2010), surface models are extended to model solids and aggregations of solids (a building consisting of rooms, for example). These models are characterized axiomatically, extending the axioms for surfaces. However, handles are also excluded in those solid models. Hence, the approach in this paper is orthogonal to the one in Gröger and Plümer (2010). 2. Basic mathematical notions This section first recapitulates mathematical notions from graph theory (Harary, 1969) and mathematical topology (Alexandroff, 1961; Armstrong, 1997; Mäntylä, 1988) as base of the concepts and methods presented in this paper, and second fixes terminology. 2.1. Graph theory We use standard notions from graph theory (Harary, 1969) in this paper. Particularly, a graph is non-separable, if it is connected and remains connected after the removal of an arbitrary vertex. A
210
G. Gröger, L. Plümer / Computers, Environment and Urban Systems 35 (2011) 208–216
(a)
(b)
(c)
(d)
of the surface. This number is called genus of the surface. This concept is illustrated in Fig. 3. Alternatively, handles can be effectively computed by Euler’s formula, if the surface has a graph structure (cf. Section 2.1). Let |V|, |E|, and |F| be the numbers of vertices, edges and faces of the connected graph representing the surface. Then the genus G can be derived by the formula
G ¼ ð2 jVj þ jEj jFjÞ=2:
Fig. 2. (a) Open disk and (b) cuboid with two opposite open sides as examples for 2manifolds. (c) and (d) are non-2-manifold surfaces.
graph embedded in the Euclidian plane R2 is plane, if each intersection point of two edges is a common end vertex of both edges. Such an embedding defines faces as atomic areal entities which are bounded by simple cycles of the graph. By assigning a 3D position to a vertex, a graph is embedded in Euclidean space R3 . The notion of a face can be generalized to this case by forcing the edges incident to a face to be located in the same plane. Such faces are planar.
2.2. Topology Topology as branch of mathematics provides the appropriate notions for classifying surfaces, solids and handles for modelling urban or regional objects. In Euclidean space, a surface embedded in R3 is defined as a continuous, differentiable mapping from R2 to R3 . A 2-manifold (Foley, van Dam, Feiner, & Hughes, 1995; Herring, 2001; Molenaar, 1991; Mortenson, 1997; Mäntylä, 1988) is a topological space, where each point has a neighbourhood which is topologically equivalent to an open two-dimensional disk. An example for an open disk is depicted in Fig. 2a). Examples for 2manifolds are given in Fig. 2: an open disk itself (a) is a 2-manifold, as well as a cuboid with two opposite open sides in (b). Such a structure is topologically equivalent to an open cylinder surface. The surfaces in (c) and (d) are counterexamples: the neighbourhoods of the points on the thick line in (c) and of the point in (d) are not topologically equivalent to an open disk. Another topological invariant is the number of boundaries of a surface. An open disk (Fig. 2a) has one boundary, while the surface in Fig. 2b has two. Surfaces with two or more boundaries which are pair-wise disjoint can be used to model tunnels or bridges, since they may – if they are integrated in a larger surface – form socalled handles, which will be discussed later. The number of handles is another topological invariant of surfaces. This number is defined by the maximal number of closed, continuous, non self intersecting, and mutually non-intersecting curves on a surface, the cutting of which preserves the connectivity
(a)
(b)
A surface is orientable, if (as a rule of thumb) two opposite sides of the surface can be distinguished. A more formal definition of orientability is given in Armstrong (1997). Well-known examples for non-orientable surfaces are the Möbius strip and the Klein bottle. Both are depicted in Fig. 4. 3. 2.8D maps: Consistent surfaces in 3D space In Gröger and Plümer (2003, 2005), the concept of a 2.8D map was introduced, which allows for the modelling of the hulls of urban objects (buildings, . . .) which are integrated in the terrain. In contrast to 2.5D models, a 2.8D map models scarps, overhangs, vertical walls, balconies, projections and roof overhangs. Mathematically, a 2.8D map is an orientable 2-manifold surface embedded in 3D space. It is represented by the vertices, edges and planar faces of a non-separable graph embedded in R3 . There is one special, unbounded face OUT which surrounds the other faces of the map. Fig. 5 depicts a simple example of a 2.8D map, representing the visible surface of a building and the surrounding terrain. For a formal definition, see Gröger and Plümer (2005). Before presenting an axiomatic characterization of 2.8D maps, we first demonstrate the practicability of our approach by sketching a procedure to convert a 3D city model into a 2.8D map. 3.1. Conversion of 3D city models to 2.8D maps Three-dimensional city models, which in most cases are represented in CityGML, typically consist of a terrain model and separated spatial objects like buildings, which are represented by single solids geometrically. Those models can be converted into a 2.8D map. However, 3D city models which represent the interior structures of buildings (e.g., rooms, staircases or floors) are excluded, since they cannot adequately be represented by surface models. In CityGML, such indoor models are classified as Levelof-Detail 4 (LoD 4). A procedure to convert a CityGML model in Level-of-Detail 1, 2 or 3 into a 2.8D map proceeds as follows: First, for each building a hole is cut into the terrain. Then all parts of the building below the terrain (particularly, the ground surface) are deleted, and finally both structures are integrated topologically. The result is a 2.8D map. In pseudo code, the procedure roughly is as follows: Algorithm 1. Conversion of a 3D city model to a 2.8D map Input: A 3D city model C, consisting of a terrain model T and a set B of buildings, where each b e B is represented by a solid sb
(c)
Fig. 3. Characterization of handles by counting the maximal number of cutting curves preserving the connectivity of the surface. (a) Cuboid surface: zero handles. (b) Torus: one handle. (c) 2-Torus: two handles.
G. Gröger, L. Plümer / Computers, Environment and Urban Systems 35 (2011) 208–216
211
Table 1 Complete and correct axioms for 2.8D maps. Vertices 1 2 3
Different vertices have different coordinates Each vertex has at least two incident edges Each vertex is surrounded by exactly one alternating sequence of edges and faces. These faces do not penetrate pair-wise
Edges 4 5 6 7
Each edge has exactly two distinct vertices as end points Edges are straight line segments geometrically Edges intersect only at common vertices Each edge has exactly two distinct incident faces
Faces 8 9 10 11
Each face is bounded by exactly one simple cycle of edges Bounded faces are planar No point of an edge touches the interior of a face There is exactly one unbounded face OUT
Graph/ Map 12 13 14
The underlying graph is connected ð2 jVj þ jEj jFjÞ=2 ¼ 0 (Euler-Axiom) The map is orientable
Fig. 4. Non-orientable surfaces: (a) Möbius strip. (b) Klein bottle.
For a more detailed and comprehensive discussion of methods for the integration of 3D objects, the reader is referred to Gröger and Plümer (2011). 3.2. Axioms
Fig. 5. Simple example for a 2.8D map representing a building and the surrounding terrain.
Fig. 6. Error case: Two buildings penetrate (dark grey), no 2-manifold.
Output: A 2.8D map M corresponding to the 3D city model C Procedure: (1) if T is a TIN then M = T (2) else M is the conversion of the terrain model T (a grid or a raster) into a triangulation; (3) end if (4) Add an unbounded face OUT to M which surrounds the faces, edges and vertices of M; (5) for each b e B do (6) Compute the intersection between sb and M. Let this intersection be the cycle cb; (7) Insert cb into sb and into M topologically; (8) Delete from M all faces, edges and vertices inside cb (cut a hole in M); (9) Delete from sb all faces, edges and vertices below cb (delete the part of the building below the terrain); (10) M is the result of merging M and sb; (11) end for
To assure that data sets that claim to be 2.8D maps are in fact 2.8D maps, and hence to detect errors like mutual penetrations of objects (c.f. Fig. 6), an axiomatic characterization of 2.8D maps has been given (Gröger & Plümer, 2003, 2005, 2010). This characterization can be implemented immediately in operational procedures to detect errors. The corresponding axioms are listed in Table 1. For a detailed explanation of the axioms, see Gröger and Plümer (2005, 2010). Particularly, axiom 3 demands that all vertices v are surrounded by a single ‘umbrella’ – an alternating, circular sequence of edges and faces incident to v. In that sequence, faces do not penetrate pair-wise. This specification of the notion of an umbrella has been added to earlier versions of the axioms (Gröger & Plümer 2010). It accentuates that the umbrella is consistent with regard to topology and geometry. That 3D surfaces – in contrast to 2D – indeed need this additional specification is illustrated in Fig. 7 by an error case which is detected by axiom 3. Note that in this case, two faces (f1 and f2) penetrate mutually.1 The verification of this axiom is not expensive from an efficiency point of view: Typically, the number of faces incident to a vertex is limited by a rather small constant. Furthermore, an algorithm detecting face penetrations can utilize the fact that the faces share a common vertex in their boundaries, and that the faces are pair-wise incident. Note that axiom 6 avoids two edges that meet in a point that is not an common end vertex of both edges, and that two edges which overlap, i.e. share more than one point, are prohibited. Particularly, two identical edges are not allowed. Handles are prevented by the Euler equation (axiom 13). Both characterizations, the axioms and the declarative definition, are equivalent. This is stated by the following: Proposition 1 (Correctness and Completeness of the axioms for 2.8D maps). For each 2.8D map the axioms are valid (Correctness), and each surface satisfying the axioms is a 2.8D map (Completeness). Other characterizations of 2.8D maps are either not effective or not correct and complete: see Gröger and Plümer (2005) for details. 1
We thank the anonymous reviewer no. three for indicating the error case in Fig. 7.
212
G. Gröger, L. Plümer / Computers, Environment and Urban Systems 35 (2011) 208–216
(a)
(b)
v
Fig. 7. Error case which is detected by axiom 3. (a) surface with two penetrating rectangular faces f1 (grey) and f2 (hatched). (b) ‘umbrella’ for vertex v: topologically, there is an alternating circular sequence of edges and faces (e1, f1, e3, f4, e2, f2, e4, f3, e1) around v. Geometrically, faces f1 and f2 in that sequence penetrate mutually: the ‘umbrella’ is not consistent. Axiom 3 prevents that error.
surface with handles can be stated analogously to the case without handles:
4. Surfaces with handles So far, handles in surfaces were excluded. If handles are admitted, the surface is still a 2-manifold, since from a local point of view, topological properties remain unchanged. Fig. 8 depicts a tunnel as example for a surface with a handle. However, the occurrence of handles changes global topological properties of the surface. This affects editing procedures as well as the definition of semantic objects. These problems will be the topic of the following sections. The procedure to convert 3D city models into 2.8D maps (Algorithm 1) can be extended cope with handles. In contrast to buildings, a handle object (a tunnel, bridge, or arcade for example) cuts more than one cycle (a set c1b ; . . . ; cm b of cycles) into the terrain. This important property of handle objects will be derived later in Section 4.2. Hence, step 6 of the algorithm has to be generalized to deal with a set c1b ; . . . ; cm b of cycles, and steps 7, 8 and 9 have to be applied to all cycles c1b ; . . . ; cm b to cut multiple holes into the terrain. All these holes are sealed by merging the map M with the outer hull of the handle object in step 10. In the context of GIS, handles have been treated in Gold (2003) and Tse and Gold (2002). Both define rules to insert handles in surfaces based on the concept of Euler Operators (Mäntylä, 1988). However, this approach is restricted to triangulated surfaces, and handles to prisms geometrically, which touch the surface in two triangles. Due to the reduced modelling complexity, the error cases discussed and dealt with in our paper cannot occur. 4.1. Consistency of surfaces with handles Since the occurrence of handles does not change the local topology of surfaces, the 2-manifold property can be assured in the same way as in the non-handle case. The means to prevent handles is the validity of the Euler equation (axiom 13), which is omitted in that case. As an additional error case, a non-oriented handle can occur in a surface. However, since orientability is checked explicitly by axiom 14, this error is prevented. Hence, consistency of
(a)
Proposition 2 (Correctness and Completeness of the axioms for 2.8D maps with handles). For each 2.8D map with handles, the axioms 1 to 12 and 14 (Table 1) are valid, and each surface satisfying these axioms is a 2.8D map (with handles). 4.2. Consistency between semantics and topology The occurrence of handles is a global property of a surface. The Euler equation may be employed to count the number of handles in a surface (c.f. Section 2.2), but gives no evidence about the location of a handle. From a topology point of view, the geometric extension of a handle is not well-defined. It may be infinitesimally small, e.g. a cylinder surface encompassing a handle (c.f. Fig. 9, hatched edges). However, tunnels or bridges in reality are well-defined spatial objects with well-defined boundaries. This section deals with the correspondence between the semantic characterization of spatial objects as handle objects, viz. tunnels or bridges, and their topological properties. Objects on surfaces typically are represented by an aggregation of faces, i.e. by a composite surface (Herring, 2001), which is bounded by a single, simple cycle. By such so-called nested maps (Plümer & Gröger, 1997), buildings, parcels, or similar semantic objects may be defined consistently. In contrast, a semantic handle object like a bridge is represented by a composite surface with two or more boundaries which are pair-wise disjoint (c.f. Section 2.2). A cylinder surface as an example for a surface with two boundaries has already been considered in Fig. 2b). An example for a composite surface with two boundaries is given in Fig. 9. This surface, depicted in light grey colour, defines a bridge.
(b) OUT
Fig. 8. Example for two surface with handle, representing a tunnel (a). A front view on the surface is depicted in (b).
Fig. 9. Surface (dark grey colour) with two boundaries (represented by edges drawn thick) defining a bridge.
G. Gröger, L. Plümer / Computers, Environment and Urban Systems 35 (2011) 208–216
(a)
OUT
(b) OUT
Fig. 10. 2D surface (a) and 3D hull of an atrium building (b) with two boundaries (depicted thick) not defining a handle object.
A cylinder surface is an example for a bridge which is rather simple from a topological point of view. More complex bridges with n pillars may be modelled by surfaces with n + 2 boundaries. The question is whether this characterization by composite surfaces with two boundaries is sufficient for the definition of handle objects. The answer to this question is no, as the counter example in Fig. 10 demonstrates. The composite surface with two boundaries (depicted in dark grey colour) in (a) does not define a handle. Instead, this object may represent a lake with an island. Similarly, the hull of an atrium building in (b) is no handle. Obviously, both surfaces have two boundaries, but there is no handle involved. Note that both surfaces with two boundaries in Fig. 10 are topologically equivalent to the one in Fig. 9. Hence, the number of boundaries of a (composite) surface does not provide a sufficient criterion to differentiate handle from nonhandle objects. How can these two cases be distinguished? An important observation is the fact that all boundaries of non-handle objects (Fig. 10) are Jordan cycles (c.f. Section 1), which each delimit a bounded part of the surface. In contrast, the cycles in the boundary of the handle object in Fig. 9 do not delimit a bounded part. This kind of cycle, which already was used to define a handle (its cutting preserves the connectivity of the surface, c.f. Section 2.2), is called handle cycle. This example can be generalized: all boundaries of non-handle objects are Jordan cycles, and all boundaries of handle objects are handle cycles. This observation implies a rule which decides whether a object labelled semantically as handle defines a handle object from a topological point of view: Proposition 3 (Semantical-topological consistency for handle objects). Let m be a 2.8D map and let h be a spatial object labelled as handle semantically (tunnel, bridge, . . . ), and let h be represented by a composite surface ch as part of m. If (1) ch has n > 1 boundaries b1, . . . , bn, and if (2) each bi, 1 6 i 6 n, is a handle cycle, then h is a handle topologically, i.e. h is semantical–topological consistent. An efficient procedure for distinguishing handle and Jordan cycles is presented in the next section. The distinction between handle and Jordan cycles used in Proposition 3 has recently been presented by Gröger (2006). Dey, Li, and Sun (2007) and Dey, Li, Sun, and Cohen-Steiner (2008) introduce a more fine grained differentiation of what in our paper is called
213
handle cycle in three types of cycles: in handle loops, tunnel loops and other loops involving handles. Their approach works for every closed, compact surface, whereas our approach is restricted to surfaces consisting of planar patches. They present a method to differentiate the different types of loops, which is very complex from a computational and an efficiency point of view. Particularly, this method requires the computation of a graph representation (a so-called deformation retraction to a graph) of the solid interior and of the solid exterior of the closed surface by using 3D skeleton algorithms. The method fails to classify cycles when the interior or the exterior of the surface cannot be deformation retracted to a graph, and even if that is the case, the method may fail. The aim of the work of Dey et al. (2007, 2008) and of Wood, Hoppe, Desbrun, and Schröder (2004), which use Reeb graphs to detect handles, essentially is the removal of small handles, in contrast to our approach, where a simple, efficient procedure to detect handle cycles is needed in the context of a method to check consistency between semantics and topology. With regard to Proposition 3, it is not possible that a boundary cycle is of a type which is classified by Dey et al. (2007, 2008) as both tunnel and handle loop. This contradicts to the disjointness of the cycles in the boundary. Furthermore, the case that the set of boundaries of a composite surface contains both Jordan and handle cycles is impossible: if one boundary is a handle cycle, all others (due to the connectedness of the composite surface defining the object) have to be handle cycles as well. 4.3. Method for classifying cycles in handle and Jordan cycles This section provides a procedure to decide whether a given cycle is a handle cycle or a Jordan cycle. This differentiation is required in the method to check semantical–topological consistency in Section 4.2 as well as in Section 4.4, where the influence of handles on editing procedures is discussed. Fig. 11 gives examples for both types of cycles: v1, v4, v14, v6, v1 as well as v12, v2, v7, v5, v13, v4, v14, v6, v12 are Jordan cycles each partitioning the surface in two parts, whereas c = v1, v2, v3, v4, v1 is a handle cycle: both parts delimited by c are unbounded, since c does not separate the surface into disjoint components. Another example for a handle cycle is c = v7, v8, v9, v5, v7. Our method to differentiate between Jordan and handle cycles employs the notion of reachability in networks or graphs. Its main idea is based on the observation that a Jordan cycle separates the surface. Thus each path from a vertex v on one side of the cycle to a vertex v0 on the other side must cross the cycle. For a handle cycle, however, there exists a path connecting v and v0 which does not cross the cycle. The special case of a single face is straightforward. Such cycles have to be Jordan cycles. The following algorithm provides a method to differentiate between Jordan and handle cycles. The requirement that both vertices are located on different sides of a cycle may easily be verified, since the surface is a 2-manifold. Algorithm 2. Classification of a cycle c as Jordan or handle cycle Input: A cycle c on a surface (2.8D map) Output: Result of Classification as Jordan or handle cycle Procedure: (1) If c is the boundary of a face, the procedure terminates with output: ‘c is a Jordan cycle’. Otherwise: (2) Choose two vertices v and v0 adjacent to a vertex in c, which are located on different sides of c on the surface. If on one side of the surface there are no such vertices, there must be an edge e on this side which is incident to a vertex in c. In that case, add a new vertex v (or v’) which splits e.
214
G. Gröger, L. Plümer / Computers, Environment and Urban Systems 35 (2011) 208–216
Fig. 11. Two examples for handle cycles:
v1, v2, v3, v4, v1 and v7, v8, v9, v5, v7 (bold) and Jordan cycles: v1, v4, v14, v6, v1 (bold) and v12, v2, v7, v5, v13, v4, v14, v6, v12.
(3) Determine if there exists a path between v and v0 which does not cross c. If such a path exists, c is a handle cycle. Otherwise, c is a Jordan cycle. In order to find paths in graphs, an arbitrary graph search procedure can be employed, e.g. depth first search or breadth first search (Jungnickel, 2007). Alternatively, Dijkstra0 s well-known algorithm (Dijkstra, 1959) can be used to find paths, or its more efficient extension A* (Norvig & Russell, 2003), which prefers vertices being closer to the target node. When employing these procedures, the touching or crossing of the path with the cycle c has to be used as additional break condition, thereby reducing the search space. Hence, our approach is far more efficient than the methods presented by Dey et al. (2007), Dey et al. (2008), and by Wood et al. (2004), which use complex, global three-dimensional geometrical operations to classify cycles, e.g. the computation of a graph representation of the solid interior and of the solid exterior of the closed surface by using 3D skeleton algorithms. We employ standard graph search methods, which perform much better than global 3D geometrical methods with regard to asymptotical complexity. Efficient refined graph search methods like the A* procedure also perform very well in practice: such procedures are successfully employed in car navigation system and operate very efficiently on very large graphs. To determine, for example, the type of the cycle v1, v2, v3, v4, v1 on the surface in Fig. 11, vertices v = v6 and v0 = v5 are selected in step 2 of Algorithm 2. A path connecting both vertices and not crossing c is v6, v17, a path on the triangulated surface connecting vertex v17 with v10, v9, v5, v1. Thus, the algorithm terminates with output: ‘c is a handle cycle’. Applied to v12, v2, v7, v5, v13, v4, v14, v6, v12, vertices v = v17 and v0 = v1 are chosen. Since there is no path connecting v17 and v1, it is a Jordan cycle. The application of Algorithm 2 to the cycle c = v7, v8, v9, v5, v7 results in the classification as
handle cycle, since the two vertices v10 and v11 on different sides of c can be connected by a path without crossing c. This path, e.g., is v11, v15, v16, v17, and a path on the Triangulated Irregular Network (TIN) from v17 to v10. Cycle c = v1, v4, v14, v6, v1 is a Jordan cycle, since in step (1) of Algorithm 2, it is detected that c is the boundary of a face. For some applications of the procedure, the side of the cycle on which the bounded component is located is an essential information. This information is provided by a slight modification of Algorithm 2, presented in the following. It only differs in the choice of the end vertex of the desired path: whereas Algorithm 2 determines a path between two vertices v and v0 , the modified procedure searches two paths: one path from v to a vertex vOUT in the set of vertices vOUT in the boundary of the unbounded face OUT, and one from v0 to vOUT. If both paths exist, c is a handle cycle. If only the path from v resp. v0 to vOUT exists, the v0 resp. v side is bounded. Algorithm 3. Identification of the side of the bounded component of a cycle in case of a Jordan cycle Input: A cycle c on a surface (2.8D map) Output: Classification of c as handle or a Jordan cycle, and the bounded side in case of a Jordan cycle. Procedure: (1) If c is the boundary of a face, the procedure terminates with output: c is a Jordan cycle. Otherwise: (2) Choose two vertices v and v0 adjacent to a vertex in c, which are located on different sides of c on the surface. If on one side of the surface there are no such vertices, there must be an edge e on this side which is incident to a vertex in c. In that case, add a new vertex v (or v’) which splits e.
G. Gröger, L. Plümer / Computers, Environment and Urban Systems 35 (2011) 208–216
(3) Determine if there exist two paths: one path p1 connecting v and a vertex vOUT in the boundary of face OUT and one path p2 connecting v0 and vOUT. Both paths are not allowed to cross c. If both p1 and p2 exist, c is a handle cycle. If only p1 (p2) exists, c is a Jordan cycle and the bounded side is the one v0 (v) is located. If Algorithm 3 is applied to the cycle c = v12, v2, v7, v5, v13, v4, v14, v6, v12 with v = v17 and v0 = v1, c is classified as Jordan cycle (same result as the application of Algorithm 2), but in addition the area containing v1 is identified as bounded area delimited by c, since there is no path connecting v = v1 with vOUT, but there is a path connecting v0 = v17 with vOUT, both not crossing c. For c = v7, v8, v9, v5, v7, a path to vOUT exists from v = v10 as well as from v11, hence c is classified as handle cycle. 4.4. Correctness of editing procedures for surfaces with handles Cycles on surfaces play an important role since they are used to generate or delete spatial objects. A cycle defines an area which is specified in user interfaces of interactive systems for constructing 3D surfaces. The reliability of such transaction depends essentially on the fact that the cycle on the surface defines uniquely a bounded part of the surface, since this part is deleted and replaced by an other surface. If it was unbounded, the transaction would delete the whole surface. This is illustrated in Fig. 12. According to the classification in Jordan and handle cycles presented in the last sections, an essential precondition for editing
(a)
(b)
(c)
Fig. 12. Cycles as base for updating surfaces, where the interiors of cycles have to be replaced by another surface. For the cycle c in (a), this operation fails. In (b), the interior of c can safely be replaced b a composite surface cs (c).
215
operations is that the cycle is a Jordan cycle. The operation fails if the cycle is a handle cycle. Hence, our classification contributes to the correctness of editing operations in 3D GIS. 5. Conclusions Surfaces are essential for modelling 3D objects in GIS, particularly for 3D city or regional models, for representing the terrain and the outer, visible hull of spatial objects like buildings. For modelling objects like bridges, tunnels or arcades, surfaces with handles have to be considered. In this paper, we have shown that for consistency between geometry and topology, an axiomatic characterization for surfaces without handles can be extended to the handle case (Proposition 2). This leads to automatic tools, which are able to identify all violations of the general geometric-topological assumptions of a 2.8D map with handles. Semantics of spatial objects is essential for almost all GIS applications. Semantics has to be specified formally, in order to detect errors in data sets, to enable spatial-semantic reasoning, and to exploit the potential of spatial data in an optimal way. As contribution to the formal specification of semantics and its relation to geometry and topology, we have shown how to define semantic objects representing handles like bridges or tunnels based on 2.8D maps. Furthermore, we have provided a method to differentiate those objects from other, non-handle objects (Proposition 3). This method contributes to the semantic-spatial consistency, since it checks whether the semantic classification as handle object, i.e. as bridge or tunnel, corresponds to the topological classification as handle. Hence, our method closes the gap between the global topological definition of a handle (the number of handles in a surface) and a local specification of a semantical handle object. This interconnection is achieved by a classification of cycles on surfaces in Jordan and handle cycles (Algorithms 2 and 3). We show how both types can safely and be discriminated. In contrast to earlier approaches, which have to employ time consuming 3D geometrical operations, our approach is very efficient, by using standard methods from graph theory which are efficiently implemented in current car navigation systems. The classification in Jordan and handle cycles furthermore contributes to the correctness of editing operations for surfaces in GIS. The occurrence of handles in surfaces may cause an additional error case, which is prevented by our method very efficiently. Due to its simple structure – only edges, vertices, faces, and thematic objects have to be represented – 2.8D maps with handles can be managed very efficiently in relational databases (e.g., in Oracle) with a few tables, even if the this data set is very large. To increase efficiency, a doubly-connected edge list (Preparata & Shamos, 1985) can by used, facilitating the tracing of cycles (the topology of the surface is two-dimensional). Compared to the alternative representation of man-made objects like buildings, bridges or tunnels as separated objects which are not integrated into the terrain, the complexity of a 2.8D map integrating those objects is not higher. Objects are represented as aggregations of faces, and links between objects are restricted to links between common cycles. That is true even if the objects are very detailed, as it is the case with Level-of-Detail 3 buildings in CityGML (Gröger et al., 2008; Kolbe et al., 2008). The hull of the object is the same in both cases, only the connection to the terrain has to be adopted, and the part of the hull below the terrain (the ground surface) has to be omitted. A procedure to convert a CityGML model into a 2.8D map has been sketched in Sections 3.1 and 4. This procedure also covers objects with handles. The next step of our research will be the consideration of handles in solid models. In Gröger and Plümer (2010), we have extended our 2.8D surface model and its axiomatic characterization
216
G. Gröger, L. Plümer / Computers, Environment and Urban Systems 35 (2011) 208–216
to solids and aggregations of solids. Particularly, handles cause problems for transactions updating solid models (Gröger & Plümer, 2009). Whereas solids are still bounded by 2-manifold surfaces, aggregations of solids are in general not 2-manifold. If (aggregations of) solids with handles are taken into account, the situation is more complex. While a handle in a single surface is a handle from a above (bridge) as well as from a below (tunnel) perspective (cf. Fig. 11), in solid models that is not the case: Since the ‘interior’ of a handle may be filled with multiple solids, it is a handle only from one perspective. The open question is how the differentiation in handle and Jordan cycles has to be adapted and how the consistency between semantics and topology with regard to handle objects in solid models has to be defined. Acknowledgements We would like to thank the three anonymous reviewers for their constructive and very valuable comments which helped us to improve the paper significantly. Particularly we would like to express our thanks to reviewer number three who assisted us with sharpening and improving our umbrella axiom. We thank Michael Kneuper for assistance in preparing the illustrations. References AdV (2006). Documentation on the Modeling of Geoinformation of Official Surveying and Mapping in Germany, Main Document, Working Committee of the Surveying Authorities of the States of the Federal Republic of Germany (AdV). Retrieved from http://www.adv-online.de. Alexandroff, P. (1961). Elementary concepts of topology. New York: Dover. Armstrong, M. A. (1997). Basic topology (Corr. 5. printing.). New York: Springer. Boguslawski, P., & Gold, C. (2010). Euler operators and navigation of multi-shell building models. In T. Neutens & P. Maeyer (Eds.), Developments in 3D geoinformation sciences. Springer (Lecture Notes in Geoinformation and Cartography, pp. 1–16). Dey, T.K., Li, K., & Sun, J. (2007). On computing handle and tunnel loops. In EEE proceedings of international conference cyberworlds (NASAGEM workshop) (pp. 357–366). Dey, T.K., Li, K., Sun, J., & Cohen-Steiner, D. (2008). Computing geometry-aware handle and tunnel loops in 3D models. In SIGGRAPH 2008 (pp. 45:1–45:9). Dijkstra, E. W. (1959). A note on two problems in connexion with graphs. Numerische Mathematik, 1(1), 269–271. Ellul, C., & Haklay, M. (2006). Requirements for topology in 3D GIS. Transactions in GIS, 10(2), 157–175. Foley, J. D., van Dam, A., Feiner, S. K., & Hughes, J. F. (1995). Computer graphics: Principles and practice (2nd ed.). Boston: Addison-Wesley Publishing Company. Frank, A.U. (1983). Datenstrukturen für Landinformationssysteme – semantische, topologische und räumliche Beziehungen in Daten der Geo-Wissenschaften (Ph. D. Thesis). Institute of Geodesy and Photogrammetry, ETH Zürich [in German]. Gold, C. (2003). But is it GIS? Journal of Geospatial Engineering, 5(2), 11–26.
Gröger, G. (2006). Konsistente Modellierung virtueller Städte und Regionen (Consistent Modeling of virtual Cities and Regions). Habilitation Thesis, University of Bonn, Bonn [in German]. Gröger, G., Kolbe, T.H., Czerwinski, A., & Nagel, C. (2008). OpenGIS City Geography Markup Language (CityGML) Encoding Standard. Version 1.0.0., Open Geospatial Consortium, OGC Doc. No. 08-007r1. Gröger, G., & Plümer, L. (2003). Exploiting 2D concepts to achieve consistency in 3D GIS applications. In E. Hoel & P. Rigaux (Eds.), Proceedings of the 11th international symposium on advances in geographic information systems (ACMGIS’03). New Orleans, Louisiana: ACM Press (pp. 78–85). Gröger, G., & Plümer, L. (2005). How to get 3-D for the price of 2-D-topology and consistency of 3-D urban GIS. Geoinformatica, 9(2), 139–158. Gröger, G., & Plümer, L. (2009). Updating 3D City Models – How to preserve geometric-topological consistency. In W. G. Aref, D. Agrawal, M. F. Mokbel, C. T. Lu, C. Shahabi, & P. Scheuermann, et al. (Eds.), Proceedings of the 17th ACM SIGSPATIAL international conference on advances in geographic information systems (ACM SIGSPATIAL GIS 2009) Seattle, Washington, November 4–6, 2009 (pp. 536–539). New York: ACM Press. Gröger, G., & Plümer, L. (2010). How to achieve consistency for 3D city models. Geoinformatica. Online First, doi:10.1007/s10707-009-0091-6. Gröger, G., & Plümer, L. (2011). Provably correct and complete transaction rules for updating 3D city models. Submitted to Geoinformatica. Harary, F. (1969). Graph theory:. Addison Wesley Publishing Company. Herring, J. (2001). The OpenGIS abstract specification, Topic 1: Feature Geometry (ISO 19107 Spatial Schema): Open Geospatial Consortium, OGC Document Number 01-101 (Version 5). Jungnickel, D. (2007). Graphs Networks and Algorithms (Vol. 5). Berlin, Heidelberg: Springer. Kolbe, T. H., Gröger, G., & Plümer, L. (2008). CityGML – 3D city models for emergency response. In S. Zlatanova & J. Li (Eds.), International society for photogrammetry and remote sensing book series. Geospatial information technology for emergency response (Vol. 6). London: Taylor & Francis. pp. 257– 274. Mäntylä, M. (1988). An introduction to solid modeling. Principles of Computer Science: Computer Science Press. Molenaar, M. (1991). Formal data structures, object dynamics and consistency rules. In C. Ebner, D. Fritsch, & C. Heipke (Eds.), Digital Photogrammetric Systems. Wichmann. Mortenson, M. E. (1997). Geometric modelling. John Wiley & Sons. Norvig, P., & Russell, S. (2003). Artificial intelligence - A modern approach (2nd ed.). New Jersey: Pearson Education, Inc. Okabe, A., Boots, B., Sugihara, K., & Nok Chiu, S. (2000). Spatial tessellations: concepts and applications of voronoi diagrams (2nd ed.). Chichester: Wiley. Plümer, L., & Gröger, G. (1997). Achieving integrity in geographic information systems-maps and nested maps. Geoinformatica, 1(4), 345–367. Preparata, F. P., & Shamos, M. I. (1985). Computational geometry: An introduction. New York: Springer. Tse, R.O.C., & Gold, C. (2002). TIN meets CAD – Extending the TIN Concept to GIS. In P. Sloot (Ed.), Lecture notes in computer science: 2329–2331. Computational science-ICCS 2002. Proceedings of the international conference international conference on computational science, Amsterdam, The Netherlands, April 21–24, 2002 (pp. 135–143). Berlin, New York: Springer. Wood, Z., Hoppe, H., Desbrun, M., & Schröder, P. (2004). Removing excess topology from isosurfaces. ACM Transactions on Graphics, 23(2), 190–208. Zlatanova, S., Abdul Rahman, A., & Shi, W. (2004). Topological models and frameworks for 3D spatial objects. Computers & Geosciences, 30, 419–428.