editing features in a ten- based dbms approach for 3d

30
Editing Features in a TEN- based DBMS approach for 3D Topographic Data Modelling Technical Report Friso Penninga Peter van Oosterom GISt Report No. 43 May 2006

Upload: trancong

Post on 11-Jan-2017

224 views

Category:

Documents


1 download

TRANSCRIPT

Editing Features in a TEN-based DBMS approach for 3D Topographic Data Modelling

Technical Report

Friso Penninga Peter van Oosterom

GISt Report No. 43 May 2006

Editing Features in a TEN-based DBMS approach for 3D Topographic Data Modelling

Technical Report

Friso Penninga Peter van Oosterom

GISt Report No. 43 May 2006

Summary

In this Technical Report the most up-to-date (May 2006) ideas about using a TEN-based DBMS approach for topographic data modelling are stated. The report is in paper-style, describing the basic operators for inserting topographic features into the TEN model. These features are described as set of constrained edges (and faces). The operators focus on the insertion of these edges.

ISBN-10: 90-77029-19-2 ISBN-13: 978-90-77029-19-0 ISSN: 1569-0245 © 2004 Section GIS technology OTB Research Institute for Housing, Urban and Mobility Studies TU Delft Jaffalaan 9, 2628 BX Delft, the Netherlands Tel.: +31 (0)15 278 4548; Fax +31 (0)15-278 2745 Websites: http://www.otb.tudelft.nl http://www.gdmc.nl E-mail: gist@TU Delft.nl All rights reserved. No part of this publication may be reproduced or incorporated into any information retrieval system without written permission from the publisher. The Section GIS technology accepts no liability for possible damage resulting from the findings of this research or the implementation of recommendations.

Editing Features in a TEN-based DBMSapproach for 3D Topographic Data Modelling

Friso Penninga and Peter van Oosterom

Delft University of Technology, OTB, section GIS TechnologyJaffalaan 9, 2628 BX Delft, the Netherlands

[email protected], [email protected]

Abstract. Topographic features (i.e. physical objects such as buildings,bridges, etc.) become more complex due to increasing multiple land use.As the same time increasing awareness of the importance triggers the de-velopment of more 3D GIS tools. In this paper we extend a topological 3Ddata model that relies on Poincare algebra. Internally a TetrahedronizedIrregular Network (TEN) is used to represent the topographic features.These features are modelled as set of constraints. This paper focusses onthe way in which these constraints can be inserted incremenatally in theconstraint TEN.

1 Introduction

Extending current topographic data sets into the third dimension is the overallobjective of the research project 3D Topography (http://www.gdmc.nl/3dtopon.d.) in which the author participates. Triggered by recent developments to-wards increasing multiple land use and raised awareness of the importance ofsustainable urban development, the 3D Topography project aims at providingfull 3D capabilities in the entire geo-information process, i.e. from data collec-tion, processing, storage and analysis to visualisation. Topographic data (i.e.data concerning the collection of physical objects, such as buildings, roads, tun-nels, dikes, rivers, etc.) is used in a wide variety of applications and tasks. Asa result the data model should support all these tasks, thus disabling the pos-sibility of optimizing a data structure for specific purposes. Another importantcharacteristic of the future 3D topographic data model is the requirement of be-ing able to handle very large data volumes, as due to ongoing sensor techniquedevelopments the amount of available 3D geo-information rapidly increases.

Within this research a volumetric approach of data modelling is developed. Sec-tion 2 will introduce this model, which is a TEN-based (Tetrahedronized Irregu-lar Network, the 3D counterpart of the well-known TIN (Triangulated IrregularNetwork)) approach using Poincare algebra. A small survey of requirements forupdating features in a constraint TEN is performed in Section 3. In Section4 a set of basic operators will be introduced, derived from the results of thesmall survey. This technical report ends with conclusions and further researchin Section 5.

2

2 Previous relevant research

2.1 3D modelling: volume partition approach

Extending topographic data models into the third dimension is most relevantwhen dealing with large scale topography. As this will lead to a substantialincrease in data volume, maintaining and ensuring data integrity becomes of ex-treme importance and choosing a topological approach is an obvious solution, seealso (Ellul & Haklay 2006). Initially the idea was to use an integrated 2.5D/3Dapproach, thus modelling the world as a 2.5D surface and glueing 3D objects,such as buildings, tunnels and viaducts on top or below this surface. As a datastructure we had a combination of a TIN (Triangular Irregular Network) andseveral TENs (Tetrahedral Irregular Networks) in mind. However, as discussedin (Penninga 2005), despite the conceptual simplicity, serious problems at designlevel occurred with this approach. As a result a full 3D approach was choosen(Penninga 2005), again using a TEN. This selection is motivated by computa-tional advantages, the flatness of the faces (well defined by three points) and thepresence of well-known topological relationships (Guibas & Stolfi 1985). Ear-lier experiences with TEN within our research group can be found in (van derMost 2004, de Vries 2001).

The decision to use a volumetric approach instead of a boundary represen-tation is based on the observation that in the case of topographic objects eachobject has by definition a volumetric shape, implying there are no such thingsas point, line or area features. However, at a certain level of detail volumetricfeatures might have point, line or area representations. In a Digital LandscapeModel intended for large scale topography (and thus intended for a wide varietyof applications), one should model the actual (volumetric) shape of the features.Preferences for a less dimensional representation at a specific scale level and fora specific task should be stored within a Digital Cartographic Model (i.e. the setof visualisation rules) and accordingly should not interfere with the landscapemodel.

The volumetric approach as introduced in (Penninga 2005) has another basicasumption, as in the case of topography we consider the real world as a volumepartition (analogously to a planar partition): a set of non-overlapping volumesthat form a closed modeled space. The most important consequence is thatobjects like earth and air are explicitly part of the real world and thus have tobe modelled. It might seem that modelling objects like earth and air, in additionto more common topographic features like buildings, is more serving the abstractgoal of clean modelling than an actual usefull goal. However this is not the case.Firstly the space between the common features is often our subject of analyses,for instance in case of noise or odour modelling(de Kluijver & Stoter 2003).Secondly the presence of these features enables future extensions of the datamodel, for instance by subdividing the class air into more specific classes, suchas air traffic corridor or telecommunication corridor. The same holds for theclass earth, as this classification might be replaced by a more accurate one, forinstance based on geotechnical or geological layers or polluted regions.

3

Although the modelling approach is (amongst others) defined by the assump-tion of the volume partition, area features can exist within the model, but only inspecific cases. Some area features actually mark a border or transition betweentwo volumetric features that are of such importance or usefulness that one wouldlike to include these in the model. However, these area features cannot exist with-out the presence of the volume features. One can consider such an area feature asfirst derivative of a volume feature (or two volume features to be more precise).In the UML class diagram in Figure 1 (Penninga, van Oosterom & Kazar 2006)area features are modelled as association classes between volume features. Thesemodelling concepts will be implemented using of a Tetrahedronized IrregularNetwork (TEN), a connected network of tetrahedrons (3D simplexes; a simplexis the simplest geometry in a dimension). Using 3D simplexes fits nicely withthe volumetric approach: each tetrahedron represents (part of) a volumetric fea-ture. As each tetrahedron is bounded by four triangles (2D simplexes), thesetriangles might represent (parts of) area features, as described above. The TENdatastructure also incorporates knowledge on topological relations between thetetrahedrons, as each triangle bounds two tetrahedrons. Left or right are mean-ingless in three dimensions, but if oriented triangles are used, one can relate tothese two tetrahedrons in either positive or negative direction. As discussed in(Penninga et al. 2006) several different implementations of a TEN structure canbe considered. In this paper only the one based on Poincare algebra will be used.

2.2 Poincare algebra

The previously introduced volumetric approach uses tetrahedrons to model thereal world. These tetrahedrons in the TEN structure consist of nodes, edges andtriangles. All four data types are simplexes: the simplest geometry in each di-mension. A more formal definition (Hatcher 2002) of a n-simplex Sn is givenbelow:

A n-simplex Sn is the smallest convex set in Euclidian space IRmcontainingn + 1 points v0, . . . , vn that do not lie in a hyperplane of dimension less thann. As the n-dimensional simplex is defined by n + 1 nodes, it has the followingnotation: Sn =< v0, . . . , vn >.

Equivalent conditions to the hyperplane condition would be that the differencevectors v1−v0, . . . , vn−v0 are linearly independent or, if one considers v0, . . . , vn

as set of vectors, that these vectors are affinely independent.It is assumed that all simplexes are ordered. With any n-simplex (n + 1)!

distinct ordered simplexes are associated. All even permutations of an orderedsimplex Sn =< v0, . . . , vn > have a positive orientation, all odd permutations anegative one. So for instance the following is true: S1 =< v0, v1 >= − < v1, v0 >and S2 =< v0, v1, v2 >= − < v0, v2, v1 >=< v1, v2, v0 >= − < v1, v0, v2 >=<v2, v0, v1 >= − < v2, v1, v0 >. A face of Sn is a simplex whose vertices form anon-empty subset of { v0, . . . , vn } . If the subset is proper (i.e. not the whole of {v0, . . . , vn}) than the face is a proper face (Giblin 1977). A n-simplex has in total

4

Fig. 1. UML class diagram of the proposed data structure

5

2(n+1)-2 proper faces. For the number of faces of a specific dimension the follow-

ing holds: a n-simplex has(

n + 1p + 1

)faces of dimension p with (0 ≤ p < n). The

0- and 1-dimensional faces of a n-simplex form a complete graph on n+1 vertices.

According to Poincare algebra the boundary of a n-simplex is defined by thefollowing sum of n − 1 dimensional simplexes (the hat indicates omitting thespecific node):

∂Sn =∑n

i=0(−1)i < v0, . . . , vi, . . . , vn >

This results in (see Figure 2 (Hatcher 2002)):S1 =< v0, v1 > ∂S1 =< v1 > − < v0 >S2 =< v0, v1, v2 > ∂S2 =< v1, v2 > − < v0, v2 > + < v0, v1 >S3 =< v0, v1, v2, v3 > ∂S3 =< v1, v2, v3 > − < v0, v2, v3 >

+ < v0, v1, v3 > − < v0, v1, v2 >

Fig. 2. Simplexes and their boundaries

As with a simplex Sn(n + 1)! distinct ordered simplexes were associated,the boundaries of all other combinations can be given. In case of S1 = − <v0, v1 >=< v1, v0 > the boundary ∂S1 =< v0 > − < v1 > . In a similar way theboundaries of the other five combinations of S2 and the other 23 combinationsof S3 can be given. Note that for instance in the case of S3 for every combinationthe orientation of all four bounding triangles is identical; either all triangles pointtowards the exterior or all triangles point towards the interior of the tetrahedron.

An interesting application of the boundary formula is joining or mergingtwo simplexes of equal dimension. For instance, if we join the two neighbouringtriangles S21 =< v0, v1, v2 > and S22 =< v0, v2, v3 > into a 2D complex C2,adding the boundaries result in:

6

(< v1, v2 > − < v0, v2 > + < v0, v1 >) + (< v2, v3 > − < v0, v3 > + < v0, v2 >) =< v1, v2 > + < v0, v1 > + < v2, v3 > + < v3, v0 > .

Note that the shared boundary < v0, v2 > is removed as it appeared oncewith positive and once with negative direction.

Adding boundaries can be very usefull in our modelling approach. If for in-stance a building is modelled as a set of eight tetrahedrons (see Figure 3), thebuildings boundary representation can be obtained by merging the boundariesof all eight tetrahedrons. This combination of several simplexes is called a sim-plicial complex or n-cell (Giblin 1977). The triangles of C3 are the boundarytriangulation of this building. This boundary triangulation might be used inthe visualization proces. If one is interested in the polyhedron of the building,adding up the boundaries of the boundary triangles with identical (within atolerance) normal vector direction into flat polygons will result in the sevenboundary faces of this building. Up to this point only simplexes and simplicial

Fig. 3. Deriving the boundary triangulation from the TEN

complexes are discussed. It is also possible to create a larger structure consist-ing of connected n-simplexes, partitioning the whole n-dimensional domain. In

7

3D this is the Tetrahedronized Irregular Network. Such a structure containsseveral topological relationships, thus enabling both topological querying and,more important, validation tools in order to maintain data integrity. Anotherimportant concept with respect to topological relationships in a TEN structureis the coboundary. A coboundary is more or less the opposite of a boundary.We define the coboundary of a n-dimensional simplex Sn as the set (of varyingsize) of all (n + 1)-dimensional simplexes Sn+1 of which the simplex Sn is partof their boundaries ∂Sn+1. For instance, a triangle has three boundary segments(i.e. edges) and two coboundary segments (i.e. tetrahedrons). An edge has twoboundary segments (i.e. nodes) and (in 3D!) an unknown number of coboundarysegments (i.e. triangles).

2.3 Data model

To summarize and conceptualize the ideas of this section, the UML class diagramof our topographic data model is given in Figure 1. This model is the newestversion of earlier modelling attempts made in (Penninga 2005) and (Penningaet al. 2006). In the upper left corner the abstract class RealWorldPhenomenacan be seen, which is a generalization of the class VolumeFeature. This general-ization is included to emphasize the concept that all topographic (i.e. physical)objects have a volumetric shape and therefore should be modelled as volumefeatures. Less dimensional features are present in the model (AreaFeature, Line-Feature, PointFeature), but these features are modelled as association classes.As a result instances of these derived features are lifetime dependent from thehigher dimensional instances. Each feature is represented by one or more sim-plex(es) of corresponding dimension. Between the Tetrahedron, Triangle, Edgeand Node classes derived associations exist that are equivalent with the bound-ary and coboundary relationships. Note that -in contrast with the models in(Penninga 2005) and most models in (Penninga et al. 2006) - the Tetrahedron,Triangle and Edge class are all specified by an ordered list of Nodes. This isa direct result of the implementation of Poincare algebra within our modellingapproach.

3 Editing features: conceptual requirements for theDBMS approach

As TEN models are expected to be very large, efficient DBMS data structuredesign is very important. Issues regarding the implementation of an incremen-tal tetrahedronization algorithm within the DBMS, locking, update functionsboth on simplex level and feature level, indexing and clustering and storage re-quirements are adressed in (Penninga et al. 2006). This paper focusses on thedesign and implementation of editing features in the DBMS-incorporated TENstructure. In this section the requirements from a users perspective will be iden-tified. In the next section the requirements will be translated into operations ona constrained TEN.

8

As less dimensional features can only exist as derivatives from volume fea-tures, it is sufficient if the model is capable of adding volume features: the lessdimensional features will automatically be present in the structure in the formof a (set of) triangle(s), edge(s) or node(s). If one wants to add a volume feature,for instance a building, one needs to ensure correct geometrical representationin the TEN by enforcing the boundary faces to be present in the structure. Thisis not trivial, as the basic input of a triangulation/tetrahedronization algorithmis a set of nodes. Usually the algorithm determines, based on certain rules (forinstance the well-known Delaunay criterion) which nodes will be connected byedges and therefore one cannot be sure that two specific nodes will be connectedby an edge or that three specific nodes will form a triangle. As a result onecannot represent a specific shape into a triangulation/ tetrahedronization by in-serting only its nodes. In order to overcome this drawback the constraint edgeswere introduced. The constraints on these edges means that the edges cannot beremoved (by flipping) by the algorithm in order to fullfill its rules. As a resultit is possible to represent features by inserting a set of constraint edges. Unfor-tunately, constraint faces cannot be inserted directly, but have to be translatedinto a set of constraint edges.

As a result the insertion proces of the volume features needs the followingaspects:

– Its outer boundary needs to be triangulated and all resulting edges shouldbe treated as constraints (actually one needs an additional check whether allfaces are present, see for more details the end of this section.

– The interior needs to be tetrahedronized. This tetrahedronization can beperformed either directly in the TEN or seperately, after which all result-ing edges can be inserted into the TEN. Input in both cases is the set ofconstraint edges of the outer boundary.

– Regardless which of the two previous options is used, local tetrahedronizationmight be necessary in order to optimize the structure by creating better-shaped tetrahedrons.

– Updating the relevant feature table(s)

These four steps are the basic steps in the proces. During implementation thisproces might be extended with steps that check which features are currently lo-cated at the position of the new feature, automatically fit buildings to the earthsurface, etc., etc.

However, a far more interesting question is the exact procedure by which the fea-ture representation is inserted into the model. One might consider enforcing thepresence of the complete outer boundary triangulation and detect and classifythe resulting internal tetrahedrons (as these tetrahedrons represent the volumefeature) or one can delete the existing tetrahedral structure within the boundarytriangulation and replace it with the seperately calculated tetrahedronization.The first option has the advantage that it influences the structure very local,the second option has the advantage that optimizing the internal tetrahedralstructure will be easier in a separate meshing proces.

9

4 Editing features: translating requirements into basicoperations on topological elements

As most operations introduced in this paper are based on the operations in-troduced in (Penninga et al. 2006), these operations are given again. Note thatthese operatations on topological elements do not take notice of constraints.

Insert node and incident edges/triangles/tetrahedrons (or the reverse opera-tion remove node), where 3 cases can be distinguished depending on where thenode is inserted:

– Middle of tetrahedron (one tetrahedron involved) and added are +1 node,+4 edges, +6 triangles, and +3 tetrahedrons (respectively the 0/1/2/3-simplexes).

– Middle of triangle (2 tetrahedrons involved) and added are +1 node, +5edges, +7 triangles, and +4 tetrahedrons.

– Middle of edge (n tetrahedrons involved) and added are +1 node, +(n+1)edges, +2n triangles, +n tetrahedrons.

Note that these three cases can be described nicely by the use of Poincare al-gebra from the previous section. No calculations or whatsoever are necessary.For instance in the case of inserting a node v4 in the interior of tetrahedronS3 =< v0, v1, v2, v3 >, the boundary operator can be used to derive the fourbounding triangles. From these triangle S21, . . . , S24 the new tetrahedrons canbe constructed by adding v4 as fourth node. Using the boundary operator againon the triangles will result in the six edges and by adding the fourth node tothese edges, the six new triangles are defined. By applying the boundary oper-ator again the four nodes are found and in combination of the fourth node thiswill result in the four new edges.

4.1 Insertion of volume features into a TEN structure

Basic assumption is that the creation of the TEN model starts with an initialTEN, large enough to contain the model, consisting of a few intial tetrahedronsrepresenting air and earth (see (Penninga 2005) for more details). As a resultevery update step will take place in an incremental algorithm, regardless whetherthe model is almost complete or almost empty.

As seen in the previous section the complete boundary of the volume fea-ture needs to be inserted into the TEN structure. Before inserting this boundaryneeds to be triangulated. With this triangulated surface as a basis two differentapproaches are possible.

The proposed new set of basic operators is based on expanding the previousoperators from insert node to insert edge operators. Insert edge operators aremore complex than just repeating an insert node operator twice, as one alsoneeds to ensure that the start and end node are connected by an edge. In in-serting a start- or endnode in a tetrahedron in an existing TEN structure four

10

different cases can be distinguished, as a the node can lie within a tetrahedron,on a triangle, an edge or a node. In case of inserting the start- and endnode ofthe edge 16 theoretical cases can be identified, in which 9 unique cases will bedistinguished (see Table 1). Case 0 is not a real case, as by defintion this edgewould already be present.

Node lies on Node Edge Triangle Tetrahedron

Node 0 1 2 3Edge (1) 4 5 6Triangle (2) (5) 7 8Tetrahedron (3) (6) (8) 9

Table 1. 4 x 4 = 16 theoretical cases, of which 9 are unique (and 1 does notexist)

First, we describe the nine basic operators (based on where the edges startand end node are inserted):

1. One node on an existing node, one node on an edge (n tetrahedrons in-volved): As one node is already present, only a single node needs to beinserted, by which each tetrahedron is split into two new tetrahedrons (seeFigure 4 for case n=4). Added are: +1 node, +n+1 edges, +2n triangles, +ntetrahedrons.

Fig. 4. Case n=4: The tetrahedrons are each split into two tetrahedrons

2. One node on an existing node, one node on a triangle (2 tetrahedrons in-volved): Again only a single node needs to be inserted, by which the twotetrahedrons are split into three new tetrahedrons (as the endnode lies in

11

plane < v0, v2, v3 >, see Figure 5). Added are: +1 node, +5 edges, +10triangles, +4 tetrahedrons.

Fig. 5. The tetrahedron is split into three tetrahedrons

3. One node on existing node, one node inside the tetrahedron: The tetrahedronis split into four tetrahedrons (see Figure 6). Added are: +1 node, +4 edges,+4 triangles, +3 tetrahedrons.

Fig. 6. The tetrahedron is split into four tetrahedrons

4. Both nodes lies on edges (2n or n+m tetrahedrons involved):Depending on the question whether the two nodes lie on the same edge, thenumber of added elements is +2 nodes, +(2n+2) edges, +4n triangles, +2ntetrahedrons or +2 nodes, +((n+1)+(m+1)) edges, +(2n+2m) triangles,+(n+m) tetrahedrons.

5. One node lies on a boundary triangle, the other node lies on an edge ((n+1)tetrahedrons involved):

12

The node on the triangle is inserted, like the first step in case 2. Added are:+1 node, +5 edges, +7 triangles, +4 tetrahedrons. The second node lies onone of the outer edges, in the case of Figure 7 on the edge < v0, v1 >. Asa result tetrahedron < v0, v1, v2, startnode > will be split into two tetrahe-drons and the same goes for the (n-1) other tetrahedrons that use this edge,changing the totals to: +2 nodes, +(n+6) edges, +(2n+7) triangles, +(n+4)tetrahedrons.

Fig. 7. Start node on boundary triangle, end node on edge

6. One node lies on an edge, the other node lies in the middle of one of the ninvolved tetrahedrons (n tetrahedrons involved):First the node on the edge is inserted. Added are +1 node, +(n+1) edges,+2n triangles, +n tetrahedrons. In Figure 8 the case n=4 is illustrated.As one can see, each original tetrahedron in split into two new tetrahe-drons. Since one knows in which original tetrahedron the second node wouldbe inserted, two sub-classes can be distinguished, related to these two newtetrahderons:

Fig. 8. Insertion of a node on an edge in case n=4

13

(a) The second node lies in the middle of one of the two tetrahedrons, chang-ing the totals to: +2 nodes, +(n+5) edges, +(2n+6) triangles, +(n+3)tetrahedrons. Similar to case 2(a) the constraint edge is one of the newlyformed edges.

(b) The second node lies in the triangle between the two tetrahedrons, chang-ing the totals to: +2 nodes, +(n+6) edges, +(2n+7) triangles, +(n+4)tetrahedrons. Similar to case 2(b) the constraint edge is one of the newlyformed edges.

As the second node lies in the interior of the splitted tetrahedrons and noton its boundary, it is impossible for this second node to lie on an edge, asthis edge lies in the triangle (boundary) of the original tetrahedron.

7. Both nodes lie on boundary triangles (2 or 3 tetrahedrons involved):Regardless whether the nodes lie in the same boundary triangle, after inser-tion of both nodes +2 nodes, +10 edges, +14 triangles, +8 tetrahedrons areadded to the TEN structure. The constraint edge is one of the newly formededges.

8. One node lies on a boundary triangle, the other node lies in the middle ofone of the two tetrahedrons (2 tetrahedrons involved):First the node on the boundary triangle is inserted. Added are: +1 node,+5 edges, +7 triangles, +4 tetrahedrons. Now the node in the middle of thetetrahedron is inserted. As this tetrahedron is split into three tetrahedrons,three different sub-cases can be distinguished:(a) The second node lies in the middle of one of the three (as one already

knows in which of the two splitted tetrahedrons the node will be inserted)newly formed tetrahedrons, see Figure 9. This tetrahedron is split intofour tetrahedrons, changing the totals to: +2 nodes, +9 egdes, +13 tri-angles, +7 tetrahedrons. The constraint edge is already present as it isone of the four newly formed edges.

(b) The second node lies on one of the three (as one already knows in whichof the two splitted tetrahedrons the node will be inserted) newly formedtriangles, in the case in Figure 10 in triangle < v0, v3, startnode >. Thetotals change to: +2 nodes, +10 edges, +14 triangles, +8 tetrahedrons.Again the constraint edge is created by the insertion of the second node.

(c) The second node lies on the edge from the start node to the node oppositeof the triangle in which the first node is inserted (as one already knowsin which of the two splitted tetrahedrons the node will be inserted), seeFigure 11 (edge < v0, startnode >. In this specific case one knows thatthere are three tetrahedrons involved, so the totals change to: +2 nodes,+9 edges, +13 triangles, +7 tetrahedrons. Again the constraint edge isalready present in the structure after insertion of the second node.

9. Both nodes in the middle of the tetrahedron (1 tetrahedron involved): Firstthe start node is inserted, by which the tetrahedron is split in four new

14

Fig. 9. First node on the triangle, second node within a tetrahedron

Fig. 10. First node on the triangle, second node on triangle < v0, v3, startnode >

15

Fig. 11. First node on the triangle, second node on edge < v0, startnode >

tetrahedrons. Added are: +1 node, +4 edges, +6 triangles, +3 tetrahedrons.Now the end node is inserted, leading to three sub-cases:(a) End node lies within one of the four newly formed tetrahedrons (1 tetra-

hedron involved), changing the totals: +2 nodes, +8 edges, +12 triangles,+6 tetraherons

(b) End node lies on one of the six newly formed triangles (2 tetrahedronsinvolved), changing the totals: +2 nodes, +9 edges, +13 triangles, +7tetrahedrons

(c) End node lies on one of the four newly formed edges (in general thisaffects n tetrahedrons, but in this specific case: 3 tetrahedrons involved),changing the totals: +2 nodes, +8 edges, +12 triangles, +6 tetrahedrons

Although the start and end node are present, one needs to check whetherthe constraint edge is present already. This has to be done for each sub-case:(a) In this case the constraint edge is not present yet in the model. The

situation is illustrated in Figure 12, where only the two relevant tetra-hedrons are drawn < v0, v1, v2, startnode > and < v0, v1, v2, endnode >.The constraint edge (thick gray line) has to be inserted, but intersectstriangle < v0, v1, v2 >. A new node is inserted at this intersection point,resulting in 5 new edges, of which two represent the constraint edge. Thetotals change to: +3 nodes, + 13 edges, +19 triangles, +10 tetrahedrons

(b) Since the end node lies on one of the newly formed triangles and thesetriangles all have the start node as one of their nodes, the constraintedge is already present after insertion of the end node, see Figure 13.The totals remain the same: +2 nodes, +9 edges, +13 triangles, +7tetrahedrons

(c) Since the end node lies on one of the newly formed edges and the startnode is also a node of these four newly formed edges, the constraintedge is already present after insertion of the end node, see Figure 14.

16

Fig. 12. The constraint edge is segmented by a new node in the intersectingtriangle

Fig. 13. The second node is inserted within one of the triangles

17

The totals remain the same: +2 nodes, +8 edges, +12 triangles, +6tetrahedrons

Fig. 14. The second node is inserted on one of the edges

With this set of operations all constraint edges can be inserted. In case constraintedges are longer, i.e. the edges are crossing multiple tetrahedrons, the constraintedges can be split at the intersection points with the tetrahedron boundaries.These segments can be treated seperately by one of the previous operations.However ensuring the presence of all constraint edges is not sufficient, one hasno guarantee that the corresponding faces are also present. This is illustrated inFigure 15. In this illustration triangle < v0, v1, v2 > lies more or less horizontaland triangle < v0, v2, v4 > more or less vertical. Node v3 is placed behind the facespanned by < v0, v2, v4 > and above the face spanned by < v0, v1, v2 >. In thiscase the gray edges (< v0, v2 >,< v2, v4 >,< v4, v0 >) are the constraint edges,but since the tetrahedrons are defined as < v0, v1, v2, v3 >, < v0, v1, v3, v4 > and< v1, v2, v3, v4 >, the required constraint face < v0, v2, v4 > is missing. There-fore an additional test is required that checks whether each constraint trianglefrom the boundary triangulatiion is also present in the TEN, a task that is quitestraightforward due to the node-based notation of all simplexes. However oneshould not only test for 1:1 relations between triangles in the TEN and trianglesin the previously calculated boundary triangulation, but also for 1:m relation-ships. Here an additional test is required to see whether the m triangles lie in thesame plane, most likely performed by comparing the triangles normal vectors. Aprerequisite of this testing method is that the TEN structure is valid, i.e. thereare for instance no dangling edges or faces.

Another (and better-known) option to insert the boundary triangulation into theTEN structure is to insert only the nodes and try to perform edge recovery. The

18

Fig. 15. although all constraint edges are present, the constraint face isn’t

process of recovering missing edges is described by (Cavalcanti & Mello 1999)and covers stitching, a proces that is based on adding nodes on midpoints ofmissing constraint edges. This idea uses the property of the Delaunay triangu-lation that each node is connected to the closest node and by adding nodes onmidpoints one tries to make these additional nodes the closest nodes. However,this proces does not always converge. This problem is solved partially in 3D(Cavalcanti & Mello 1999).

Another approach to edge recovery is given by (Liu & Baida 2000), whoseapproach is based on flipping. They use four basic types of flipping, namely T23,T32, T22 and T44, following the notation of Joe ((Joe 1995)). meer

Of course the important question of this section is which approach is better.The first approach requires prior knowledge of the spatial relationships betweenthe constraint edges and the TEN structure, including possible prior segmenta-tion of the constraint edges by intersecting the edges with the TEN structure.During the operation a number of tests are required to determine whether thenode lies inside a tetrahedron, on its boundary triangle or on its edge. However,as long as we can use the locked area box of the update proces as a boundary forour search area, performance can be acceptable. An advantage of this proces isthat is does not require a lot of additional nodes, as in most operations (exceptoperation 1.1) the constraint edge (segment) is already present after insertion ofthe second node.

4.2 Modelling the interior of volume features

Although the volume feature will be present in the data stucture as soon as theconstraint edges and faces are present and all internal tetrahderons are classified

19

as the specified object, one might consider different apporaches in tetrahedroniz-ing the interior of the features. The method with the least additional workload isto identify all tetrahedrons within the boundary triangulation and classify themas representing the specific volume object. However, this will not give any in-sight in the interior tetrahedronization with respect to its quality or its size (forinstance if more nodes than strictly necessary are present). An alternative wouldbe to keep record of all segmentation of the prior boundary triangulation anduse this refined boundary triangulation as input for a separate tetrahedroniza-tion algorithm, which will result in an optimal internal tetrahedronization. Thistetrahedronization can replace the current interior tetrahedronization.

4.3 Quality improvement of TEN structure

As the model will grow over time due to ongoing refinements and incrementalupdates, a set of tools for quality maintenance of the data structure is necessary.Due to series of deletes and inserts ill-shaped triangles and tetrahderons mightappear. To ensure numerical stability these traingles should be repaired. Severaldifferent approaches might be used complementary, for instance flipping andinsertion of centrepoints of circumspheres of poor-shaped tetrahedrons.

3D flipping is based on the fact that there are only two ways to tetrahedronizea convex set of five points (assuming this is not prevented by constraints): onewith two tetrahedrons and one with three tetrahedrons (see Figure 16). One ofthese two tetrahedronization must be the Delaunay tetrahedronization of fivepoints (Cavalcanti & Mello 1999). Therefore switching from 2 to 3 tetrahedronsor vice versa might improve the quality of the data structure. Another option

Fig. 16. 2-3 flip on TEN

for TEN improvement is the method used by (Shewchuk 1997). This method isbased on the circumradius-to-shortest edge ratio of triangles or tetrahedrons. Thecircumsphere is a sphere through the nodes of a tetrahedron, the circumradiusthe radius of this circumsphere. The ration between the circumradius and theshortest edge is (in most cases) a good indicator for how evenly the tetrahedronis shaped. In case ill-shaped tetrahedrons are detected, adding a node in thecircumcentre is an adequate cure in most cases. By this procedure most sliver

20

tetrahedrons will be removed. In case of an ill-shaped tetrahedron that cant beimproved by adding the circumcentre as node (for instance due to the presenceof constraint edges) using Steiner points to partition constraint edges might bevery usefull.

5 Conclusions and future research

In this paper a further step is taken in the development of a 3D topographicdata structure. The TEN structure is very well accessible through the use ofPoincare algebra, which also enable manipulation (joining, merging). A last gapin the theoretical foundation of the TEN-based DBMS approach is closed withthe development of six basic classes of operations on the constraint TEN tointegrate the features in the model. By segmenting the constraint edges thesenine classes are sufficient for the insertion of features and effects of this insertionare very local. In the upcoming months further implementation of our ideas onthe TEN model will hopefully lead to a prove of concept of our current theoreticalbasis.

References

Cavalcanti, P. R. & Mello, U. (1999), Three-dimensional Constrained Delaunay Tri-angulation: a Minimalist Approach, in ‘8th International Meshing Roundtable’,pp. 119–129.

de Kluijver, H. & Stoter, J. (2003), ‘Noise mapping and GIS: optimising quality andefficiency of noise effect studies’, 27, 85–102.

de Vries, J. (2001), Three dimensional buffering based on Tetrahedron Networks, stor-age and analysis in a 3D GIS (in Dutch), Master’s thesis, Delft University ofTechnology.

Ellul, C. & Haklay, M. (2006), ‘Requirements for Topology in 3D GIS’, 10(2), 157–175.

Giblin, P. (1977), Graphs, Surfaces and Homology, An Introduction to Algebraic Topol-ogy, Chapman and Hall.

Guibas, L. & Stolfi, J. (1985), ‘Primitives for the Manipulation of General Subdivisionsand the Computation of Voronoi Diagrams’, 4(2), 74–123.

Hatcher, A. (2002), Algebraic Topology, Cambridge University Press. Available athttp://www.math.cornell.edu/ hatcher.

http://www.gdmc.nl/3dtopo (n.d.).

Joe, B. (1995), ‘Construction of three-dimensional improved-quality triangulations us-ing local transformations’, (6), 1292–1307.

Liu, A. & Baida, M. (2000), How far flipping can go towards 3D conforming/constrainedtriangulation, in ‘9th International Meshing Roundtable’, Sandia National Labo-ratories, pp. 307–313.

Penninga, F. (2005), 3D Topographic Data Modelling: Why Rigidity Is Preferable toPragmatism, in ‘Spatial Information Theory, Cosit’05’, Vol. 3693 of Lecture Noteson Computer Science, Springer, pp. 409–425.

Penninga, F., van Oosterom, P. & Kazar, B. M. (2006), A TEN-based DBMS approachfor 3D Topographic Data Modelling, in ‘Spatial Data Handling ’06’.

21

Shewchuk, J. R. (1997), Delaunay refinement mesh generation, PhD thesis, CarnegieMellon University.

van der Most, A. (2004), An algorithm for overlaying 3d features using a tetrahedralnetwork, Master’s thesis, Delft University of Technology.

Reports published before in this series: 1. GISt Report No. 1, Oosterom, P.J. van, Research issues in integrated querying of geometric and thematic cadastral

information (1), Delft University of Technology, Rapport aan Concernstaf Kadaster, Delft 2000, 29 p.p. 2. GISt Report No. 2, Stoter, J.E., Considerations for a 3D Cadastre, Delft University of Technology, Rapport aan

Concernstaf Kadaster, Delft 2000, 30.p. 3. GISt Report No. 3, Fendel, E.M. en A.B. Smits (eds.), Java GIS Seminar, Opening GDMC, Delft 15 November 2000,

Delft University of Technology, GISt. No. 3, 25 p.p. 4. GISt Report No. 4, Oosterom, P.J.M. van, Research issues in integrated querying of geometric and thematic cadastral

information (2), Delft University of Technology, Rapport aan Concernstaf Kadaster, Delft 2000, 29 p.p. 5. GISt Report No. 5, Oosterom, P.J.M. van, C.W. Quak, J.E. Stoter, T.P.M. Tijssen en M.E. de Vries,

Objectgerichtheid TOP10vector: Achtergrond en commentaar op de gebruikersspecificaties en het conceptuele gegevensmodel, Rapport aan Topografische Dienst Nederland, E.M. Fendel (eds.), Delft University of Technology, Delft 2000, 18 p.p.

6. GISt Report No. 6, Quak, C.W., An implementation of a classification algorithm for houses, Rapport aan Concernstaf Kadaster, Delft 2001, 13.p.

7. GISt Report No. 7, Tijssen, T.P.M., C.W. Quak and P.J.M. van Oosterom, Spatial DBMS testing with data from the Cadastre and TNO NITG, Delft 2001, 119 p.

8. GISt Report No. 8, Vries, M.E. de en E. Verbree, Internet GIS met ArcIMS, Delft 2001, 38 p. 9. GISt Report No. 9, Vries, M.E. de, T.P.M. Tijssen, J.E. Stoter, C.W. Quak and P.J.M. van Oosterom, The GML

prototype of the new TOP10vector object model, Report for the Topographic Service, Delft 2001, 132 p. 10. GISt Report No. 10, Stoter, J.E., Nauwkeurig bepalen van grondverzet op basis van CAD ontgravingsprofielen en

GIS, een haalbaarheidsstudie, Rapport aan de Bouwdienst van Rijkswaterstaat, Delft 2001, 23 p. 11. GISt Report No. 11, Geo DBMS, De basis van GIS-toepassingen, KvAG/AGGN Themamiddag, 14 november 2001,

J. Flim (eds.), Delft 2001, 37 p. 12. GISt Report No. 12, Vries, M.E. de, T.P.M. Tijssen, J.E. Stoter, C.W. Quak and P.J.M. van Oosterom, The second

GML prototype of the new TOP10vector object model, Report for the Topographic Service, Delft 2002, Part 1, Main text, 63 p. and Part 2, Appendices B and C, 85 p.

13. GISt Report No. 13, Vries, M.E. de, T.P.M. Tijssen en P.J.M. van Oosterom, Comparing the storage of Shell data in Oracle spatial and in Oracle/ArcSDE compressed binary format, Delft 2002, .72 p. (Confidential)

14. GISt Report No. 14, Stoter, J.E., 3D Cadastre, Progress Report, Report to Concernstaf Kadaster, Delft 2002, 16 p. 15. GISt Report No. 15, Zlatanova, S., Research Project on the Usability of Oracle Spatial within the RWS Organisation,

Detailed Project Plan (MD-NR. 3215), Report to Meetkundige Dienst – Rijkswaterstaat, Delft 2002, 13 p. 16. GISt Report No. 16, Verbree, E., Driedimensionale Topografische Terreinmodellering op basis van Tetraëder

Netwerken: Top10-3D, Report aan Topografische Dienst Nederland, Delft 2002, 15 p. 17. GISt Report No. 17, Zlatanova, S. Augmented Reality Technology, Report to SURFnet bv, Delft 2002, 72 p. 18. GISt Report No. 18, Vries, M.E. de, Ontsluiting van Geo-informatie via netwerken, Plan van aanpak, Delft 2002,

17p. 19. GISt Report No. 19, Tijssen, T.P.M., Testing Informix DBMS with spatial data from the cadastre, Delft 2002, 62 p. 20. GISt Report No. 20, Oosterom, P.J.M. van, Vision for the next decade of GIS technology, A research agenda for the

TU Delft the Netherlands, Delft 2003, 55 p. 21. GISt Report No. 21, Zlatanova, S., T.P.M. Tijssen, P.J.M. van Oosterom and C.W. Quak, Research on usability of

Oracle Spatial within the RWS organisation, (AGI-GAG-2003-21), Report to Meetkundige Dienst – Rijkswaterstaat, Delft 2003, 74 p.

22. GISt Report No. 22, Verbree, E., Kartografische hoogtevoorstelling TOP10vector, Report aan Topografische Dienst Nederland, Delft 2003, 28 p.

23. GISt Report No. 23, Tijssen, T.P.M., M.E. de Vries and P.J.M. van Oosterom, Comparing the storage of Shell data in Oracle SDO_Geometry version 9i and version 10g Beta 2 (in the context of ArcGIS 8.3), Delft 2003, 20 p. (Confidential)

24. GISt Report No. 24, Stoter, J.E., 3D aspects of property transactions: Comparison of registration of 3D properties in the Netherlands and Denmark, Report on the short-term scientific mission in the CIST – G9 framework at the Department of Development and Planning, Center of 3D geo-information, Aalborg, Denmark, Delft 2003, 22 p.

25. GISt Report No. 25, Verbree, E., Comparison Gridding with ArcGIS 8.2 versus CPS/3, Report to Shell International Exploration and Production B.V., Delft 2004, 14 p. (confidential).

26. GISt Report No. 26, Penninga, F., Oracle 10g Topology, Testing Oracle 10g Topology with cadastral data, Delft 2004, 48 p.

27. GISt Report No. 27, Penninga, F., 3D Topography, Realization of a three dimensional topographic terrain representation in a feature-based integrated TIN/TEN model, Delft 2004, 27 p.

28. GISt Report No. 28, Penninga, F., Kartografische hoogtevoorstelling binnen TOP10NL, Inventarisatie mogelijkheden op basis van TOP10NL uitgebreid met een Digitaal Hoogtemodel, Delft 2004, 29 p.

29. GISt Report No. 29, Verbree, E. en S.Zlatanova, 3D-Modeling with respect to boundary representations within geo-DBMS, Delft 2004, 30 p.

30. GISt Report No. 30, Penninga, F., Introductie van de 3e dimensie in de TOP10NL; Voorstel voor een onderzoekstraject naar het stapsgewijs introduceren van 3D data in de TOP10NL, Delft 2005, 25 p.

31. GISt Report No. 31, P. van Asperen, M. Grothe, S. Zlatanova, M. de Vries, T. Tijssen, P. van Oosterom and A. Kabamba, Specificatie datamodel Beheerkaart Nat, RWS-AGI report/GIST Report, Delft, 2005, 130 p.

32. GISt Report No. 32, E.M. Fendel, Looking back at Gi4DM, Delft 2005, 22 p. 33. GISt Report No. 33, P. van Oosterom, T. Tijssen and F. Penninga, Topology Storage and the Use in the context of

consistent data management, Delft 2005, 35 p. 34. GISt Report No. 34, E. Verbree en F. Penninga, RGI 3D Topo - DP 1-1, Inventarisatie huidige toegankelijkheid,

gebruik en mogelijke toepassingen 3D topografische informatie en systemen, 3D Topo Report No. RGI-011-01/GISt Report No. 34, Delft 2005, 29 p.

35. GISt Report No. 35, E. Verbree, F. Penninga en S. Zlatanova, Datamodellering en datastructurering voor 3D topografie, 3D Topo Report No. RGI-011-02/GISt Report No. 35, Delft 2005, 44 p.

36. GISt Report No. 36, W. Looijen, M. Uitentuis en P. Bange, RGI-026: LBS-24-7, Tussenrapportage DP-1: Gebruikerswensen LBS onder redactie van E. Verbree en E. Fendel, RGI LBS-026-01/GISt Rapport No. 36, Delft 2005, 21 p.

37. GISt Report No. 37, C. van Strien, W. Looijen, P. Bange, A. Wilcsinszky, J. Steenbruggen en E. Verbree, RGI-026: LBS-24-7, Tussenrapportage DP-2: Inventarisatie geo-informatie en -services onder redactie van E. Verbree en E. Fendel, RGI LBS-026-02/GISt Rapport No. 37, Delft 2005, 21 p.

38. GISt Report No. 38, E. Verbree, S. Zlatanova en E. Wisse, RGI-026: LBS-24-7, Tussenrapportage DP-3: Specifieke wensen en eisen op het gebied van plaatsbepaling, privacy en beeldvorming, onder redactie van E. Verbree en E. Fendel, RGI LBS-026-03/GISt Rapport No. 38, Delft 2005, 15 p.

39. GISt Report No. 39, E. Verbree, E. Fendel, M. Uitentuis, P. Bange, W. Looijen, C. van Strien, E. Wisse en A. Wilcsinszky en E. Verbree, RGI-026: LBS-24-7, Eindrapportage DP-4: Workshop 28-07-2005 Geo-informatie voor politie, brandweer en hulpverlening ter plaatse, RGI LBS-026-04/GISt Rapport No. 39, Delft 2005, 18 p.

40. GISt Report No. 40, P.J.M. van Oosterom, F.Penninga and M.E. de Vries, Trendrapport GIS, GISt Report No. 40 / RWS Report AGI-2005-GAB-01, Delft, 2005, 48 p.

41. GISt Report No. 41, R. Thompson, Proof of Assertions in the Investigation of the Regular Polytope, GISt Report No. 41 / NRM-ISS090, Delft, 2005, 44 p.

42. GISt Report No. 42, F.Penninga and P. van Oosterom, Kabel- en leidingnetwerken in de kadastrale registratie (in Dutch)GISt Report No. 42, Delft, 2006, 38 p.