map updates in a dynamic voronoi data...

28
Map Updates in a Dynamic Voronoi Data Structure Darka Mioc, François Anton, Christopher M. Gold and Bernard Moulin Additional information is available at the end of the chapter http://dx.doi.org/10.5772/50279 1. Introduction Within a traditional geographic information system, it is currently difficult to ask questions about data that possess positions in both space and time. Information about objects that have spatial position, spatial relationships with nearby objects, and the time of their existence needs to be stored within a computer system, making them available for queries concerning spatial locations, dates, and attributes. In existing GIS software spatio-temporal queries cannot be answered easily; the absence of a temporal component implies that analysis of past events and future trends is difficult or impossible [37]. In traditional geographic information systems, the temporality of spatial data has been treated separately from their spatial dimensions. The lack of mechanisms for recording incremental changes poses a serious problem for the integration of temporal data inside a GIS. In current GISs, the spatial changes affect the whole map. Therefore, the “snapshot model 1 ” with global changes of map states is considered to be a basis of any spatio-temporal model [6]. Nowadays, there is a growing demand from the user community for a new type of GIS that will be able to support temporal data and spatio-temporal facilities such as: spatio-temporal queries [41] and interactive spatial updates [45]. Spatio-temporal facilities would be useful in many GIS applications such as harvesting and forest planning, cadastre, urban and regional planning as well as emergency planning. In all these fields, there is a need for a GIS technology which can manage the history of spatial objects and their evolution, and which can efficiently answer spatio-temporal queries. In forest management, there is a need for GIS technology which can manage the history of spatial objects, map versioning and spatio-temporal queries. An example is a forest inventory map that is being frequently updated with the latest information about forest roads, cut areas, fire, etc. It would be desirable to preserve all the previous states, and to be able to track the evolution of the spatial objects. 1 The snapshot model is a map at a single moment in time. ©2012 Mioc et al., licensee InTech. This is an open access chapter distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0),which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. Chapter 3

Upload: others

Post on 17-Apr-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Map Updates in a Dynamic Voronoi Data Structurecdn.intechopen.com/pdfs/...updates_in_a_dynamic_voronoi_data_structure.pdf · Map Updates in a Dynamic Voronoi Data Structure 3 The

Chapter 0

Map Updates in a Dynamic Voronoi Data Structure

Darka Mioc, François Anton, Christopher M. Gold and Bernard Moulin

Additional information is available at the end of the chapter

http://dx.doi.org/10.5772/50279

1. Introduction

Within a traditional geographic information system, it is currently difficult to ask questionsabout data that possess positions in both space and time. Information about objects that havespatial position, spatial relationships with nearby objects, and the time of their existence needsto be stored within a computer system, making them available for queries concerning spatiallocations, dates, and attributes.

In existing GIS software spatio-temporal queries cannot be answered easily; the absence ofa temporal component implies that analysis of past events and future trends is difficult orimpossible [37].

In traditional geographic information systems, the temporality of spatial data has been treatedseparately from their spatial dimensions. The lack of mechanisms for recording incrementalchanges poses a serious problem for the integration of temporal data inside a GIS. In currentGISs, the spatial changes affect the whole map. Therefore, the “snapshot model1” with globalchanges of map states is considered to be a basis of any spatio-temporal model [6].

Nowadays, there is a growing demand from the user community for a new type of GIS thatwill be able to support temporal data and spatio-temporal facilities such as: spatio-temporalqueries [41] and interactive spatial updates [45].

Spatio-temporal facilities would be useful in many GIS applications such as harvesting andforest planning, cadastre, urban and regional planning as well as emergency planning.

In all these fields, there is a need for a GIS technology which can manage the history ofspatial objects and their evolution, and which can efficiently answer spatio-temporal queries.In forest management, there is a need for GIS technology which can manage the history ofspatial objects, map versioning and spatio-temporal queries. An example is a forest inventorymap that is being frequently updated with the latest information about forest roads, cut areas,fire, etc. It would be desirable to preserve all the previous states, and to be able to track theevolution of the spatial objects.

1 The snapshot model is a map at a single moment in time.

©2012Mioc et al., licensee InTech. This is an open access chapter distributed under the terms of theCreative Commons Attribution License (http://creativecommons.org/licenses/by/3.0),which permitsunrestricted use, distribution, and reproduction in any medium, provided the original work is properlycited.

Chapter 3

Page 2: Map Updates in a Dynamic Voronoi Data Structurecdn.intechopen.com/pdfs/...updates_in_a_dynamic_voronoi_data_structure.pdf · Map Updates in a Dynamic Voronoi Data Structure 3 The

2 Will-be-set-by-IN-TECH

While in the past, most of the approaches concentrated on the extension of existent GIS modelswith temporal data, recent research [8] shows that dealing with time as calendar time andmapping it onto an integer domain is feasible, but does not capture the semantics of timeand leaves out most of its important properties. According to Frank [8], the understandingof how time and temporal reasoning processes are conceptually structured is a prerequisite tobuilding support for temporal reasoning into current GISs. Frank [8] further emphasized theneed for formal models to determine the representation of temporal information and temporaland spatio-temporal reasoning methods.

2. Previous research

Several authors [25], [40], [5] proposed spatio-temporal data models based on extendingexisting GIS models, in order to include temporal information. The problem they faced is thatmost commercial GISs are closed systems which cannot be extended nor modified in orderto include temporal information. Therefore, the solutions they propose are based on a “dualarchitecture” [45], which is composed of two subsystems: a commercial GIS and a relationalDBMS. Van Oosterom [46] emphasized the problem of the complexity of the maintenance ofthe proposed spatio-temporal data models.

There are several spatio-temporal functionalities such as retroactive map updates [20] and theincorporation of temporal data without exact temporal information [7] that cannot be handledwith such hybrid models. Another problem with existing GISs, is that the semantics of maptopology construction [46] are lost. This problem is better known under the term of “longtransactions in GIS” [38]. This is due to complex models of spatial topology which needto be processed globally after being updated. When a map is processed in batch mode, itstopology is built, and it is not possible to go back to previous states, nor to reuse the past mapstates, because the information about spatio-temporal objects and the operations that havebeen executed upon them is lost. Batch processing of spatial topology is managed through“long transactions” which can be composed of nested transactions and could last for hours ordays, and system or user generated aborts will not be permitted during that time [29].

Newell and Batty [38] stated that current GISs differ from standard DBMS in that only “longtransactions” (and not short ones) are possible. This restricts access to intermediate map states,which is a limitation when the concern is with local updates and temporal queries. They alsostate that short transactions are required for problems such as emergency planning, vehicletracking, fault logging, and other real-time system problems.

The problem of long transactions is so acute (time consumption, database inconsistencyproblems, etc.), that the underlying problem is not well defined. The problem lies in thefact that “dynamic topology” [14] is not used: geometric algorithms cannot be executedinteractively upon spatial objects while maintaining topological relationships. Recently,several GIS researchers (Van Oosterom [45], [46], Chrisman [6], Newel and Batty [38], Kraak[23], [24]) tackled the same problem from several different perspectives.

2.1. A fundamental problem in GIS

Recently, the research of Newell and Batty [38], Gold [14], and independently Chrisman[6] shows that “batch processing” of spatial data is a fundamental problem in commercialGISs. The “batch processing” of static spatial topology used by line intersection based spatialsystems does not support mechanisms for recording incremental change and poses a seriousproblem for the integration of temporal data inside GISs.

38 Application of Geographic Information Systems

Page 3: Map Updates in a Dynamic Voronoi Data Structurecdn.intechopen.com/pdfs/...updates_in_a_dynamic_voronoi_data_structure.pdf · Map Updates in a Dynamic Voronoi Data Structure 3 The

Map Updates in a Dynamic Voronoi Data Structure 3

The “batch processing” of spatial data cannot support incremental (local) addition anddeletion of spatial objects, and they cannot support the temporal evolution of spatial data.

Briefly, we will explain now what led to the batch processing of spatial data that imposed thesnapshot or time-slicing approach in GIS.

The snapshot model of map time [6] was always emphasized by cartographers, resultingin current commercial GIS models. Current GISs can represent a space evolving in timeonly through a series of map snapshots. The snapshot approach of traditional geographicinformation systems, where independent coverages are generated for each time step, cannoteasily maintain the incremental changes of cartographic data evolving in space and time. Thelimitations of this approach include high data redundancy, due to the inability of conventionalGIS models to support incremental changes, causing difficulties in the maintenance of longseries of cartographic snapshots [23].

The snapshot model misses the key nature of change [6], which can be seen as a compositionof events. The “time slicing” idea leading to the snapshot approach collapses many events,each of which occurred separately [6], causing difficulties in determination of spatio-temporalprocesses. Map snapshots tend to be created independently at specific intervals, ratherthan incrementally, and thus there is no preservation of topological relationships betweenmap elements in different time slices, and no effective way of determining the continuity ofexistence of map elements and their neighbours between snapshots. Although a snapshotmethod is an important capability, this historical model represents only a single point in time,and does not reveal the sequence of events, or history of the area.

For change detection, the snapshot method uses two distinct maps [6] which are measuredwith some error. When the map overlay is used to compute differences between these twomaps [6], the errors are confounded with the actual changes, and it is difficult to distinguisherror from change when using snapshots.

2.2. Overview of recent research on spatio-temporal models

Van Oosterom proposed a new approach for handling spatio-temporal information [45], [46].He proposed a data model in which both time and topology are consistently maintainedin the database updates. His topological data structure is based on the “CHAIN” method[46], similar to the winged edge data structure2. He also addresses the problems of longtransactions in GIS, the loss of transactional semantics and possible database inconsistencyproblems [45], [46]. In his approach, the history of complex map objects can be obtained

2 The winged edge data structure or a polygon data structure is a way of representing a geometric graph in the plane.The winged edge data structure was proposed by Baumgart. It stores a record for each vertex, face and edge, withthe edge record being the most important. The record for a vertex v stores v’s coordinate position and a pointer toone arbitrary edge that is incident upon v. Likewise the record for a face f stores the name of f and a pointer to onearbitrary edge that lies on the boundary of f. The record for an edge e stores many fields including:Pointers to the two vertex endpoints v1 and v2 of e.Pointers to the two faces f1 and f2 on either side of e.Pointers to the predecessor and the successor edges of e on the boundaries of f1 and f2 respectively. They are the socalled “wing edges”.Thus, the total number of pointers needed is | V | + | F | +8 | E |.Most importantly, just by following the appropriate pointers, one can traverse the boundary of a face in eitherclockwise or counterclockwise order in time proportional to the number of edges on the boundary. Likewise onecan list all the edges incident upon a vertex v in clockwise or counterclockwise order in time proportional to theirnumber.Source: http://www.ugrad.cs.ca/spider/cs414/winged-edge.html

39Map Updates in a Dynamic Voronoi Data Structure

Page 4: Map Updates in a Dynamic Voronoi Data Structurecdn.intechopen.com/pdfs/...updates_in_a_dynamic_voronoi_data_structure.pdf · Map Updates in a Dynamic Voronoi Data Structure 3 The

4 Will-be-set-by-IN-TECH

only by using spatial overlap queries, with respect to the given objects over time. Indeed,the model he proposed can be queried for historic versions only for simple object changes: itdoes not work for splits, joins nor more complicated spatial editing, unless spatial overlay isperformed. Within his data structure, retroactive map updates are not implemented, due topossible consistency problems.

Frank [7] provides a theoretical framework for spatio-temporal reasoning based on the relativeorder of events3 and he proposed the integration of ordered event structures in a GIS. In hispaper titled “Different Types of ‘times’ in GIS” [8], he made two very interesting points thatwill be further explored in this section. The first point is related to the exploration of therelations4 between temporal order relations and the order relation in the lattice of partitionsin geometric space [8], which he considered a challenging research question.

The second point is related to the different spatio-temporal models that he described, whichwill now be mentioned briefly. Some of the models he describes are not explored (andimplemented) yet in current GISs. An example of such models is the movement along apath5, that is an interaction between temporal and spatial reasoning. Another example ofspatio-temporal model that cannot be implemented within current GISs is spatial data withoutprecise temporal information, which has been described by Frank [8]. This example occursoften in history and geology related mapping, where some of the spatio-temporal sequencesof the data are missing and need to be interpolated. Further, he stated a “need for morerealistic GISs” that will unify different models presently used for spatio-temporal reasoning.The “realistic GIS” [8] should be able to deal with error correction and other improvementsof existing data. In other words, there is a need for retroactive updates in spatio-temporalmodels, and they are difficult to achieve. Gold [16] proposed another spatio-temporal modelbased on event ordering, which responds instantly to map construction commands given bythe user, changing the state of map objects and their spatial topology, and storing all thechanges in topological states. In the past few years, his research efforts showed that theVoronoi diagram offers “a more intelligent, more realistic, and semantically richer” modelfor spatial representation. In his model, based on the Voronoi diagram for sets of points andline segments, map topology states can be reconstructed at any time because all the operationson his data structure are reversible. The Voronoi diagram for sets of points and line segmentsis the generalization of the ordinary Voronoi diagram (for sets of points), where the set of sitesmay contain not only points, but points and line segments as well (see Figure 1).

3. The dynamic spatial Voronoi data structure

Cartographic objects on maps are composed of points, curves and surfaces. The ordinarypoint Voronoi diagram does not allow us to accurately model linear or areal objects (curvesand surfaces) needed in many GIS applications.

3 Orderings of events in which it is not known for every event if it is before or after another one are called partialorderings [8]. Completely ordered sets of events are known as totally ordered [8] with a single viewpoint of all events.

4 “A set with a partial order relation is called a partially ordered set or poset. Subsets of a poset may be totally ordered; this is,for example, the case for each sequence of events that apply to a single parcel (and all its predecessors). The elements in a poset canbe linearly ordered, but there is more than one possible solution (topological sorting). A special case of “a poset” is a lattice. Theintersection of the successors of two points have a single earlier point. The same concept can be applied to a family of partitions ofthe plane, where the partitions of different levels of subdivisions form a lattice (ordered by a “refinement” relation).” from [8]

5 Movement along a path is one of the facilities needed in GIS, for applications related to emergency planing, robotics,and marine GIS.

40 Application of Geographic Information Systems

Page 5: Map Updates in a Dynamic Voronoi Data Structurecdn.intechopen.com/pdfs/...updates_in_a_dynamic_voronoi_data_structure.pdf · Map Updates in a Dynamic Voronoi Data Structure 3 The

Map Updates in a Dynamic Voronoi Data Structure 5

Figure 1. A line Voronoi diagram, from [33]

Therefore, in order to represent the different kinds of cartographic objects, we need to usethe Voronoi diagram for sets of points and line segments instead of just the ordinary pointVoronoi diagram.

Gold [11], [18] developed a dynamic spatio-temporal data structure based on the Voronoidiagram for a set of points and line segments (also known as a line Voronoi diagram, seeFigure 1). His data structure is dynamic: objects may be added to and removed from the datastructure. This data structure is also kinematic: objects are created by splitting the nearestpoint into two and then moving the newly created object to its desired location, and deletedby moving it to the nearest point location and merging it with the nearest point. In Section 3.1,we present the properties of this data structure: the dynamic spatio-temporal Voronoi datastructure [33]. In Section 3.2, we develop a formalism for specifying the operations upon thisdata structure and their changes in topology [33], [36],[35].

The Voronoi diagram for a set of map objects (points and line segments) is the tessellation ofspace where each map object is assigned an influence zone (or Voronoi region), that is the setof points closer to that object than to any other object (see [39] and Figure 1).

The algorithm used to construct the Voronoi vertices has been described in [4]. The boundariesbetween the regions of this tessellation form a net (the Voronoi diagram), whose dual graph(the Delaunay quasi-triangulation or Delaunay graph) stores the spatial adjacency (topology)relationships among objects. Within such a dynamic Voronoi spatial data structure, asdeveloped by Gold [12], map objects (points and/or line segments) are stored as nodes ofthe dual spatial adjacency (topology) graph: the Delaunay triangulation. The underlying datastructure used is the Quad-Edge data structure [19].

The Quad-Edge data structure was used for computing the line Voronoi diagram [17], which isthe basis of the dynamic Voronoi data structure for points and line segments. The Quad-Edgedata structure was introduced by Guibas and Stolfi [19] as a primitive topological structure forthe representation of any subdivision on a two-dimensional manifold. The Quad-Edge datastructure is the implementation of an edge algebra [19], which is the mathematical structurethat defines the topology of any pair of dual subdivisions on a two-dimensional manifold. Inthe context of the application of the Quad-Edge data structure to the computation of Voronoidiagrams, both a primal planar graph (the Voronoi diagram) and its dual graph (the Delaunaytriangulation) are stored in the Quad-Edge data structure - see [19].

41Map Updates in a Dynamic Voronoi Data Structure

Page 6: Map Updates in a Dynamic Voronoi Data Structurecdn.intechopen.com/pdfs/...updates_in_a_dynamic_voronoi_data_structure.pdf · Map Updates in a Dynamic Voronoi Data Structure 3 The

6 Will-be-set-by-IN-TECH

Figure 2. Left: a simple Voronoi diagram and its corresponding Quad-Edge; right: the PAN graph of theQuad-Edge data structure on the left

Figure 3. Left: a Voronoi diagram; right: the corresponding Quad-Edge data structure

The PAN graph [10] of the Quad-Edge data structure gives a representation more suitablewithin a GIS context (see Figure 2). The Quad-Edge data structure (see Figure 3) representsa graph and its geometric dual. In the context of the application of the Quad-Edge datastructure to the computation of Voronoi diagrams, both a primal planar graph (the Voronoidiagram) and its dual graph (the Delaunay quasi-triangulation) are stored in the Quad-Edgedata structure.

The definition of spatial adjacency relationships within the Voronoi model is the adjacency ofthe Voronoi regions of two objects. In such a case, this spatial adjacency relationship is storedin the dual representation of the Voronoi diagram: the Delaunay quasi-triangulation.

The main characteristic of the topology6 within the Voronoi spatial data model whichdistinguishes it from other models such as the vector model, is that it does not need anyother computation than the incremental construction of the Voronoi data structure. Topologyin the Voronoi spatial data model is given by the fact that two objects have adjacent Voronoiregions, which is stored in the dual representation of the data structure.

The dynamic Voronoi spatial data model is based on an event-condition-action paradigm[16], which seems to provide many advantages over traditional GIS data models. The main

6 Topology is the branch of mathematics, that deals with the properties of points of some space that are invariant undersome continuous transformations. Topological relationships are spatial adjacency relationships.

42 Application of Geographic Information Systems

Page 7: Map Updates in a Dynamic Voronoi Data Structurecdn.intechopen.com/pdfs/...updates_in_a_dynamic_voronoi_data_structure.pdf · Map Updates in a Dynamic Voronoi Data Structure 3 The

Map Updates in a Dynamic Voronoi Data Structure 7

Figure 4. The topological changes due to the Split and Merge operations

advantage of the dynamic Voronoi data structure is its dynamic, incremental and explicittopology, which allows one to automatically keep track of each event and change of mapstate [16].

The changes in this data structure are therefore the changes in the spatial adjacencyrelationships, that is to say the changes in the Delaunay triangulation [39]. Within this datastructure, the user’s commands are changing the map incrementally and locally, and the mapobjects and their spatial adjacency relationships are all visualized at any point in time [2].

Furthermore, this approach allows real-time dynamic maintenance of the spatial datastructure, as well as dynamic sequential processing of events [16].

3.1. The atomic actions on the dynamic Voronoi data structure

These map state changes are produced by map commands [12], that are composed of atomicactions. Each atomic action in the map command executes the geometric algorithm foraddition, deletion or change of map objects and corresponding Voronoi cells.

The atomic actions are:

• the Split action inserts a new point into the structure by splitting the nearest point from thepointed location into two points (see Figure 4);

• the Merge action deletes the selected point by merging it with its nearest neighbour (seeFigure 4);

• the Switch action is performed when a point moves and a topological event occurs (i.e. themoving point enters or exits a circle circumscribed to a Delaunay triangle, see Figure 7),switching7 the common boundary of two adjacent triangles (see Figure 5). On Figure 7 wecan see the topological event caused by the ”Switch” atomic operation.

• the Link action adds a line segment8 between the points obtained after a Split action (seeFigure 6). A Link action must occur after a Split action, and adds a line segment betweenthe point selected for splitting and the newly created point.

7 The Switch action will be used in the construction of the Moveaction. The Move (topological event) action moves theselected point from its current position to a new position or until the next topological event.

8 A line segment is composed of two half-line segments, whose Voronoi regions are on each side of the line segment,having the line segment as a common boundary (see Figure 6).

43Map Updates in a Dynamic Voronoi Data Structure

Page 8: Map Updates in a Dynamic Voronoi Data Structurecdn.intechopen.com/pdfs/...updates_in_a_dynamic_voronoi_data_structure.pdf · Map Updates in a Dynamic Voronoi Data Structure 3 The

8 Will-be-set-by-IN-TECH

Figure 5. The topological changes due to the Switch operation

Figure 6. The topological changes due to the Link and Unlink operations

Figure 7. The topological event caused by a “swap” atomic operation

• the Unlink action removes the selected line segment. An Unlink action must occur beforea Merge action, and removes the line segment between the selected point and its nearestobject.

Figure 6 shows the succession of these atomic actions. These actions compose the set of atomicactions of the dynamic spatial Voronoi data structure [32].

3.2. Topological changes in the Voronoi data structure induced by the atomicactions

The map changes produced by the atomic actions on this data structure are the changes inthe spatial adjacency relationships among spatial objects. The spatial adjacency relationshipsare defined as follows: two objects are Voronoi neighbours if, and only if, their Voronoiregions have one portion of the Voronoi diagram (a Voronoi edge) in common (see Figure

44 Application of Geographic Information Systems

Page 9: Map Updates in a Dynamic Voronoi Data Structurecdn.intechopen.com/pdfs/...updates_in_a_dynamic_voronoi_data_structure.pdf · Map Updates in a Dynamic Voronoi Data Structure 3 The

Map Updates in a Dynamic Voronoi Data Structure 9

Atomic Operation SymbolNewly createdVoronoi regions

Inactivated Voronoiregions

Split S 1 0Merge M 0 1Switch N 0 0Link L 2 0Unlink U 0 2

Table 1. The atomic actions and their associated changes in topology expressed in the numbers of newlycreated and inactivated Voronoi regions

3). Therefore, the only map state changes of the dynamic Voronoi data structure producedby events are the changes in the Delaunay triangulation/Voronoi diagram preserved inthe Quad-Edge structure. These events are ruled by the Delaunay triangulation emptycircumcircle criterion (see Figure 7).

When a point comes inside a circumcircle or exits from a circumcircle - a “topological event”occurs - the boundary between the two triangles inscribed in the circumcircle “switches” [44].

Within the dynamic Voronoi spatio-temporal data model, all the operations are local and“kinematic”: the addition of a new point is performed by splitting the nearest point into twoand moving the newly created point to its destination; and the deletion of an existing point isperformed by moving it to its nearest point and merging them. It is easy to see that the twoactions described previously are mutually reversible: the reverse of a split being a merge andthe reverse of a merge being a split (see Gold [12]). A Split action takes the Voronoi cell of a“parent” point and splits it into two, generating a “child” point that may then be moved tothe desired destination. A Merge action reverses this process, combining two adjacent cellsinto one.

Each atomic action produces different changes in spatial topology. The possible changes are:

• the triangle switches (topological events) changing the corresponding Voronoi edges (seeFigure 7),

• the creation of a new map object (point or line) and the corresponding appearance of itsVoronoi region,

• the inactivation of a map object and the corresponding disappearance of its Voronoi region.Objects and spatial adjacency relationships are not removed, but inactivated, in order to beable to record all the history information.

The atomic actions of the dynamic spatio-temporal Voronoi data structure, their reverseactions, and their corresponding changes in topology are described in Tables 1 and 2. Wealso introduce in Tables 1 and 2 the symbols for each atomic action (N, S, M, L and U) that willbe used latter for specifications of complex map operations. The topological changes for eachatomic action (see Table 2) in the map are represented by the numbers of newly created andinactivated spatial adjacency links (i.e. Voronoi edges or Quad-Edges). Each atomic action isuniquely characterized by the numbers of new Quad-Edge (or Voronoi) edges and inactivatedQuad-Edge (or Voronoi) edges (see Table 2). This means that from changes in topology wecan determine which atomic action was applied, and vice versa. In other words, the actionson the data structure have a deterministic behaviour. More precisely, we can say that the set

45Map Updates in a Dynamic Voronoi Data Structure

Page 10: Map Updates in a Dynamic Voronoi Data Structurecdn.intechopen.com/pdfs/...updates_in_a_dynamic_voronoi_data_structure.pdf · Map Updates in a Dynamic Voronoi Data Structure 3 The

10 Will-be-set-by-IN-TECH

Atomic Operation Symbol New Edges Inactivated Edges

Split S 6 3

Merge M 3 6

Switch N 11

Link L 11 5

Unlink U 5 11

Table 2. The atomic actions and their associated changes in topology

of atomic actions is naturally isomorphic to the set of the number of new edges as well as tothe set of the number of inactivated edges.

3.3. The map construction commands

The atomic actions are the basis upon which map commands have been built. All the mapconstruction commands [12] of this dynamic Voronoi data structure are complex operationscomposed of atomic actions (illustrated in Figures 5, 4 and 6). The composition of atomicactions into map commands is provided by syntactic rules. The meaning of the word “syntax”is based on the theory of formal languages and grammars [22]. In the theory of formallanguages, the semantics of the basic operations that can be applied on the set of objects isdescribed by a grammar. A grammar provides a set of rules, known as production rules,specifying how the sequence of atomic actions will be applied to the elemental map object(currently a point or a line segment).

Rewriting is a useful technique for defining complex objects by successively replacing partsof elemental map objects using a set of rewrite rules or production rules [42]. Given a set ofproductions we can generate an infinite number of map objects [1]. In the Voronoi spatialdata system there is more than one rule we can apply, and the user is given the freedomof selecting the production rule appropriate to the map update needed. Rewriting contextis extended from topological context to include geometrical (spatial) context9 (position).Therefore rewriting is done sequentially at the specific locations selected by the user or givenby coordinates. Thus, the update of the Voronoi data structure given by map commands canbe interpreted as the execution of production rules which constitute a map grammar [42].Graph-grammars may be used as a natural and well-established syntax-definition formalism[43] for languages of spatial relationships graphs. The map grammar shows the hierarchicalpresentation of the production rules and spatial objects. For example, the move command isa part of any other production rule described as a map command.

The map construction commands are illustrated in Figure 8. On the left side of Figure 8, wecan see the map objects on which the map command will be applied, and on the right side,the map objects that have been rewritten. In the graphical illustration of map commands, thetopological part of the model is left out for better understanding of the general principle, and

9 In context sensitive systems the selection of the production rule is based on the context of the predecessor. A contextsensitive system is needed to model information exchange between neighboring elements [47].

46 Application of Geographic Information Systems

Page 11: Map Updates in a Dynamic Voronoi Data Structurecdn.intechopen.com/pdfs/...updates_in_a_dynamic_voronoi_data_structure.pdf · Map Updates in a Dynamic Voronoi Data Structure 3 The

Map Updates in a Dynamic Voronoi Data Structure 11

Figure 8. The map commands (S is the starting symbol in the production rule

also the line-line collisions and their effects are not shown. The detailed description togetherwith the graphical illustrations will be presented in Section 4.

The map commands (see Figure 8) are composed of atomic operations, and the exactdecomposition of map commands into sequences of atomic actions is given in Table 3. Theatomic operations are denoted by the symbols (N, S, M, L and U) from Table 2. For example,the map command “Move a Point” corresponds to the sequence of movements of the pointfrom its initial position to its destination through all the intersections of its trajectory withcircumcircles, and the corresponding triangle switches (“N”) in the Voronoi data structure.

The map command “Move a Point” is possible in this Voronoi data structure because theVoronoi data structure is kinematic: one point may move at a time, and this point is called the“moving point” [14]. In fact, all the operations on this kinematic Voronoi data structure use thisconcept of the moving point. For example, when a point is to be created at some location, thenearest point from that location is split into two (S term in the decomposition of “Add a Point”operation SNt), and then the newly created point is moved to its final destination (Nt termin the decomposition of “Add a Point” operation SNt). In fact, the triangle switch operationincorporates the movement of the moving point to the intersection of the trajectory of themoving point with the circumcircle that induced the triangle switch. In Table 3, the exponentsdenote how many times the operation is executed repeatedly, e.g. Nt denotes N executed ttimes, where t denotes the number of topological events. Whenever more than one connectedsequence of topological events is executed in a map command, such as in the “Add a Line”command (SNt1 SLNt2 (SLNt2i+1 MSLNt2i+2)), the total number of topological events is brokendown into the number of topological events in the first connected sequence (Nt1 ), the number

47Map Updates in a Dynamic Voronoi Data Structure

Page 12: Map Updates in a Dynamic Voronoi Data Structurecdn.intechopen.com/pdfs/...updates_in_a_dynamic_voronoi_data_structure.pdf · Map Updates in a Dynamic Voronoi Data Structure 3 The

12 Will-be-set-by-IN-TECH

Map constructioncommand

Decomposition (the terms in parentheses appear at each line-linecollision, i = collision index, i ∈ {1, ..., c} , c = number ofcollisions; t, tx denote numbers of topological events

Move a Point Nt

Add a Point SNt

Delete a Point Nt M

Add a Line SNt1 SLNt2(SLNt2i+1 MSLNt2i+2

)

Delete a Line(

Nt2i+2UMSNt2i+1UM)

Nt2 UMNt1 M

Join 2 Points SLNt1(SLNt2i MSLNt2i+1

)M

Unjoin 2 Points(

Nt2i+1UMSNt2i UM)

Nt1 UM

Join Pt & Line SLNt1(SLNt2i+1 MSLNt2i+2

)SLNt2 M

Unjoin Pt & Line SNt2 UM(

Nt2i+2UMSNt2i+1UM)

Nt1 UM

Join 2 Lines SLNt1 SLNt2(SLNt2i+2 MSLNt2i+3

)SLNt3 M

Unjoin 2 Lines SNt3 UM(

Nt2i+3UMSNt2i+2UM)

Nt2 UMNt1 UM

Table 3. The map commands and their decomposition into atomic actions

of topological events in the second connected sequence (Nt2 ), and so on. The parameter idenotes the number of times the line segment being added has already intersected existingline segments. This type of intersection with an existing line segment is called a collision, andi is called the collision index. The terms in parentheses are repeated for each intersection withan existing line (i.e. each collision).

We will now briefly explain the decomposition of each map command. We have already seenthe description of “Move a Point” and “Add a Point” map commands. Map command “Delete aPoint” is exactly the reverse of “Add a Point” map command: the point to be deleted is movedto the location of the nearest point (Nt), and then they are merged with this nearest point (M).

The remaining map commands involve the addition or removal of one or more new linesegments. For all these map commands, the decomposition includes a fixed sequence ofatomic actions that is executed only once (the sequence outside the parenthesis), and asequence that is executed at each collision (replicating sequence).

In the case of “Add a Line” and all the join map commands, the replicating sequence has alwaysthe same pattern in terms of atomic operations (

(SLNt2i+1 MSLNt2i+2

), although the actual

indices may vary). This corresponds to the splitting of the existing line (SLNt2i+1), the mergingof the newly created point (by the S atomic action in this last sequence) with the extremity of

48 Application of Geographic Information Systems

Page 13: Map Updates in a Dynamic Voronoi Data Structurecdn.intechopen.com/pdfs/...updates_in_a_dynamic_voronoi_data_structure.pdf · Map Updates in a Dynamic Voronoi Data Structure 3 The

Map Updates in a Dynamic Voronoi Data Structure 13

the line segment being added (M), and the continuation of the new line segment after collision(SLNt2i+2).

In the case of “Delete a Line” and all the unjoin map commands, the replicating sequence hasalways the same pattern in terms of atomic operations (

(Nt2i+2UMSNt2i+1UM

), although the

actual indices may vary). This is exactly the reverse of the previous replicating sequence.

Now, we will explain the fixed sequence for all these map commands. In order to “Add aLine”, the nearest point to the starting extremity location has to be split into two (S), then ithas to be moved to the starting extremity location (Nt1 ). Then, the ending extremity has to becreated by splitting the starting extremity into two (S). At this point the two extremities mustbe linked (L) in order to form a line segment. Finally, the ending extremity has to be moved(Nt2 ) to its expected location. The sequence for “Delete a Line” is exactly the reverse of thepreceding sequence.

In order to join two points with the “Join two points” map command, the first point mustbe split into two (S) in order to create the ending extremity of the line segment that startsat the first point. Then, these two points must be linked (L) in order to form a line segment.Then, the ending extremity must be moved (Nt1 ) to the location of the second point (includingeventually the replicating sequence in case of collisions). Finally, the ending extremity mustbe merged with the second point (M).

The sequence for the “Unjoin two points” map command is exactly the reverse of the sequencefor “Join two points” map command. The sequences of the remaining map commands followimmediately from the sequence of the “Join two points” map command. Indeed, the other joinmap commands fixed sequence involve several sequences corresponding to the same atomicactions as the SLNt1 sequence already encountered in the fixed sequence of “Join two points”map command. The unjoin map commands are the exact reverse of their join counterpart.

3.4. Reversibility of the map commands in the dynamic spatio-temporal Voronoidata structure

For each map command, the reverse map command is composed of reverse atomic actionsin exactly the reverse order [34]. Due to the local scope of its spatio-temporal topology, allthe atomic actions of the dynamic Voronoi spatio-temporal model are reversible. Indeed, eachatomic action has its reverse atomic action shown in the Table 4. The consequence of theproperty of reversibility of the atomic actions inside the Voronoi dynamic data structure is thata sequence of atomic actions applied in a map construction command can be reconstructedfrom the predecessor and successor map states. This proves in another way that the atomicactions are reversible: the input can be deduced from the output; or, in other words,computation happens without any loss of information [9].

The resulting complex operations (map commands) are reversible (see Figure 8 and Table 5),as long as their decomposition into atomic actions is exactly known (including the numbersof topological events and the number of line-line collisions).

The reversibility of the addition and deletion of intersecting line segments has been studiedin [3]. This strictly showed that in order to perform backwards visualization through reverseexecution, we need to access the sequences of atomic actions stored in a log file. This canbecome cumbersome due to the potentially large number of line-line collisions and of their

49Map Updates in a Dynamic Voronoi Data Structure

Page 14: Map Updates in a Dynamic Voronoi Data Structurecdn.intechopen.com/pdfs/...updates_in_a_dynamic_voronoi_data_structure.pdf · Map Updates in a Dynamic Voronoi Data Structure 3 The

14 Will-be-set-by-IN-TECH

Atomic action Reverse atomic action

Split Merge

Switch Switch is self-reversible

Link Unlink

Table 4. The reversibility of the atomic actions

Map construction command Reverse map construction command

Move a Point Self-reversible

Add a Point Delete a Point

Add a Line Delete a Line

Join 2 Points Unjoin 2 Points

Join Pt & Line Unjoin Pt & Line

Join 2 Lines Unjoin 2 Lines

Table 5. The reversibility of the map commands

associated replicating sequence (see terms in parenthesis in Table 3 and [32]). Moreover, ifwe want to perform spatio-temporal queries or spatio-temporal analysis, we need to accessthe previous map states. However, the undoing and redoing of atomic actions consumelarge amounts of time and storage and are not spatially localized. This is the consequenceof the total ordering of the map construction events, that does not allow spatially localredoing or undoing map commands. Therefore, in order to avoid these problems, wekeep a spatio-temporal structure which captures the execution traces of map commandsin the dynamic Voronoi data structure [32]. This spatio-temporal structure, along withthe reversibility property of the atomic actions, guarantees exact reverse execution of mapconstruction.

3.5. Logging the transactions

The incremental updates (given by the user) are recorded in the log file. Transactions arelogged at two levels: the log file that stores map command transactions, and the history of themap (the hierarchical Voronoi data structure) that is logging the changes in topology as newlycreated, deleted and modified Voronoi regions. The operations recorded in a log file have adirect translation into the spatio-temporal topology as the hierarchical Voronoi data structure.Temporal (parent-child, or modification) links between two update levels correspond to theapplied (executed) map commands (see Figure 9).

In the next subsection we will briefly introduce a theoretical approach needed for theexecution of map commands or transaction processing.

50 Application of Geographic Information Systems

Page 15: Map Updates in a Dynamic Voronoi Data Structurecdn.intechopen.com/pdfs/...updates_in_a_dynamic_voronoi_data_structure.pdf · Map Updates in a Dynamic Voronoi Data Structure 3 The

Map Updates in a Dynamic Voronoi Data Structure 15

3.6. Trace systems

Execution traces [28] give us a formalism to represent map history at a more abstract level.The theory of traces established by Mazurkiewicz [28] deals with the transaction processing inconcurrent systems. Trace systems are special in that they enable both very detailed modellingand also offer opportunities for abstraction. In order to specify a trace system one has tospecify an underlying spatial language and a dependency relation [28].

The trace system that represents the history of the map is maintained as a hierarchy ofmap objects and their ancestral dependency relationships [27]. Hence for the correspondingtopological changes in the Quad-Edge data structure, a dependency relationship occurs whenone atomic action uses the results of another: e.g. a Link action always follows a Split action,and it uses both the point that has been split and the point from which it occurred [32].

4. Map updates and map history

The user incrementally constructs or updates a map by giving map commands. A typicalexample could be updating a forest map to show the previous year’s clear-cuts. Each mapcommand is a sequence of atomic actions which will be executed on the Voronoi diagram,producing changes in spatial topology. All the state changes produced by map commands(induced by past map events) are permanently stored in the spatio-temporal data structure aslevels of map updates [32].

The left side of Figure 9 shows the effects of a map update “Add a Point P6” on a smallportion of a map consisting of several line segments and points, illustrating the growth ofthe Voronoi diagram and of the Delaunay triangulation. The right side of Figure 9 showsthe corresponding history structure for the map update shown in the left side, as describedin detail below. The parent-child links (represented in Figure 9 by thick solid straight lines)allow us to know from which point a point has been split, or with which point a point hasbeen merged. The connectivity links (represented in Figure 9 by solid curved lines) allow usto know if a given point has been linked to another point, and if it is the case, with which point,and through which half-line segments. The parent-child links associated with the creation ofthe two endpoints allow us to know the direction in which the digitizing of the line has beendone between the two endpoints. The modification links (represented in Figure 9 by lightsolid straight lines) allow us to know if the Voronoi cell of a given object has been changedduring a given map update (map command). The spatial adjacency links (corresponding toedges in the Delaunay quasi-triangulation) are drawn in dashed lines on both sides of Figure9.

The map construction commands have a direct translation into a spatio-temporal topology,as the hierarchy of map objects and their corresponding Voronoi cells that have been added,moved, or inactivated over time.

Thus, the data structure encodes the history of map construction at two different levels: asspatial topology (or neighbouring relations), and as temporal topology (temporal adjacencyrelationships; see [32] also shown on the Figure 9 as the vertical links). Temporal topology ismaintained through temporal or history links, which are the parent-child relationship linksfor the objects that have been split or merged, and modification links for the objects whoseVoronoi regions have been changed. In Figure 9 the execution of the map command “Adda Point” is shown. We can see the addition of the Point P6 to the Voronoi diagram. The

51Map Updates in a Dynamic Voronoi Data Structure

Page 16: Map Updates in a Dynamic Voronoi Data Structurecdn.intechopen.com/pdfs/...updates_in_a_dynamic_voronoi_data_structure.pdf · Map Updates in a Dynamic Voronoi Data Structure 3 The

16 Will-be-set-by-IN-TECH

Figure 9. A sequence of map construction commands and the history of the map

Predecessor and the Successor map state are shown (as two update levels) together with thechanges in the spatio-temporal topology. Each application of map commands is time-stampedand represented as an update level in our spatio-temporal structure. The hierarchicalQuad-Edge data structure stores all the states of the Quad-Edge data structure (spatialtopology states) and the connections between the update levels (the temporal topology inthe Quad-Edge data structure). These connections between update levels correspond to thetemporal topology, while the relationships in an update level correspond to spatial topology.These connections between update levels are the vertical component of the hierarchicalQuad-Edge data structure.

5. Hierarchical Voronoi data structure

Ancestral dependency relationships are defined as timed division hierarchies of elementalmap objects and their corresponding Voronoi regions, which are ordered by the dependencyof one atomic action upon another.

In event-driven systems, such dependency relationships are isomorphic to event structures[48]. Event structures may be seen as a generalization of such structures [48]. We can say thatthe hierarchical Voronoi data structure is equivalent to an event structure. In event-drivensystems the ordering of event occurrences is partial: there is no means to decide which ofseveral independent events occurs first [28]. The only way to establish objective ordering ofevent occurrences is to find their mutual causal dependencies and to agree that a cause mustalways occur earlier than its effect [28]. Therefore, the dependency (or independency) of eventoccurrences should be a basis for the behaviour description of the event driven system [28].

52 Application of Geographic Information Systems

Page 17: Map Updates in a Dynamic Voronoi Data Structurecdn.intechopen.com/pdfs/...updates_in_a_dynamic_voronoi_data_structure.pdf · Map Updates in a Dynamic Voronoi Data Structure 3 The

Map Updates in a Dynamic Voronoi Data Structure 17

Dependency graphs are a way of visualizing complex relationships [26]. In the followingexample, we can see update levels corresponding to the map updates shown in Figure 9, andtheir dependency links. Real-time sequencing of user-invoked events produces a temporalordering of spatial objects inside the dynamic Voronoi data structure. Inside each map updatelevel, the numerical order of the IDs of the objects corresponds to the temporal order ofthe commands that generated them. The temporal ordering in the hierarchical Voronoi datastructure is maintained through history links (see Figure 9: parent-child links correspondingto the origin/destination of a Split/Merge or Link/Unlink action, and modification linksrepresenting a change in the Voronoi region of an object).

This temporal order has direct implications for the reversibility of the Voronoi data structure.Inside each map update level, it is possible to perform reverse execution without accessinga log file following the correspondence between the temporal ordering (maintained throughthe temporal topology links in Figure 9 ) of the atomic actions and the numerical ordering ofthe objects IDs (resulted from the decomposition sequences of Table 3).

Thus, the spatio-temporal model combines events and corresponding state changesin topology. Event structures together with “semantics of change” are essential forspatio-temporal reasoning and answering spatio-temporal queries.

This formal model for spatio-temporal change representation is used to developthe hierarchical Voronoi data structure (hierarchy of map objects ordered by theirancestral dependency relationships) suited for imprecise temporal data representation andspatio-temporal reasoning in the ordered event structures10.

6. Spatio-temporal change representation

The lack of theory and formalisms for spatio-temporal change representation is a seriousproblem in research in spatio-temporal GIS [21]. One of the problems is related to the lackof the incremental map updates in current GISs [6]. In the Voronoi spatial data structures theclear specification of map updates (presented in the previous chapter) leads to a method forspatio-temporal change representation.

The formalism for representation of spatio-temporal changes in a dynamic Voronoi datastructure and the method for map updates is based on the topological (or structural) propertiesof the line Voronoi diagram (see [16] and Figure 1). The map updates produce changes inspatio-temporal topology that are different for each map command and can be expressedusing the theory of numbers as the structural topology changes.

The corresponding changes in topology are described in Tables 6 and 7. In Table 6, thecorresponding “state changes” for each map command are represented as the number ofnewly created and inactivated Voronoi cells. We can observe that except for the “Move aPoint” map command, the formulas for the numbers of inactivated Voronoi regions and newlycreated Voronoi regions generate couples of numbers, which pertain to different couplesof residual classes modulo the prime number 5. The corresponding couple of numbers of

10 There are significant implications of the temporal ordering of map construction events in the Voronoi data structure.The model has an implicit time ordering of events, visible through changes in topology. The dynamic Voronoi spatialdata structure can support temporal data without precise temporal information. The changes in the spatio-temporaldata structure capture the temporal and spatial semantics.

53Map Updates in a Dynamic Voronoi Data Structure

Page 18: Map Updates in a Dynamic Voronoi Data Structurecdn.intechopen.com/pdfs/...updates_in_a_dynamic_voronoi_data_structure.pdf · Map Updates in a Dynamic Voronoi Data Structure 3 The

18 Will-be-set-by-IN-TECH

Figure 10. Predecessor and successor map states for a “Move a point” map command

inactivated Voronoi regions and newly created ones for the “Move a point” map command is(0, 0), which does not pertain to any other corresponding couple of numbers for other mapcommands. Therefore, we have an isomorphism between the set of map commands and theset of couples of numbers of inactivated Voronoi regions and of newly created ones. In thefollowing figures the predecessor and successor map topology states for each map commandare presented, together with the spatio-temporal changes that occurred, the appearance ordisappearance of the Voronoi regions, as well as the modification of the neighbouring Voronoicells. The newly inserted regions are displayed in dark gray, and the modified Voronoi regionsin light gray. In Figure 10, the result of the map command “Move a Point” is shown. Figure11 shows the effect of a map command “Add a Point”. Figure 12 shows the addition of a linesegment to the Voronoi diagram, by an “Add a Line” map command. The last three sets ofmap commands show all possible combinations of the joining of different objects, points andline segments. Firstly, we can see the result of a map command “Join two Points” in Figure 13.Then, Figure 14 shows the effects of a map command “Join Point and Line”. Finally, Figure 15shows the result of a map command “Join two Lines”.

Moreover, this isomorphism gives rise to a discrimination of map commands, that allows oneto determine the number of line-line collisions that occurred in a given map update. Thediscrimination just described allows us to determine which map commands were applied justby knowing the predecessor and successor map topology states expressed in the number ofnewly created Voronoi regions and of inactivated ones (see Table 6). In formal terms, theconnections between update levels are formally described by the surjective homomorphismfrom the Cartesian product (D) of the set of the numbers of new Voronoi regions by the set ofthe numbers of inactivated Voronoi regions, to the set of map commands.

In Table 7, the corresponding “state changes” for each map command are represented as thedifference between the predecessor state and the successor state, expressed as the differencebetween the numbers of inactivated and newly created Voronoi edges. These state changestake into account the number c of intersections (between the newly created line segment andany existing objects) that occurred in the execution of the map command. When a movingpoint of a newly added line segment enters the last circumcircle of the line segment - thissituation is named “the insertion context” after [31] and [30] the mutual splitting of the linesegments occurs. The mutual splitting of line segments operation is visible as a replicatingsequence in Table 3. Terms in parentheses are repeated for each line intersection (see Figure 16)detected in drawing the new line specified in the map command. When the first intersection

54 Application of Geographic Information Systems

Page 19: Map Updates in a Dynamic Voronoi Data Structurecdn.intechopen.com/pdfs/...updates_in_a_dynamic_voronoi_data_structure.pdf · Map Updates in a Dynamic Voronoi Data Structure 3 The

Map Updates in a Dynamic Voronoi Data Structure 19

Map construction commandInactivated Voronoiregions

Newly created Voronoiregions

c = number of line intersectionsMove a Point 0 0

Add a Point 0 1

Delete a Point 1 0

Add a Line 0 4 + 5c

Delete a Line 4 + 5c 0

Join 2 Points 0 2 + 5c

Unjoin 2 Points 2 + 5c 0

Join Point & Line 0 5 + 5c

Unjoin Point & Line 5 + 5c 0

Join 2 Lines 0 8 + 5c

Unjoin 2 Lines 8 + 5c 0

Table 6. The changes induced by map commands in Voronoi regions

Figure 11. Predecessor and successor map states for an “Add a point” map command

55Map Updates in a Dynamic Voronoi Data Structure

Page 20: Map Updates in a Dynamic Voronoi Data Structurecdn.intechopen.com/pdfs/...updates_in_a_dynamic_voronoi_data_structure.pdf · Map Updates in a Dynamic Voronoi Data Structure 3 The

20 Will-be-set-by-IN-TECH

Figure 12. Predecessor and successor map states for an “Add a line” map command

Figure 13. Predecessor and successor map states for a “Join two points” map command

Figure 14. Predecessor and successor map states for a “Join point and line” map command

56 Application of Geographic Information Systems

Page 21: Map Updates in a Dynamic Voronoi Data Structurecdn.intechopen.com/pdfs/...updates_in_a_dynamic_voronoi_data_structure.pdf · Map Updates in a Dynamic Voronoi Data Structure 3 The

Map Updates in a Dynamic Voronoi Data Structure 21

Figure 15. Predecessor and successor map states for “Join two lines” map command

(also called a collision) happens, the collision index is 1. Each time an intersection happens, thecollision index is incremented. The intersections are computed incrementally, following thetrajectory of the “moving point”. In the “Add a Line” command, when the first intersectionhappens the sequence (SLNt2i+1

MSLNt2i+2)=(SLNt3

MSLNt4) is added. Then, at the next

intersection, the sequence (SLNt5MSLNt6

) is added.

The language theoretic aspects of replicating sequences can be found in [31]. Longer andlonger sequences [30] are produced by new map updates, only rearranging and replicatingalready existing information. Here, we can see that replication results in a growth of thesequences of the atomic actions. The sequence length is growing linearly. The replicationmode is deterministic, therefore we have a growth function associated with a replicatingsystem.

The map commands can be recognized by the changes between the predecessor and successormap topology states, expressed by the difference between the numbers of newly createdVoronoi edges and of inactivated Voronoi edges (see Table 7), and vice versa. Indeed, thenumbers generated by the formulas of differences (in the third column) pertain to sets (inthe fourth column) which are mutually exclusive. Moreover, this discrimination allows us todetermine the number of line-line collisions, and then the number of topological events thatoccurred in a map update (see example treated below). Mathematically speaking, there is anisomorphism between the set of map commands and the set of sets (in the fourth column) ofpossible corresponding changes between the predecessor and successor map topology states.

In the following example illustrated on the Figure 16, we will see the changes in topologyinduced by the map update. On the left Figure 16 the one line segment is shown and on theright Figure 16 the execution of the new map command is displayed. We can clearly see thatthe nine new Voronoi regions appeared in this map update level. From that result, we candetermine (from Table 6) the number of line-line collisions that occurred in the map update:9 ≡ 4 mod (5) . This implies that the update was “Add a line” and therefore we get the finalresult: 4 + 5c = 9 ⇒ c = 1. We can see that the difference in the numbers of newly createdand of inactivated Voronoi edges is 27. From this result (27 ≡ 12 (15) , 12+ 15c = 27 ⇒ c = 1),we arrive (see Table 7) at the same conclusion: the map update corresponds to the addition ofa new line segment intersecting one existing line segment.

Knowing the numbers of new Voronoi edges and of inactivated Voronoi edges, we candetermine the exact number of topological events: t + 23 + 37 equals the number of new

57Map Updates in a Dynamic Voronoi Data Structure

Page 22: Map Updates in a Dynamic Voronoi Data Structurecdn.intechopen.com/pdfs/...updates_in_a_dynamic_voronoi_data_structure.pdf · Map Updates in a Dynamic Voronoi Data Structure 3 The

22 Will-be-set-by-IN-TECH

Mapconstructioncommand

New VoronoiEdges

InactivatedVoronoiEdges

DifferenceNew -Inactiv.

Discrimination (set of thenumbers corresponding tothe difference New - Inac-

t = total number of topological events tivated Voronoi Edges)

Move aPoint

t t 0 {0}

Add a Point t + 6 t + 3 3 {3}

Delete aPoint

t + 3 t + 6 −3 {−3}

Add a Line t + 23 + 37c t + 11 + 22c 12 + 15c{

z ∈ Z, z ≡ 12 mod 15∧z ≥ 12

}

Delete aLine

t + 11 + 22c t + 23 + 37c −12 − 15c{

z ∈ Z, z ≡ 3 mod 15∧z < −12

}

Join 2 Points t + 20 + 37c t + 14 + 22c 6 + 15c{

z ∈ Z, z ≡ 6 mod 15∧z ≥ 6

}

Unjoin 2Points

t + 14 + 22c t + 20 + 37c −6 − 15c{

z ∈ Z, z ≡ 9 mod 15∧z < −6

}

Join Pt &Line

t + 37 + 37c t + 22 + 22c 15 + 15c{

z ∈ Z, z ≡ 0 mod 15∧z ≥ 15

}

Unjoin Pt &Line

t + 22 + 22c t + 37 + 37c −15 − 15c{

z ∈ Z, z ≡ 0 mod 15∧z < −15

}

Join 2 Lines t + 54 + 37c t + 30 + 22c 24 + 15c{

z ∈ Z, z ≡ 9 mod 15∧z ≥ 24

}

Unjoin 2Lines

t + 30 + 22c t + 54 + 37c −24 − 15c{

z ∈ Z, z ≡ 6 mod 15∧z < −24

}

Table 7. The discrimination of map commands by means of their changes in topology, from [32]

Voronoi or Quad-Edge edges, (see Table 7). Therefore we know that the decomposition of themap command in atomic actions has the following form: SNt1 SLNt2

(SLNt3 MSLNt4

)where

t1 + t2 + t3 + t4 is the known total number of topological events.

58 Application of Geographic Information Systems

Page 23: Map Updates in a Dynamic Voronoi Data Structurecdn.intechopen.com/pdfs/...updates_in_a_dynamic_voronoi_data_structure.pdf · Map Updates in a Dynamic Voronoi Data Structure 3 The

Map Updates in a Dynamic Voronoi Data Structure 23

Figure 16. Mutual splitting of line segments

6.1. Retroactive map updates

For some cartographic applications users need to be able to access and update not only thecurrent map, but also the past map states. In the case of retroactive map updates, all the mapcommands that happened after the date of the beginning of the retroactive map update areundone using reverse execution, returning to the corresponding starting state of the map.

Indeed, in the case of retroactive map updates, all the changes that occurred after thebeginning of the retroactive map update are undone, and then the retroactive map updateis performed, and the spatio-temporal data structure is updated. This is of particular interestin the cadastre due to the fact that land marking and division operations are rarely insertedin a cadastre information system at the same time as they are officially registered. In mostcases the update time ordering does not match the official time ordering [7]. Moreover, thesemantics of such operations (especially land marking) cannot be retrieved by comparing thecadastre maps before and after they occurred. Often, the documents and/or the landmarksdisappear, making any operation much harder and more subjective. In this particular case ofland marking, in order to retrieve the semantics we need to be able to reconstruct the sequenceof operations that were performed together with their spatial adjacency relationships. In otherwords, we need to retrieve their spatio-temporal topology. The parent-child links and themodification links described above (see Figure 9) allow us to retrieve the temporal topologylinks between these operations, while the spatial adjacency links allow us to retrieve thespatial topology links between these operations.

Further benefits of the formal model for spatio-temporal change representation presentedin the previous chapter include retroactive map updates. Even though there are some othermethods, such as transaction logging, to keep track of the operations that have been applied,these methods have several drawbacks in the case of retroactive map updates. For example,for map updates in the past, an additional “audit file” needs to be maintained and updatedwith the exact sequence of atomic actions, while in our approach the “semantics of change”is simply maintained as the difference in the number of Voronoi edges between two updatelevels.

The theoretical work on the formalization of map update operations and the hierarchicalVoronoi based spatio-temporal data structure has led to the three different methods forretroactive map updates presented here:

• Recomputation for a portion of the hierarchical data structure with retroactive updates.This method seems to be complex to implement, because it involves maintaining a large

59Map Updates in a Dynamic Voronoi Data Structure

Page 24: Map Updates in a Dynamic Voronoi Data Structurecdn.intechopen.com/pdfs/...updates_in_a_dynamic_voronoi_data_structure.pdf · Map Updates in a Dynamic Voronoi Data Structure 3 The

24 Will-be-set-by-IN-TECH

number of history links during the update operation. It could demand very complexalgorithms for structure maintenance during the updates as well, due to the necessity forresolving potential spatio-temporal inconsistencies or conflicts11

• The second method for retroactive map updates is based on reversibility. The reversibilityof map commands gives us a unique tool for another method for retroactive map updates.By exploiting reversibility the structure can be first undone until the moment in the pastwhere the retroactive update has to take a place, and then redone up to the present. Herethe efficiency of such retroactive update depends on how far in the past the user has tomake the changes. Therefore for updates that need to access deep in the past this approachis not efficient enough. This gives rise to the third model for map updates that is based onthe recomputation from the “log file”.

• Within this kinematic, geometrical Voronoi structure [15], the map history is difficult toupdate locally. Indeed, for many updates, it could be a complex and time consuming task,because addition or removal of each point has to be recomputed up to the surface of themap. Therefore, for complex updates, the sequence (log file) could be updated, and thewhole map with history recomputed! Therefore, the better solution is to rebuild the wholestructure. Complete rebuild is also needed in the case of multiple updates and retroactivemap updates from multiple sources.

The last method for retroactive map updates is the one that is most frequently applied in datastructures. It is based on rebuilding the data structure from the list of entries.

7. Conclusions

In this research, a new spatio-temporal model based on a dynamic Voronoi data structure forpoints and line segments is presented. The approach is based on local changes in topologyinduced by spatio-temporal map updates. These map updates are performed through mapconstruction commands that are composed of atomic actions on the dynamic Voronoi datastructure. Even though previous research [13] on the dynamic Voronoi data structure forpoints and line segments describes the set of atomic actions and map commands used forthe construction of the map based on the Voronoi diagram, those atomic actions and mapcommands were not formalized in a proper way. They were not deterministic and as aconsequence not reversible.

This research succeeded in the formalization of the operations needed for constructing aVoronoi diagram for points and line segments, and of the corresponding topological changes.These operations are formalized at the lowest level, as the basic algorithms for addition,deletion and moving of spatial objects in the Quad-Edge data structure; defined as the atomicactions. Furthermore the map commands that are composed of these atomic actions aredefined as well.11 Spatio-temporal conflicts and inconsistencies caused by updates

One of the problems arising from spatio-temporal updates in the Voronoi data model is that if we are deleting, creatingor moving an object in the past, we are creating spatio-temporal inconsistencies in the present. This changed objectis now inconsistent with the part of the map history which was previously rolled back, and now needs to be rolledforward to modify the present state accordingly.The fact that the chronology of the events could be different after the change may produce spatio-temporal conflicts.Deletion of an object in the past do not remove its activities - there are a lot of links and interactions with other objectswhich have been recorded in the map history, and they should be resolved and recomputed up to the present state ofmap history and the log file.The same conflict arises with the creation of a new spatial object - changes will affect its neighbours.

60 Application of Geographic Information Systems

Page 25: Map Updates in a Dynamic Voronoi Data Structurecdn.intechopen.com/pdfs/...updates_in_a_dynamic_voronoi_data_structure.pdf · Map Updates in a Dynamic Voronoi Data Structure 3 The

Map Updates in a Dynamic Voronoi Data Structure 25

This research shows that the result of the formalization of the operations on the dynamicVoronoi data structure is a spatial language or a map grammar that is deterministic andreversible.

It was shown that the behaviour of the basic map operations is deterministic, and well definedin terms of topology changes.

Furthermore, a formal model for spatio-temporal change representation has been defined,where each map update is uniquely characterized by the number of newly created Voronoiregions. The recognition of map commands from the corresponding changes in spatialtopology allows us to extend our data structure towards the hierarchical Voronoi datastructure (hierarchy of map objects ordered by their ancestral dependency relationships).The hierarchical Voronoi data structure is well suited for spatio-temporal data representationeven in the case of imprecise temporal data, and spatio-temporal reasoning in ordered eventstructures. The model has an implicit time ordering of events, visible through changes intopology. The changes in the spatio-temporal data structure capture the temporal and spatialsemantics.

This research has shown that the hierarchical Voronoi data structure is equivalent to an eventstructure. The temporal ordering of past map events as well as states in a hierarchical Voronoidata structure provide a suitable model for the integration of Allen’s temporal algebra, that isneeded for reasoning about spatial objects and their temporal relationships [7]. Furthermore,a spatio-temporal structure that combines events and past map states is essential to answerqueries about map changes over space and time.

This research has presented several applications of the hierarchical Voronoi data structure thatare difficult to implement within the traditional GIS. The formal model of spatio-temporalchange representation is currently applied to retroactive spatio-temporal map updates andvisualization of map evolution.

The benefits of this approach reside in the possibility of reverting to previous states in order tovisualize the evolution of the map or to perform spatio-temporal queries and analysis, as wellas in performing reverse execution of the map commands previously applied to the Voronoispatial data structure, to achieve retroactive map updates. The visualization of map changesenables fast comprehension of the events and processes that occurred in space and time.Visualization of map changes offers a powerful tool for spatio-temporal reasoning, which isneeded in many GIS applications.

The map grammar described here allows us to build the deterministic spatio-temporalrepresentations in which all the rules used in their construction are preserved. This is one ofthe main contribution of this paper, where for the first time in GIS research, a map grammarhas been proposed as a method for handling map updates and building spatio-temporalrepresentations.

Author details

Darka Mioc and François AntonTechnical University of Denmark, Denmark

Christopher M. GoldUniversity of Glamrogan, United Kingdom

61Map Updates in a Dynamic Voronoi Data Structure

Page 26: Map Updates in a Dynamic Voronoi Data Structurecdn.intechopen.com/pdfs/...updates_in_a_dynamic_voronoi_data_structure.pdf · Map Updates in a Dynamic Voronoi Data Structure 3 The

26 Will-be-set-by-IN-TECH

Bernard MoulinUniversité Laval, Canada

8. References

[1] Angel, E., 1997, Interactive computer graphics: a top-down approach with OpenGL,Addison-Wesley, Reading, MA.

[2] Anton, F., 1995, Le système de numérisation Voronoi intelligent, interactif et dynamiqueet ses applications à la foresterie, Thèse de maîtrise, Université Laval, Faculté de Foresterie etGéomatique, Québec, Canada.

[3] Anton, F., 1996, Reversible splitting of line segments within a Voronoi diagram for aset of points and straight line segments, Internal document, Industrial Chair of Geomatics,Université Laval, Faculté de Foresterie et Géomatique, Québec, Canada.

[4] Anton, F. and Gold, C. M., 1997, An iterative algorithm for the determination ofVoronoi vertices in polygonal and non-polygonal domains, Proceedings of the 9th CanadianConference on Computational Geometry (CCCG’97), Kingston, Canada, pp. 257-262.

[5] Bedard, Y., Caron, C., Maamar, Z., Moulin, B. and Vallière, D., 1996, Adapting datamodels for the design of spatio-temporal databases, Comput., Environ. and Urban Systems,Vol. 20, No. 1, pp. 19-41.

[6] Chrisman, R. N., 1998, Beyond the Snapshot: Changing the Approach to Change, Errorand Process, Spatial and temporal reasoning in geographic information systems, edited by MaxJ. Egenhofer, Reginald G. Golledge, Oxford University Press, New York, Chapter 6, pp.85-93.

[7] Frank, A.U., 1994, Qualitative temporal reasoning in GIS-ordered time scales, Proceedingsof the Sixth International Symposium on Spatial Data Handling, Edinburgh, Scotland, InAdvances in GIS Research, Proceedings, Vol. 1, pp. 410-430.

[8] Frank, A.U., 1998, Different Types of “Times” in GIS, Spatial and temporal reasoning ingeographic information systems, edited by Max J. Egenhofer, Reginald G. Golledge, OxfordUniversity Press, New York, Chapter 3, pp. 40-62.

[9] Frank, M., Knight, T., Margolus, N., 1998, Reversibility in optimally scalable computerarchitectures, The First International Conference on Unconventional Models of Computation,January 1998, pp. 165-182.

[10] Gold, C. M., 1988, PAN graphs - An aid to GIS analysis, International Journal ofGeographical Information Systems, Vol. 2, No. 1, pp. 29-41.Proceedings of the Fourth International Symposium on Spatial Data Handling, Zurich,Switzerland, pp. 175-189.

[11] Gold, C. M., 1992, Dynamic spatial data structures - the Voronoi approach, Proceedings ofthe Canadian Conference on GIS, Ottawa, Canada, pp. 245-251.

[12] Gold, C. M., 1992, An object-based dynamic spatial data model, and its applications inthe development of a user-friendly digitizing system, Proceedings of the Fifth InternationalSymposium on Spatial Data Handling, Charleston, pp. 495-504.

[13] Gold, C. M., 1994, The Interactive map, In: Advanced Geographic Data Modelling - SpatialData Modelling and Query Languages for 2D and 3D Applications, Eds. M. Molenaar and S.de Hoop, Netherlands Geodetic Commission Publications on Geodesy (New Series), No.40, pp. 121-128.

[14] Gold., C. M., 1994, Three approaches to automated topology, and how computationalgeometry helps, Proceedings of the Sixth International Seminar on Spatial Data Handling,Edinburgh, Scotland, pp. 145-158.

62 Application of Geographic Information Systems

Page 27: Map Updates in a Dynamic Voronoi Data Structurecdn.intechopen.com/pdfs/...updates_in_a_dynamic_voronoi_data_structure.pdf · Map Updates in a Dynamic Voronoi Data Structure 3 The

Map Updates in a Dynamic Voronoi Data Structure 27

[15] Gold, C. M., Remmele, P. R., Roos, T., 1995, Voronoi Diagrams of Line Segments MadeEasy, Proceedings of the Seventh Canadian Conference in Computational Geometry, (CCCG’95),Québec, Canada, pp. 223-228.

[16] Gold, C. M., 1996, An Event-Driven Approach to Spatio-Temporal Mapping,Spatio-Temporal special issue, Geomatica, Vol. 50, pp. 415-424.

[17] Gold, C. M., 1997, The Global GIS, Proceedings of the International Workshop on Dynamicand Multi-Dimensional GIS, Hong-Kong, China, 12 pp.

[18] Gold, C.M., Mioc, D. and Anton, F., 2008, Dynamic GIS, ISPRS congress Book, Advancesin Photogrammetry, Remote Sensing and spatial Information Sciences, Eds: Z. Li, J. Chen, E.Baltsavias, Taylor & Francis Group, London, UK, pp. 289-303.

[19] Guibas, L. and Stolfi, J., 1985, Primitives for the Manipulation of General Subdivisionsand the Computation of Voronoi Diagrams, ACM Transactions on Graphics, Vol. 4, No. 2,pp. 74-123.

[20] Hazelton, J. W. N., 1998, Some operational Requirements for a Multi-Temporal 4-D GIS,Spatial and temporal reasoning in geographic information systems, edited by Max J. Egenhofer,Reginald G. Golledge, Oxford University Press, New York, Chapter 4, pp. 63-73.

[21] Hirtle, S., 1998, Epilogue In Spatial and Temporal Reasoning in Geographic InformationSystems, edited by Max J. Egenhofer, Reginald G. Golledge, Oxford University Press,New York.

[22] Hopcroft, J. and Ullman, J., 1979, Introduction to Automata Theory, Addison-Wesley,Reading, Mass.

[23] Kraak, M-J., MacEachren, A. M., 1994, Visualization of the Temporal component ofSpatial data, Proceedings of the Sixth International Symposium on Spatial Data Handling,Edinborough, Scotland, pp. 391-409.

[24] Kraak, M-J., Edsall, R., MacEachren, A. M., 1998, Cartographic Animation and Legendsfor Temporal Maps: Exploration and/or Interaction, Proceedings of the Seventh AnnualConference of Polish Spatial Information Association, Warsaw, Poland, May 1998, pp. 287-296.

[25] Langran, G., 1992, Time in Geographic Information Systems, Technical Issues in GeographicInformation Systems, Taylor & Francis, London, UK.

[26] Linz, P., 1996, An introduction to formal languages and automata, D. C. Heath and Company,Lexington, Massachusetts.

[27] Lück, H. B. and Lück, J., 1976, Cell number and cell size in filamentous organismsin relation to ancestrally and positionally dependent generation times, In Automata,Languages, Development , North-Holland, Amsterdam, Netherlands, pp. 109-124.

[28] Mazurkiewicz, A., 1989, Basic Notions of Trace Theory, Proceedings of REX Workshop andSummer School “Linear Time, Branching Time, and Partial Order in Logics and Models forConcurrency”, Noordwijkerhout, May/June1987, In Lecture Notes in Computer Science Vol.354, Springer-Verlag, Berlin, pp. 285-363.

[29] McFarland, G. and Rudmik, A., 1993, Object-Oriented DatabaseManagement systems, A Critical Review/ Technology Assessment, Source:http://www.utica.koman.com/tech/oodbms.ToC.html

[30] Mihalache, V., Paun, G., Rozenberg, G. and Salomaa, A., 1996, Generating strings byreplication: a simple case, TUCS Technical Report No. 17, Turku Centre for ComputerScience, Turku, Finland.

[31] Mihalache, V. and Salomaa, A., 1998, Language-Theoretic Aspects of String Replication,International Journal for Computer Mathematics 66, pp. 163–177.

63Map Updates in a Dynamic Voronoi Data Structure

Page 28: Map Updates in a Dynamic Voronoi Data Structurecdn.intechopen.com/pdfs/...updates_in_a_dynamic_voronoi_data_structure.pdf · Map Updates in a Dynamic Voronoi Data Structure 3 The

28 Will-be-set-by-IN-TECH

[32] Mioc, D., Anton, F., Gold, C. M. and Moulin, B., 1998, Spatio-temporal changerepresentation and map updates in a dynamic Voronoi data structure, Proceedings of theEight International Symposium on Spatial Data Handling, Vancouver, Canada, pp. 441-452.

[33] Mioc, D., Anton, F., Gold, C.M., and Moulin B., 2006, Map updates in a dynamic Voronoidata structure, Proceedings of ISVD’06, Banf, Alberta, pp. 264-269.

[34] Mioc, D., Anton, F., Gold, C.M., and Moulin B., 2007, Reversibility of the Quad-Edgeoperations in the Voronoi data structure, Proceedings of ISVD’07, Glamorgan, UK, pp.135-144.

[35] Mioc, D., Anton, F., Gold, C.M., and Moulin B., 2009, On Kinetic Line Voronoi Operationsand Finite Fields, Proceedings of ISVD’09, Copenhagen, Denmark, pp. 65-70.

[36] Mioc, D., Anton, F., Gold, C.M., and Moulin B., 2010, Kinetic Line Voronoi Operationsand Their Reversibility, Transactions on Computational Science, pp. 139-165.

[37] NCGIA, 1988, Proposal to the geography regional science program at the NationalScience Foundation, Technical Paper 88-1, National Center for Geographic Information andAnalysis, University of California, Santa Barbara, CA.

[38] Newell, R. and Batty, M., 1994, GIS databases are different, AM/FM’94, pp. 279-288.[39] Okabe, A., Boots, B., Sugihara, K., 1992, Spatial Tessellations - Concepts and Applications of

Voronoi Diagrams, Wiley & Sons, Chichester.[40] Pequet, D. and Wentz, E., 1994, An Approach for Time-Based Spatial Analysis of

Spatio-Temporal Data, Advances in GIS Research, Proceedings 1, pp. 489-504.[41] Proulx, M-J., 1995, Développement d’un nouveau langage d’interrogation de bases

de données spatio-temporelles, Thèse de Maîtrise, Département des Sciences Géomatiques,Université Laval, Québec, Canada.

[42] Prusinkiewicz, P., Lindenmayer, A., 1990, The Algorithmic Beauty of Plants,Springer-Verlag, New York.

[43] Rekers, J., 1995, A Parsing Algorithm for Context-Sensitive Graph Grammars, Technicalreport 95-05 of Leiden University, Leiden, The Netherlands. Source: ftp.wi.leidenuniv.nl,file /pub/CS/TechnicalReports/1995/tr-05.ps.gz.

[44] Roos, T., 1991, Dynamic Voronoi diagrams, Ph.D. Thesis, University of Würzburg,Germany.

[45] Van Oosterom, P. J. M., 1993, Reactive Data Structures for Geographic Information Systems,Oxford University, Bookcraft Ltd.

[46] Van Oosterom, P. J. M., 1997, Maintaining Consistent Topology including HistoricalData in a Large Spatial Database, In 1997 ACSM/ASPRS Annual Convention & Exposition,Seattle, Washington, Auto-Carto 13, Vol. 5, pp. 327-336.

[47] Vaario, J., 1993, An Emergent Modeling Method for Artificial Neural Networks, Doctoraldissertation, University of Tokyo, Japan.

[48] Winskel, G., 1989, An introduction to event structures, Proceedings of REX Workshop“Linear Time, Branching Time, and Partial Order in Logics and Models for Concurrency”,Lecture Notes in Computer Science, Vol. 354, Springer, Berlin, pp. 365-397.

64 Application of Geographic Information Systems