**Raster and Vector Integration for Fuzzy Vector Information Representation Within GIS**

Enguerran Grandchamp

20 Application of Geographic Information Systems

Litman, T. A. 2008. *Land Use Impacts on Transport: How Land Use Factors Affect Travel Behavior*. [online]. Victoria Transportation Policy Institute, 58 p. Available from:

McGarigal, K., and B. J. Marks. 1995. FRAGSTATS: spatial pattern analysis program for quantifying landscape structure. [online]. Forest Science Department, Oregon State

Mokhtarian, P. L. and Cao, X. 2008. Examining the impacts of residential self-selection on travel behavior: A focus on methodologies. *Transportation Research B,* v.42, 204-228. Nobrega, R. A. A. 2007. Deteccao da malha viaria na periferia urbana de Sao Paulo utilizando imagens de alta resolucao espacial e classificação orientada a objetos. *Tese de* 

Ono, S., Barros, M. T.L. and Conrado, G. 2005. A Utilizacao de SIG no planejamento e Gestao

Saaty, T. L. 1995. Transport planning with multiple criteria: the analytic hierarchy process applications and progress review. *Journal of Advanced Transportation*. Vol 29, 81–126. Sadasivuni, R., O'Hara, C.G., Nobrega, R. and Dumas, J. 2009. A transportation corridor case study for multi-criteria decision analysis. *Proceedings of American Society of Photogrammetry and Remote Sensing Annual Conference*, March 11-14, 2009, Baltimore-MD. Sader, S., D. and Ahl, W. 1995. Accuracy of Landsat-TM and GIS rule-based methods for forest wetland classification in Maine. *Remote Sensing of Environment*. Vol 53 (3), 133-144. Saunders, S. C., Mislivets, M, R., Chen, J. and Cleland, D. T. 2002. Effects of roads on landscape structure within nested ecological units on the Northern Great Lakes Region,

Schiewe, J., Tufte, L. and Ehlers, M. 2001. Potential and problems of multi-scale segmentation methods in remote sensing. GIS – *Zeitschrift für Geoinformationssysteme*.

Spellerberg, I. F. 1998. Ecological effects of roads and traffic: a literature review*. Global* 

TownshendWalker, J. R.., Huang, G., Kalluri, DeFries, N. V. and Liang, S. 2000. Beware of per-pixel characterisation of land cover. *International Journal of Remote Sensin*g. Vol 21,

Wheeler, A. P., Angermeier, P., Rosenberguer, A. 2005. Impacts of new highways and subsequent landscape urbanization on stream habitat and biota. *Reviews in Fisheries and* 

*Dourotado*, Escola Politecnica da Universidade de Sao Paulo, Sao Paulo. 165p. Omernik, J. M. and Bailey, R. G. 1997. Distinguishing between watershed and ecoregions.

http://www.vtpi.org/landtravel.pdf [Accessed 15 May 2009]

*Journal of the American Water Association*. Vol 33 (5), 935-944.

de Bacias Urbanas*. Proceedings of AbrhSIG*. Sao Paulo, 2005.

USA. *Biological Conservation*. Vol 103, 209-225.

*Ecology and Biogeography Letters*. Vol 7, 317–333.

Vol 6, 34-39.

839– 843

*Science*. Vol 13, 141-164.

http://www.umass.edu/landeco/pubs/Fragstats.pdf [Accessed 15 May 2009]

University, Corvallis-OR. Available from:

Additional information is available at the end of the chapter

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

## **1. Introduction**

This chapter deals with a vector model for fuzzy data sets within a GIS and with the raster and vector combination to refine vector objects. The model will be useful to represent information such as natural phenomenon (forest, desert, geology, separation between mountain and valley, rain, inundation, wind, etc.), social phenomenon (population density changes, poverty, etc.) or physical phenomenon (hurricane, etc.), which are diffused in space (Guesgen, 2000). The use of raster information will be useful to split vector units when the vector division reaches its limits.

The main sources of raster data are raw images (airborne and satellite images) and results of treatments (geostatistical, pixel classification, etc.). Vector information is often obtained by manual measurements (using GPS receptor for example), or is the result of the vectorisation of a raster treatment (such as classification, etc.).

The main goal is to manipulate vector information instead of raster because their manipulation within GIS engenders many problems. Indeed, the raster data are not adapted to GIS treatment (Benz, 2004) because of a lack of contextual information, the size of the data and the time consuming algorithm to produce information. The raster information is not split into identified objects and the vector representation is more flexible and gives the possibility to be easily combined with other information layers. For these reasons, we aim to split a wide image into several small units and convert the raw image information into a vector of features characterizing the unit in a raster view.

Another observation is that the vector data structures are not adapted to model fuzzy information in GIS (Shneider, 1999). More than 10 years later, the only way to use fuzzy representation in GIS is to build a raster map (Bjorke, 2004), computed with different raster or vector sources (Kimfung, 2009), (Ruiz, 2007). The only approach dealing with fuzzy vector representation uses a series of regular buffers inside and outside a polygon boundary

to represent different belts of membership function values (Lewinski, 2004). The main drawback of this approach is that for most of the natural phenomena that engender fuzzy data (such as forest, population movement, physical phenomena like hurricane, etc.) the membership function doesn't have the same behaviour in each spatial direction.

Raster and Vector Integration for Fuzzy Vector Information Representation Within GIS 23

In the study case, used to illustrate this chapter, we built a fuzzy representation of different forest in Guadeloupe Island. A forest is typically the kind of data adapted to the modelling with fuzzy sets. Indeed, the transition between two kinds of forest is mostly a gradient than a strict transition. Moreover, the gradient depends on many parameters and could be relatively short if environmental conditions change quickly or long if there is a smoother change. In some particular conditions there is a strict border for a forest, for example at the interface with agriculture or if a road, river, crest etc. interact with the forest. In any case, the

The classes are semantically and numerically defined using floristic information collected over 47 areas (about 250 m² each, *Fig. 1*-a). This step is based on a Principal Component Analysis (PCA, *Fig. 1*-b) and an ascending hierarchical clustering method (AHC, *Fig. 1*-c). These first steps allow regrouping the floristic information into significant clusters by sorting the numerous parameters describing the 47 areas. The AHC is used to select the number of classes and also serves as base for the semantic definition of the classes given through an ontology (*Fig. 1*-d) (Jones, 2002), (Kavouras, 2005), (Fonseca, 2002, 2006,2008), (Baglioni, 2008), (Gutierrez, 2006). The ontology is useful for a high level use of the fuzzy representation of the forest and particularly when integrating it to a shared conceptual layer

transition gradient is locally defined and not uniform in every direction.

(Eigenhofer, 1991), (Cruz, 2005), (Bloch, 2006), (Grandchamp, 2011).

**Figure 1.** Clustering on floristic data and class definition

**2.2. Objective and data** 

We propose in this chapter a vector model adapted to fuzzy information without the previous limitations. The chapter is organized in XX sections including this introduction. Section 2 details the fuzzy vector representation by successively introducing *(i)* a state of the art for fuzzy information representation within GIS *(ii)* the proposed fuzzy model *(iii)* an illustration of the model. Section 3 deals with the use of raster information to split vector units within certain hypothesis. Then a conclusion is given in section 4.

## **2. Fuzzy vector representation**

## **2.1. State of the art**

In 1997, in the conclusions of the special issue of *Spatial Data Types for Database Systems in Lecture Notes in Computer Science* the authors underline the importance of specific data structures for GIS and the lack of adaptation of the existing one to several data including fuzzy data. As if many propositions have been made, more than 10 years later the advance in this field are not relevant. The fuzzy modeling is only approached with strict sets.

Historically the first approaches to solve the problem were to arbitrary decide of a strict border between fuzzy sets and to model them with classical data structures. But the raise of more complex problematics integrating many parameters reached the limits of this model which have guided the conception of the datastructures within the GIS.

The first studies about 2D fuzzy sets have been made by Peter Burrough in 1986 (Burrough, 1986) 106. After this, many studies with the definition of 2D fuzzy operators or fuzzy spatial relation (Bjorke, 2004), (Kimfung, 2009) have been made. But all this studies are using a raster representation of the data (Zhu, 2001), (Mukhopadhyay, 2002), (Sunila, 2004), (Bjorke, 2004), (Guo, 2004), (Ruiz, 2007), (Sawatzky, 2008), (Sunila, 2009), (Gary, 2010), (Wolfgang, 2011) and it was still the same in 2010. In all this studies it was s necessary to rasterise the data in order to apply the fuzzy operators. This implies a loss of precision when choosing a scale of analysis, a time consuming process and the lack of fuzzy representation of sources data. This last point has been underline by GIS community as a main drawback (Altman, 1994), (Shneider, 1999), (Fisher, 2000), (Cross, 2001), (Yanar, 2004), (Kainz, 2011).

The actual challenge is then to directly deal with the vector data in order to improve precision, reduce computation time and to ensure a better abstraction of the data. Nowadays, only marginal studies include a vectorial approach to fuzzy spatial problems (Benz, 2004) (karimi, 2008). These approaches consist on a series of regular buffers around a strict polygon to represent different level of the membership function values. The main drawback of these approaches is that the regular evolution of the fuzzy membership function in each direction doesn't translate the reality of most of the observed phenomenon.

### **2.2. Objective and data**

22 Application of Geographic Information Systems

**2. Fuzzy vector representation** 

**2.1. State of the art** 

to represent different belts of membership function values (Lewinski, 2004). The main drawback of this approach is that for most of the natural phenomena that engender fuzzy data (such as forest, population movement, physical phenomena like hurricane, etc.) the

We propose in this chapter a vector model adapted to fuzzy information without the previous limitations. The chapter is organized in XX sections including this introduction. Section 2 details the fuzzy vector representation by successively introducing *(i)* a state of the art for fuzzy information representation within GIS *(ii)* the proposed fuzzy model *(iii)* an illustration of the model. Section 3 deals with the use of raster information to split vector

In 1997, in the conclusions of the special issue of *Spatial Data Types for Database Systems in Lecture Notes in Computer Science* the authors underline the importance of specific data structures for GIS and the lack of adaptation of the existing one to several data including fuzzy data. As if many propositions have been made, more than 10 years later the advance

Historically the first approaches to solve the problem were to arbitrary decide of a strict border between fuzzy sets and to model them with classical data structures. But the raise of more complex problematics integrating many parameters reached the limits of this model

The first studies about 2D fuzzy sets have been made by Peter Burrough in 1986 (Burrough, 1986) 106. After this, many studies with the definition of 2D fuzzy operators or fuzzy spatial relation (Bjorke, 2004), (Kimfung, 2009) have been made. But all this studies are using a raster representation of the data (Zhu, 2001), (Mukhopadhyay, 2002), (Sunila, 2004), (Bjorke, 2004), (Guo, 2004), (Ruiz, 2007), (Sawatzky, 2008), (Sunila, 2009), (Gary, 2010), (Wolfgang, 2011) and it was still the same in 2010. In all this studies it was s necessary to rasterise the data in order to apply the fuzzy operators. This implies a loss of precision when choosing a scale of analysis, a time consuming process and the lack of fuzzy representation of sources data. This last point has been underline by GIS community as a main drawback (Altman,

The actual challenge is then to directly deal with the vector data in order to improve precision, reduce computation time and to ensure a better abstraction of the data. Nowadays, only marginal studies include a vectorial approach to fuzzy spatial problems (Benz, 2004) (karimi, 2008). These approaches consist on a series of regular buffers around a strict polygon to represent different level of the membership function values. The main drawback of these approaches is that the regular evolution of the fuzzy membership function in each direction doesn't translate the reality of most of the observed phenomenon.

in this field are not relevant. The fuzzy modeling is only approached with strict sets.

membership function doesn't have the same behaviour in each spatial direction.

units within certain hypothesis. Then a conclusion is given in section 4.

which have guided the conception of the datastructures within the GIS.

1994), (Shneider, 1999), (Fisher, 2000), (Cross, 2001), (Yanar, 2004), (Kainz, 2011).

In the study case, used to illustrate this chapter, we built a fuzzy representation of different forest in Guadeloupe Island. A forest is typically the kind of data adapted to the modelling with fuzzy sets. Indeed, the transition between two kinds of forest is mostly a gradient than a strict transition. Moreover, the gradient depends on many parameters and could be relatively short if environmental conditions change quickly or long if there is a smoother change. In some particular conditions there is a strict border for a forest, for example at the interface with agriculture or if a road, river, crest etc. interact with the forest. In any case, the transition gradient is locally defined and not uniform in every direction.

The classes are semantically and numerically defined using floristic information collected over 47 areas (about 250 m² each, *Fig. 1*-a). This step is based on a Principal Component Analysis (PCA, *Fig. 1*-b) and an ascending hierarchical clustering method (AHC, *Fig. 1*-c). These first steps allow regrouping the floristic information into significant clusters by sorting the numerous parameters describing the 47 areas. The AHC is used to select the number of classes and also serves as base for the semantic definition of the classes given through an ontology (*Fig. 1*-d) (Jones, 2002), (Kavouras, 2005), (Fonseca, 2002, 2006,2008), (Baglioni, 2008), (Gutierrez, 2006). The ontology is useful for a high level use of the fuzzy representation of the forest and particularly when integrating it to a shared conceptual layer (Eigenhofer, 1991), (Cruz, 2005), (Bloch, 2006), (Grandchamp, 2011).

**Figure 1.** Clustering on floristic data and class definition

This step allows defining 14 kinds of forest over the main part of Guadeloupe Island (*Fig. 1* d and e).

## **2.3. Description of the treatments**

The previous step allows labelling each of the 47 areas according to the 14 classes (*Fig. 2*-a). But the fuzzy representation of the whole territory is not possible using floristic information because we didn't have this information for any other area. Under the hypothesis that the environment directly influences the formation of the forests we project the 47 areas in a topographic and environmental space. This space includes information such as general ground occupation, elevation, exposition, slope, humidity or latitude. Each of this data is stored within a vector information layer and their fusion leads to the division of the territory into elementary areas called Vector Units (VU, *Fig. 2*-b). Each of the 47 ground truth areas is contained in a VU.

**Figure 2.** Learning on topographic and image data based on decision tree

Each VU represents a uniform area regarding each of the fused layers and we add to these features information extracted from a raster view (Raster Unit RU) of the area (texture and colour characterization using co-occurrence matrices, Law filters, Gabor filters, Hue moments, fractal dimension, etc.). We use satellite images (IKONOS, Spot5 and Quickbird) and airborne images. A total of about 20 features including topographic and image features are used.

Raster and Vector Integration for Fuzzy Vector Information Representation Within GIS 25

and C4.5 decision tree (Quinla, 1993). The best results were statistically obtained with FT, so

The fuzzy model requires the computation of a membership function for each elementary unit (VU). This membership function is derived from the reliable coefficient returned by the decision tree. Indeed, each VU is analysed using the FT and a reliable coefficient is returned for each class. Commonly a strict classification using DT will choose to label the VU with the

By retaining only the highest value, we totally ignore the gradient nature of the transitions. By keeping all values we are able to build a fuzzy representation of each class and different representations of the resulting map by defining rules for the transitions. Moreover, in case of wide transition area, this approach could be used to reveal full

*Fig. 3* shows the membership function of each VU to different classes among the 14 identified classes of Guadeloupean forest. The lower the membership function value is, the darker is the colour. We remark that some classes are clearly localised, such as class 9 which represents high mountain forest around the sulphur mine, or class number 4 which is a typical forest kind oriented to the west and where a dry hot wind is blowing or else class 1. But other classes are more dispersed over the whole territory. This reveals wide transitions between classes. We remind that these maps are not raster data but each coloured element is

we keep this approach to illustrate the method in the rest of the chapter.

label of the class having the highest value of reliable coefficient.

transition classes.

**Figure 3.** Membership function

a VU.

This step of characterisation of the VU is the first Raster-Vector cooperation. It includes a partition of the image according to heterogeneous vector data and not to spectral or structural properties of the image. This approach is more simple and quicker than image segmentation and the returned VU have a semantic signification. Moreover, the adjunction of raster and vector information allows combining a theoretical uniformity of an area and a raster view of the reality.

With these 47 labelled VU we are now able to classify the whole territory in a fuzzy way. Indeed, we apply a supervised classification based on a decision tree (*Fig. 2*-b) to obtain the different kind of forest.

The decision tree is built after a learning step based on both topographic and image features. We use different kind of decision trees such as functional decision trees (FT) (Gama, 2005) and C4.5 decision tree (Quinla, 1993). The best results were statistically obtained with FT, so we keep this approach to illustrate the method in the rest of the chapter.

The fuzzy model requires the computation of a membership function for each elementary unit (VU). This membership function is derived from the reliable coefficient returned by the decision tree. Indeed, each VU is analysed using the FT and a reliable coefficient is returned for each class. Commonly a strict classification using DT will choose to label the VU with the label of the class having the highest value of reliable coefficient.

By retaining only the highest value, we totally ignore the gradient nature of the transitions. By keeping all values we are able to build a fuzzy representation of each class and different representations of the resulting map by defining rules for the transitions. Moreover, in case of wide transition area, this approach could be used to reveal full transition classes.

*Fig. 3* shows the membership function of each VU to different classes among the 14 identified classes of Guadeloupean forest. The lower the membership function value is, the darker is the colour. We remark that some classes are clearly localised, such as class 9 which represents high mountain forest around the sulphur mine, or class number 4 which is a typical forest kind oriented to the west and where a dry hot wind is blowing or else class 1. But other classes are more dispersed over the whole territory. This reveals wide transitions between classes. We remind that these maps are not raster data but each coloured element is a VU.

**Figure 3.** Membership function

24 Application of Geographic Information Systems

**2.3. Description of the treatments** 

d and e).

are used.

raster view of the reality.

different kind of forest.

This step allows defining 14 kinds of forest over the main part of Guadeloupe Island (*Fig. 1*-

The previous step allows labelling each of the 47 areas according to the 14 classes (*Fig. 2*-a). But the fuzzy representation of the whole territory is not possible using floristic information because we didn't have this information for any other area. Under the hypothesis that the environment directly influences the formation of the forests we project the 47 areas in a topographic and environmental space. This space includes information such as general ground occupation, elevation, exposition, slope, humidity or latitude. Each of this data is stored within a vector information layer and their fusion leads to the division of the territory into elementary areas called Vector Units (VU, *Fig. 2*-b). Each of the 47 ground truth areas is contained in a VU.

Each VU represents a uniform area regarding each of the fused layers and we add to these features information extracted from a raster view (Raster Unit RU) of the area (texture and colour characterization using co-occurrence matrices, Law filters, Gabor filters, Hue moments, fractal dimension, etc.). We use satellite images (IKONOS, Spot5 and Quickbird) and airborne images. A total of about 20 features including topographic and image features

This step of characterisation of the VU is the first Raster-Vector cooperation. It includes a partition of the image according to heterogeneous vector data and not to spectral or structural properties of the image. This approach is more simple and quicker than image segmentation and the returned VU have a semantic signification. Moreover, the adjunction of raster and vector information allows combining a theoretical uniformity of an area and a

With these 47 labelled VU we are now able to classify the whole territory in a fuzzy way. Indeed, we apply a supervised classification based on a decision tree (*Fig. 2*-b) to obtain the

The decision tree is built after a learning step based on both topographic and image features. We use different kind of decision trees such as functional decision trees (FT) (Gama, 2005)

**Figure 2.** Learning on topographic and image data based on decision tree

## **2.4. The fuzzy model**

Now we have all necessary information to build the fuzzy model of the forest. The simplest model is to store the vector of the membership degree values in each VU. This is also the more precise model because we don't lose any data. But this model is not easily useful. In order to simplify the representation of the different transition gradients we decide to build different belts of membership degree values for each class. The spatial and topologic information used in the fuzzy classification process ensure the spatial coherence and compactness of the membership degree values. The models will differ from the number of belts and also the value of the threshold between the belts. These values will influence the treatments in two ways: *(i)* the more belts there is, the more precise are the results and the more time consuming are the treatments, *(ii)* the values of the threshold allow focusing on some parts of the transition.

Raster and Vector Integration for Fuzzy Vector Information Representation Within GIS 27

**Figure 5.** Different fuzzy vectorial respresentation of class 9 with 10 buffers

**2.5. Validation and strict view of the model** 

direction.

polygons.

1996 (Rousteau, 1996).

The choice of the number and positions of the belts is made by the user depending on the application. These values could be set manually or automatically computed using rules such as: natural breaks, equal intervals, geometrical interval, standard deviation, etc. This fuzzy data structure allows a fine and faithful representation of the heterogeneous evolution of the class in each direction. Indeed this model translate this property because the heterogeneity of the different information layers used (resulting on VU with totally different shapes) leads to a non uniform evolution of the membership degrees in each

Moreover, the choice of the thresholds influences the topology of the model and some resulting belts could be a unique connected polygon or on contrary a set of disjointed

The only way to validate the model is to compare it to an existing model. However there isn't any fuzzy model of the studied classes. So in order to validate the model we are going to compare a strict view of the model with an existing strict classification of the concerned forests. The referred classification is an ecological map obtained manually by biologists in

*Fig. 6* shows in left the reference map and in right the map obtained with a conversion of the fuzzy map into a strict map. The conversion has been made in the simplest way by

So we will now see different ways to set the belts. *Fig. 4* and *Fig. 5* show different fuzzy representations of the class number 9. The differences are linked to the number of belts (5 for *Fig. 4* and 10 for *Fig. 5*) and their positions: uniformly distributed (left), centred on most representated values (middle), centered on highest membership degree values (right).

**Figure 4.** Different fuzzy vectorial respresentation of a class 9 with 5 buffers

**Figure 5.** Different fuzzy vectorial respresentation of class 9 with 10 buffers

Now we have all necessary information to build the fuzzy model of the forest. The simplest model is to store the vector of the membership degree values in each VU. This is also the more precise model because we don't lose any data. But this model is not easily useful. In order to simplify the representation of the different transition gradients we decide to build different belts of membership degree values for each class. The spatial and topologic information used in the fuzzy classification process ensure the spatial coherence and compactness of the membership degree values. The models will differ from the number of belts and also the value of the threshold between the belts. These values will influence the treatments in two ways: *(i)* the more belts there is, the more precise are the results and the more time consuming are the treatments, *(ii)* the values of the threshold allow focusing on

So we will now see different ways to set the belts. *Fig. 4* and *Fig. 5* show different fuzzy representations of the class number 9. The differences are linked to the number of belts (5 for *Fig. 4* and 10 for *Fig. 5*) and their positions: uniformly distributed (left), centred on most representated values (middle), centered on highest membership degree values

**Figure 4.** Different fuzzy vectorial respresentation of a class 9 with 5 buffers

**2.4. The fuzzy model** 

some parts of the transition.

(right).

The choice of the number and positions of the belts is made by the user depending on the application. These values could be set manually or automatically computed using rules such as: natural breaks, equal intervals, geometrical interval, standard deviation, etc. This fuzzy data structure allows a fine and faithful representation of the heterogeneous evolution of the class in each direction. Indeed this model translate this property because the heterogeneity of the different information layers used (resulting on VU with totally different shapes) leads to a non uniform evolution of the membership degrees in each direction.

Moreover, the choice of the thresholds influences the topology of the model and some resulting belts could be a unique connected polygon or on contrary a set of disjointed polygons.

## **2.5. Validation and strict view of the model**

The only way to validate the model is to compare it to an existing model. However there isn't any fuzzy model of the studied classes. So in order to validate the model we are going to compare a strict view of the model with an existing strict classification of the concerned forests. The referred classification is an ecological map obtained manually by biologists in 1996 (Rousteau, 1996).

*Fig. 6* shows in left the reference map and in right the map obtained with a conversion of the fuzzy map into a strict map. The conversion has been made in the simplest way by

attributing to each VU the class label of the class having the highest membership degree value. Areas in white in the map are not taken into account in the classification. The main confusion is made between classes 9 and 12 in the east part of the Island.

Raster and Vector Integration for Fuzzy Vector Information Representation Within GIS 29

Now we are interested on the transition between classes and want to focus on wide transition area in order to eventually decide to create transition classes. *Fig. 8* shows different transitions between classes. We display in black all areas were the membership degree has a value under a fixed threshold. So in the first map, only few areas have a reliable coefficient under *0.5*, and in the third map more areas but relatively few are under *0.9* or *0.95*. These results tend to show that this uncertainty is relative low concerning the classes and that the transition gradient is high, that is to say that we quickly go from one

We also observe that the width of the transition is not the same between every forest (for example compare transition between blue and green classes and between red and orange classes). This illustrates the good and attended property of the model which should translate

This first part of the chapter shows a new fuzzy model to represent data having diffuse and uncertain limits. The advantage of this model is that *(i)* it doesn't require a rasterisation of the data which implies a loss of precision *(ii)* it doesn't treat every transition in the same way and allows different transition width *(iii)* the model is enough flexible to be adapted for different applications. The building of the model uses a raster-vector cooperation to define the features during the classification process but the model is based on a vector

It has been successfuly apply to forest modelling and classification and gives results close to

This step aims to refine the Vector Units (VU) by using the Raster information computed on

At this step, we consider that the VU couldn't be refined using external vector information. This could be the case if all vector layers have been used to produce the VU

each Raster Unit (RU) separately (Grandchamp, 2009), (Grandchamp, 2010).

forest to another.

**Figure 8.** Full transition classes

reperesentation.

**3.1. Principe** 

the reality of the transition which is heterogeneous.

a reference manual classification made by biologists.

**3. Vector unit refinement using raster information** 

**Figure 6.** Strict classification comparison

Fig. 7 shows a zoom of the map on a particularly complex area: the National parc. We observe the similarity of the two maps with a localisation of the forest at the attended places. Fig. 7 -c) shows the differences (inblack) between the ecologic map and the strict classification. The differences are localized at the limits between each kind of forest and this is exactly what is criticable in a strict classification of diffuse data. Taking into account that the map on the left (Fig. 7 -a) has been made manually with arbitrary decision concerning the limits of the forest and that the map in the middle (Fig. 7 -b) is the result of a complex and complete modelling, learning and classification process we can estimate that the results are of good quality.

**Figure 7.** Resulting strict classification zoomed on Natural parc of Guadeloupe

Now we are interested on the transition between classes and want to focus on wide transition area in order to eventually decide to create transition classes. *Fig. 8* shows different transitions between classes. We display in black all areas were the membership degree has a value under a fixed threshold. So in the first map, only few areas have a reliable coefficient under *0.5*, and in the third map more areas but relatively few are under *0.9* or *0.95*. These results tend to show that this uncertainty is relative low concerning the classes and that the transition gradient is high, that is to say that we quickly go from one forest to another.

We also observe that the width of the transition is not the same between every forest (for example compare transition between blue and green classes and between red and orange classes). This illustrates the good and attended property of the model which should translate the reality of the transition which is heterogeneous.

**Figure 8.** Full transition classes

28 Application of Geographic Information Systems

**Figure 6.** Strict classification comparison

are of good quality.

attributing to each VU the class label of the class having the highest membership degree value. Areas in white in the map are not taken into account in the classification. The main

Fig. 7 shows a zoom of the map on a particularly complex area: the National parc. We observe the similarity of the two maps with a localisation of the forest at the attended places. Fig. 7 -c) shows the differences (inblack) between the ecologic map and the strict classification. The differences are localized at the limits between each kind of forest and this is exactly what is criticable in a strict classification of diffuse data. Taking into account that the map on the left (Fig. 7 -a) has been made manually with arbitrary decision concerning the limits of the forest and that the map in the middle (Fig. 7 -b) is the result of a complex and complete modelling, learning and classification process we can estimate that the results

**Figure 7.** Resulting strict classification zoomed on Natural parc of Guadeloupe

confusion is made between classes 9 and 12 in the east part of the Island.

This first part of the chapter shows a new fuzzy model to represent data having diffuse and uncertain limits. The advantage of this model is that *(i)* it doesn't require a rasterisation of the data which implies a loss of precision *(ii)* it doesn't treat every transition in the same way and allows different transition width *(iii)* the model is enough flexible to be adapted for different applications. The building of the model uses a raster-vector cooperation to define the features during the classification process but the model is based on a vector reperesentation.

It has been successfuly apply to forest modelling and classification and gives results close to a reference manual classification made by biologists.

## **3. Vector unit refinement using raster information**

## **3.1. Principe**

This step aims to refine the Vector Units (VU) by using the Raster information computed on each Raster Unit (RU) separately (Grandchamp, 2009), (Grandchamp, 2010).

At this step, we consider that the VU couldn't be refined using external vector information. This could be the case if all vector layers have been used to produce the VU

or if the adjunction of any other vector information haven't any sense (for semantic reasons or else) (Gahegan, 2008). For example if we split environmental VU with administrative borders. We also remind that a VU is a uniform area according to some specific vector information and that we expect that the VU will also have a uniform visual aspect. If not, or if we are looking for some specific area within a VU we have to split it into sub-VU.

Raster and Vector Integration for Fuzzy Vector Information Representation Within GIS 31

and textures features (over each color band too): co-occurrence matrices (Gotlieb, 1991), Gabor filters (Manjunath, 2010), Laws filters (Laws, 1980), Hue moments (Hu, 1962) and fractal dimension (Mandelbrot, 1977). There is a total of 25 normalized features including geometrical, statistical, frequential and fractal description of the RU (Abadi, 2008), (Scarpa,

Then the decision to split or not the VU depends on an empirical threshold of the homogeneity coefficient. In this case, the threshold has been set to 0.6 leading to one non

Now we will localize and extract the sub-VU by analyzing the spectral and structural information contained in the RU. In this case, a semi-supervised classification is applied on the non homogenous RU extraction (*Fig. 9* a). We use a K-Nearest-Neighbour (KNN) algorithm and set the number of classes to 3, with the aim to obtain classes corresponding to shadow, main ecosystem and secondary ecosystem. The *Fig. 9*-b) shows the classification results after a filtering post-treatment to eliminate isolated pixels. The class repartition is as follow: class 1 in blue (81%), class 2 in red (13,8%) and class 3 in

The interesting sub-RU is identified has being the class 3 and corresponding to the a deforestation (*Fig. 9*-c). The identification has been made manually taking into account expert knowledge and environmental information. For example, this sub-VU could be a landslide or a deforestation, the choice has been made according to the slope of the Unit.

homogenous unit (*Fig. 8*-d) with a coefficient of 0.37.

**Figure 9.** Non uniform VU localisation

Then a sub-VU is produced (*Fig. 9*-d).

yellow (5,2%).

2006).

So the only way to split the VU into sub-VU is to use the Raster information (satellite images, airborne images, etc.). Let us now consider two cases leading to the same process. Firstly we are looking for some specific objects within a VU and we hope their spectral or structural information is enough discriminating to detect them. Secondly we detect a non homogenous VU (regarding criterions detailed later) and we hope the homogenous subareas are semantically significant. In both cases, we make the hypothesis that the spectral or structural information contained in the raster view of the unit is helpful to split it into sub-VU.

The process is based on an homogenous criterion computed on some specific features describing the spectral or structural information of the image. As a VU has a semantic signification and a small size it's often not divisible using its raster view if there is no external phenomenon which interact with the unit. Nevertheless, if the unit has been altered it's often composed of a main sub-VU representing the most important part of the VU, one (or at most two) sub-VU having a semantic definition (in the case of ecological units, they are linked to landslide, deforestation, etc.) and a reject sub-unit composed of non identified or useless area (such as shadow).

The localisation and identification of the sub-VU are done in two main ways. Firstly in a supervised way, where both localisation and identification are done at the same time by a semantic and numeric definition of each sub-VU. We use in this case a classifier where each class is a sub-VU. Secondly in a semi-supervised or unsupervised way by applying a clustering method where at most the number of clusters is set. In this way, the identification must be done in a second step.

#### **3.2. Process**

We will now present the details of this Raster-Vector cooperation. Starting from a raw image (*Fig. 8*-a), and a vector splitting of the space (*Fig. 8*-b), we fuse both information (*Fig. 8*-c). The image is an extract of a very high resolution IKONOS satellite image (1m resolution) allowing an accurate classification (Gougeon, 2001) of vegetation (Junying, 2005), (Yu, 2006), (Johansen, 2007).

We compute an homogeneity coefficient on each Raster Unit (RU) (*Fig. 8*-d) in order to localise and later split the non uniform ones. The homogeneity coefficient is based on the measure of the compactness of the feature vectors computed on each pixel of the RU. This vector is composed of mean and standard deviation of each Color band (Angwine, 1998) and textures features (over each color band too): co-occurrence matrices (Gotlieb, 1991), Gabor filters (Manjunath, 2010), Laws filters (Laws, 1980), Hue moments (Hu, 1962) and fractal dimension (Mandelbrot, 1977). There is a total of 25 normalized features including geometrical, statistical, frequential and fractal description of the RU (Abadi, 2008), (Scarpa, 2006).

Then the decision to split or not the VU depends on an empirical threshold of the homogeneity coefficient. In this case, the threshold has been set to 0.6 leading to one non homogenous unit (*Fig. 8*-d) with a coefficient of 0.37.

30 Application of Geographic Information Systems

or useless area (such as shadow).

must be done in a second step.

**3.2. Process** 

(Johansen, 2007).

into sub-VU.

VU.

or if the adjunction of any other vector information haven't any sense (for semantic reasons or else) (Gahegan, 2008). For example if we split environmental VU with administrative borders. We also remind that a VU is a uniform area according to some specific vector information and that we expect that the VU will also have a uniform visual aspect. If not, or if we are looking for some specific area within a VU we have to split it

So the only way to split the VU into sub-VU is to use the Raster information (satellite images, airborne images, etc.). Let us now consider two cases leading to the same process. Firstly we are looking for some specific objects within a VU and we hope their spectral or structural information is enough discriminating to detect them. Secondly we detect a non homogenous VU (regarding criterions detailed later) and we hope the homogenous subareas are semantically significant. In both cases, we make the hypothesis that the spectral or structural information contained in the raster view of the unit is helpful to split it into sub-

The process is based on an homogenous criterion computed on some specific features describing the spectral or structural information of the image. As a VU has a semantic signification and a small size it's often not divisible using its raster view if there is no external phenomenon which interact with the unit. Nevertheless, if the unit has been altered it's often composed of a main sub-VU representing the most important part of the VU, one (or at most two) sub-VU having a semantic definition (in the case of ecological units, they are linked to landslide, deforestation, etc.) and a reject sub-unit composed of non identified

The localisation and identification of the sub-VU are done in two main ways. Firstly in a supervised way, where both localisation and identification are done at the same time by a semantic and numeric definition of each sub-VU. We use in this case a classifier where each class is a sub-VU. Secondly in a semi-supervised or unsupervised way by applying a clustering method where at most the number of clusters is set. In this way, the identification

We will now present the details of this Raster-Vector cooperation. Starting from a raw image (*Fig. 8*-a), and a vector splitting of the space (*Fig. 8*-b), we fuse both information (*Fig. 8*-c). The image is an extract of a very high resolution IKONOS satellite image (1m resolution) allowing an accurate classification (Gougeon, 2001) of vegetation (Junying, 2005), (Yu, 2006),

We compute an homogeneity coefficient on each Raster Unit (RU) (*Fig. 8*-d) in order to localise and later split the non uniform ones. The homogeneity coefficient is based on the measure of the compactness of the feature vectors computed on each pixel of the RU. This vector is composed of mean and standard deviation of each Color band (Angwine, 1998) Now we will localize and extract the sub-VU by analyzing the spectral and structural information contained in the RU. In this case, a semi-supervised classification is applied on the non homogenous RU extraction (*Fig. 9* a). We use a K-Nearest-Neighbour (KNN) algorithm and set the number of classes to 3, with the aim to obtain classes corresponding to shadow, main ecosystem and secondary ecosystem. The *Fig. 9*-b) shows the classification results after a filtering post-treatment to eliminate isolated pixels. The class repartition is as follow: class 1 in blue (81%), class 2 in red (13,8%) and class 3 in yellow (5,2%).

The interesting sub-RU is identified has being the class 3 and corresponding to the a deforestation (*Fig. 9*-c). The identification has been made manually taking into account expert knowledge and environmental information. For example, this sub-VU could be a landslide or a deforestation, the choice has been made according to the slope of the Unit. Then a sub-VU is produced (*Fig. 9*-d).

Raster and Vector Integration for Fuzzy Vector Information Representation Within GIS 33

In a second part, this chapter deals with the use of raster features to split VU into sub-VU. The raster features are used to evaluate the homogeneity of the VU and in case of insufficient homogeneity to localise the region of interest in order to produce new sub-VU.

These two raster-vector cooperations are ways to produce flexible and useful information. They have been successfully used to classify the forest of a Caribbean Island named

Some improvement could be done concerning the model and particularly concerning the thresholds to define the different fuzzy belts. But the possibility to store the membership

Concerning the use of raster information to subdivide VU, a comparison (or a combination) with object oriented classification could be done (Maillot, 2008), (Forestier, 2008), (Hudelot, 2008). Object oriented classifications directly start with the raw images divided into elementary raster units (RU) according to a segmentation process (such as Watershed). The main drawback of this approach is the lack of semantic of the RU and the difficulty to

Abadi, M., Phd Thesis, 2008, Couleur et texture pour la représentation et la classification

Altman, D., 1994, Fuzzy set theoretic approaches for handling imprecision in spatial

Angwine, S. J., and Horne, R. E. N, 1998,. The colour Image Processing Handbook (oelectronics, Imaging and Sensing). Springer-Verlag New York, Inc., Secaucus, NJ,

Baglioni M., et al., 2008, "Ontology-supported Querying of Geographical Databases", In

Benz, U., and al., 2004, Multi-resolution, object-oriented fuzzy analysis of remote sensing data for GIS-ready information, *ISPRS Journal of Photogrammetry & Remote Sensing, Vol.* 

Bjorke, J. T., 2004,Topological relations between fuzzy regions: derivation of verbal terms,

Bloch I. et al., 2006, "Modeling the spatial relation *between* for objects with very different spatial extensions", In Proceedings of Reconnaissance des Formes et Intelligence

analysis, Internat. J. Geographical Inform. Systems 8 (3) (1994) 271–289.

degree vectors in each VU allows producing as much fuzzy models as required.

Guadeloupe and to localise landslide within its Natural parc.

retrieve semantically defined objects.

*University of Antilles and Guyana, France, Guadeloupe* 

Transactions in GIS, vol. 12, issue s1, pp. 31–44,

d'images satellite multi-résolutions,

Fuzzy Sets and Systems 141 449–467

Artificielle (RFIA'06), Tours, France,

**Author details** 

**5. References** 

USA

58, pp 239– 258

Enguerran Grandchamp

**Figure 10.** Vector Unit splitting using raster information

The use of raster information to both evaluate the homogenity of the VU and to split the VU into sub-VU is an efficient way to produce new vector information. The predivision of the image with the VU combined with the homogeneity evaluation considerably reduce the complexity of the classification problem by replacing the classification of the whole image by a selection of reduced classifications applied to non homogeneous RU.

The main problem of this process is the threshold the user has to fixe to decide to split or not a RU. A common way to use this tool and which avoids fixing the threshold is to sort the units according to their homogenity value and to let the operator take the decision. Indeed, as a post identification of the sub-VU must be done by an operator, the best way is to let him appreciate the relevance of a sub division.

## **4. Conclusion**

This chapter presents in a first part a vector model for fuzzy data sets within a GIS and in a second part a raster and vector cooperation to divide the space into elementary units represented in a vector way and called Vector Units (VU). The fuzzy vector model offers a new way to represent data which have diffuse borders without the limitations of classical approach which are based on a rasterisation of the information or on a regular evolution of the transitions in each direction. This model tries to combine both the flexibility of the vector representation and the accuracy of the raster representation. This fuzzy model allows revealing full transition classes that a strict model doesn't allow. The raster-vector cooperation is linked to the mixing of both raster features (colour or textures) and vector features (humidity, elevation, etc.).

In a second part, this chapter deals with the use of raster features to split VU into sub-VU. The raster features are used to evaluate the homogeneity of the VU and in case of insufficient homogeneity to localise the region of interest in order to produce new sub-VU.

These two raster-vector cooperations are ways to produce flexible and useful information. They have been successfully used to classify the forest of a Caribbean Island named Guadeloupe and to localise landslide within its Natural parc.

Some improvement could be done concerning the model and particularly concerning the thresholds to define the different fuzzy belts. But the possibility to store the membership degree vectors in each VU allows producing as much fuzzy models as required.

Concerning the use of raster information to subdivide VU, a comparison (or a combination) with object oriented classification could be done (Maillot, 2008), (Forestier, 2008), (Hudelot, 2008). Object oriented classifications directly start with the raw images divided into elementary raster units (RU) according to a segmentation process (such as Watershed). The main drawback of this approach is the lack of semantic of the RU and the difficulty to retrieve semantically defined objects.

## **Author details**

32 Application of Geographic Information Systems

**Figure 10.** Vector Unit splitting using raster information

appreciate the relevance of a sub division.

features (humidity, elevation, etc.).

**4. Conclusion** 

The use of raster information to both evaluate the homogenity of the VU and to split the VU into sub-VU is an efficient way to produce new vector information. The predivision of the image with the VU combined with the homogeneity evaluation considerably reduce the complexity of the classification problem by replacing the classification of the whole image

The main problem of this process is the threshold the user has to fixe to decide to split or not a RU. A common way to use this tool and which avoids fixing the threshold is to sort the units according to their homogenity value and to let the operator take the decision. Indeed, as a post identification of the sub-VU must be done by an operator, the best way is to let him

This chapter presents in a first part a vector model for fuzzy data sets within a GIS and in a second part a raster and vector cooperation to divide the space into elementary units represented in a vector way and called Vector Units (VU). The fuzzy vector model offers a new way to represent data which have diffuse borders without the limitations of classical approach which are based on a rasterisation of the information or on a regular evolution of the transitions in each direction. This model tries to combine both the flexibility of the vector representation and the accuracy of the raster representation. This fuzzy model allows revealing full transition classes that a strict model doesn't allow. The raster-vector cooperation is linked to the mixing of both raster features (colour or textures) and vector

by a selection of reduced classifications applied to non homogeneous RU.

Enguerran Grandchamp *University of Antilles and Guyana, France, Guadeloupe* 

## **5. References**


V.V., 2001, Cross, Fuzzy extensions for relationships in a generalized object model, International Journal on Intelligent Systems 16 843–861.

Raster and Vector Integration for Fuzzy Vector Information Representation Within GIS 35

Hudelot, C., Atif, J., and Bloch, I., 2008, "Ontologie de relations spatiales floues pour le raisonnement spatial dans les images", In proceedings of Représentation et

Johansen, K., and al., 2007, Application of high spatial resolution satellite imagery for riparian and forest ecosystem classification, Remote Sensing of Environment, Vol. 110,

Jones C. B. et al., 2002, "Spatial Information Retrieval and Geographical Ontologies: An Overview of the SPIRIT project", In Special Interest Group on Information Retrieval

Junying, C., Qingjiu, T., 2005, Vegetation classification model based on high-resolution satellite imagery, Proceedings of SPIE, Remote sensing of the environment, 19-23

Karimi, M., and al., 2008, Preparing Mineral Potential Map Using Fuzzy Logic In GIS Environment, *The International Archives of the Photogrammetry, Remote Sensing and Spatial* 

Kavouras, M., Kokla, M., and Tomai, E., 2005, "Comparing categories among geographic

Kimfung L., Wenzhong S., 2009, Quantitative fuzzy topological relations of spatial objects by induced fuzzy topology, *International Journal of Applied Earth Observation and* 

Laws, K. I., 1980, Rapid texture identification. In SPIE Image Processing for Missile

Lewinski, S., Zaremski, K., 2004, Examples of Object Oriented Classification Performed On

Maillot, N. E., and Thonnat, M., 2008, "Ontology based complex object recognition", In

Mukhopadhyay, B., 2002, Integrating exploration dataset in GIS using fuzzy inference

Quinlan, R., 1993, C4.5: Programs for Machine Learning. Morgan Kaufmann Publishers, San

Rodriguez, M. A., and Egenhofer, M., 2003, "Determining semantic similarity among entity classes from different ontologies", In IEEE Transactions on Knowledge and Data

Rousteau, A., 1996, Carte écologique de la Guadeloupe. 3 feuilles au 1/75.000ème et notice (36 p.). *Conseil Général de la Guadeloupe, Office National des Forêts et Parc National de la* 

Ruiz, C., and al, 2007, The Development of a New Methodology Based on GIS and Fuzzy Logic to Locate Sustainable Industrial Areas, *10th AGILE International Conference on* 

Mandelbrot, B. B., 1977 Fractals: Form, Chance and Dimension. W. H. Freeman and Co. Manjunath, B. S., and Ma, W. Y, 1996. Texture features for browsing and retrieval of image

Raisonnement sur le Temps et l'Image (RTE),

(SIGIR), ACM Press, pp.387 – 388, Finland,

Kainz, Introduction to Fuzzy Logic and Applications in GIS – Example,

ontologies", In Computers and Geosciences, vol 31, pp 145–54,

High Resolution Satellite Images. *Miscellanea Geographica*. Volume 11.

*Information Sciences. Vol. XXXVII. Part B8. Beijing 2008* 

Image and Vision Computing, vol 26, pp 102–113,

data. IEEE Trans. Pattern Anal. Mach. Intell. 18, 8, 837–842.

August, Guiyang City, China

*Geoinformation*, vol. 11 38–45

modeling, GISdevelopment

Engineering, vol. 15, pp. 442– 56,

*Geographic Information Science*

Mateo, CA.

*Guadeloupe*.

Guidance 238, 376–380.

No. 1., pp. 29-44


309–31,

209, Berlin

Trees.

issue 6, pp. 713-732,

access: 17/01/2011,

Transactions on 8, 2, 179–187.

V.V., 2001, Cross, Fuzzy extensions for relationships in a generalized object model,

Cruz, I., Sunna, W., and Ayloo, K., 2005, "Concept-level matching of geospatial ontologies",

Egenhofer, M., and Franzosa, R. D., 1991, "Point-Set Topological Spatial Relations", In International Journal of Geographical Information Systems, vol. 5(2), pp. 161-174, Fisher, P., 2000, Sorites paradox and vague geographies, Fuzzy Sets and Systems 113,7–18. Fonseca, F., Egenhofer, and al., 2002, "Using ontologies for integrated geographic

Fonseca, F., Camara, G., and Monteiro, M., 2006, "A framework for measuring the interoperability of geo-ontologies", In Spatial Cognition and Computation, vol. 6, pp.

Fonseca, F., Rodríguez, M. A., and Levashkin, S., 2007, "Building geospatial ontologies from geographical databases", In Proceedings of the International Conference on GeoSpatial Semantics (GeoS 2007), Springer Lecture Notes in Computer Science, vol. 4853, pp. 195–

Forestier, G., Derivaux, S., Wemmert C. and Gançarski, P., 2008, "An Evolutionary Approach for Ontology Driven Image Interpretation", In Proceedings of the International Conference on Applications of Evolutionary Computation (Evo'08),

Gahegan, M., et al., 2008, "A Platform for Visualizing and Experimenting with Measures of Semantic Similarity", In Ontologies and Concept Maps, Transactions in GIS, vol. 12

Gama, J, 2005, Functional Trees. Niels Landwehr, Mark Hall, Eibe Frank. Logistic Model

Gougeon, A., and al, 2001, Individual Tree Crown Image Analysis – A Step Towards

Grandchamp, E., 2009, GIS information layer selection directed by remote sensing for

Guo, D., Guo, R., Thiart, C., 2004, Integrating GIS with Fuzzy Logic and Geostatistics:

"http://dip.semanticweb.org/documents/D9-3-improved-eGovernment.pdf ", last

Hu, M.-K, 1962, Visual pattern recognition by moment invariants. Information Theory, IEEE

Grandchamp,E., 2010, Raster-vector cooperation algorithm for GIS, *GeoProcessing*

Grandchamp,E., 2011, Specification for a Shared Conceptual Layer in GIS, *GeoProcessing* Guesgen, H. W., and Albrecht, J, 2000, "Imprecise reasoning in geographic information

Gary L., 2010, New fuzzy logic tools in ArcGIS 10, Raines and al., ESRI Communication, Gotlieb, C. C., and Kreyszig, H. E, 1991 Texture descriptors based on cooccurrence matrices.

Computer Vision Graphic Image Process 51, 1, 70–86.

systems", In Fuzzy Sets and Systems, vol. 113, pp. 121-131,

Predicting Air Pollutant PM10 for California, Using Fuzzy Kriging Gutierrez, L., 2006, "WP 9: Case study eGovernment D9.9 GIS ontology,

Precision Forestry. Natural Resources Canada,

ecological unit delineation, *IGARSS*

Springer, Lecture Notes in Computer Sciences, vol. 4974, pp 295--304, Italy,

International Journal on Intelligent Systems 16 843–861.

information systems", In Transactions in GIS, vol. 6, pp. 231–57,

In Proceedings of GISPlanet, Lisbon, Portugal,


Sawatzky, D., and al., 2008, Spatial Data Modeller, Technical Report,

Scarpa, G. Haindl, M., and Zerubia, J., 2006, Hierarchical finite state modeling for texture segmentation with application to forest classification. Research Report 6066, INRIA, France,

**Chapter 0**

**Chapter 3**

**Map Updates in a Dynamic Voronoi Data Structure**

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

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

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 model1" with global

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

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

> ©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

©2012 Mioc et al., licensee InTech. This is a paper 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.

changes of map states is considered to be a basis of any spatio-temporal model [6].

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

locations, dates, and attributes.

evolution of the spatial objects.

queries [41] and interactive spatial updates [45].

<sup>1</sup> The snapshot model is a map at a single moment in time.

cited.

**1. Introduction**

impossible [37].


http://www.loa-cnr.it/Papers/FOIS98.pdf, last access : 17/01/2011,


## **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**

36 Application of Geographic Information Systems

Springer, Berlin, pp. 330–351.

Smith, B., 2001, "Ontology and information systems",

Imprecision. Interfacing GeoStatistics and GIS

ESRI International User Conference

GIS, vol. 12, issue 1, pp. 103–130,

Soil Sci. Soc. Am. J. 65:1463–1472

Sensing Vol. 72, No. 7, July 2006, pp. 799–81

France,

709–726,

170, Brazil

01/09/2011

Sawatzky, D., and al., 2008, Spatial Data Modeller, Technical Report,

http://www.loa-cnr.it/Papers/FOIS98.pdf, last access : 17/01/2011,

Retrieval", In Transactions in GIS, vol. 11, issue 3, pp. 355–376,

Scarpa, G. Haindl, M., and Zerubia, J., 2006, Hierarchical finite state modeling for texture segmentation with application to forest classification. Research Report 6066, INRIA,

Schneider, M., 1999, Uncertainty management for spatial data in databases: fuzzy spatial data types, in: *Advances in Spatial Databases, Lecture Notes in Computer Science*, vol. 1651,

Schuurman, N., et al., 2006, "Ontology-Based Metadata", In Transactions in GIS, vol. 10, pp.

Sunila, R., 2004, Fuzzy modelling and Kriging for modelling imprecise soil polygon boundaries. Proceedings 12th International Conference on Geoinformatics-Geospatial Information Research: Bridging the Pacific and Atlantic, Gävle, Sweden, pp. 489 – 495 Sunila, R., and Horttanainen, P., 2009, Fuzzy Model of Soil Polygons for Managing the

Viegas, R., and Soares, V., 2006, "Querying a Geographic Database using an Ontology-Based Methodology", In Brazilian Symposium on GeoInformatics (GEOINFO 2006), pp. 165-

Wiegand, N., et al., 2007, "A Task-Based Ontology Approach to Automate Geospatial Data

Wolfgang Kainz, Fuzzy Logic and GIS, book chapter 1. Web document, last access

Yanar, T. A., and Akyürek, Z., 2004, The Enhancement of ArcGIS with Fuzzy Set Theory

Yu, Q., and al., 2006, Object-based Detailed Vegetation Classification with Airborne High Spatial Resolution Remote Sensing Imagery, Photogrammetric Engineering & Remote

Zandbergen, P.A., 2008, "Positional Accuracy of Spatial Data: Non-Normal Distributions and a Critique of the National standard for Spatial Data Accuracy", In Transactions in

Zhu, A. X., and al., 2001, Soil Mapping Using GIS, Expert Knowledge, and Fuzzy Logic, ,

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 model1" 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.

<sup>1</sup> 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. ©2012 Mioc et al., licensee InTech. This is a paper 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.

#### 2 Will-be-set-by-IN-TECH 38 Application of Geographic Information Systems Map Updates in a Dynamic Voronoi Data Structure <sup>3</sup>

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

The "batch processing" of spatial data cannot support incremental (local) addition and deletion 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 the

Map Updates in a Dynamic Voronoi Data Structure 39

The snapshot model of map time [6] was always emphasized by cartographers, resulting in current commercial GIS models. Current GISs can represent a space evolving in time only through a series of map snapshots. The snapshot approach of traditional geographic information systems, where independent coverages are generated for each time step, cannot easily maintain the incremental changes of cartographic data evolving in space and time. The limitations of this approach include high data redundancy, due to the inability of conventional GIS models to support incremental changes, causing difficulties in the maintenance of long

The snapshot model misses the key nature of change [6], which can be seen as a composition of 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-temporal processes. Map snapshots tend to be created independently at specific intervals, rather than incrementally, and thus there is no preservation of topological relationships between map elements in different time slices, and no effective way of determining the continuity of existence of map elements and their neighbours between snapshots. Although a snapshot method is an important capability, this historical model represents only a single point in time,

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

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 maintained in 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 long transactions in GIS, the loss of transactional semantics and possible database inconsistency problems [45], [46]. In his approach, the history of complex map objects can be obtained

<sup>2</sup> 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, with the edge record being the most important. The record for a vertex v stores v's coordinate position and a pointer to one arbitrary edge that is incident upon v. Likewise the record for a face f stores the name of f and a pointer to one

Pointers to the predecessor and the successor edges of e on the boundaries of f1 and f2 respectively. They are the so

Most importantly, just by following the appropriate pointers, one can traverse the boundary of a face in either clockwise or counterclockwise order in time proportional to the number of edges on the boundary. Likewise one can list all the edges incident upon a vertex v in clockwise or counterclockwise order in time proportional to their

arbitrary edge that lies on the boundary of f. The record for an edge e stores many fields including:

and does not reveal the sequence of events, or history of the area.

**2.2. Overview of recent research on spatio-temporal models**

snapshot or time-slicing approach in GIS.

series of cartographic snapshots [23].

error from change when using snapshots.

Pointers to the two vertex endpoints v1 and v2 of e. Pointers to the two faces f1 and f2 on either side of e.

Thus, the total number of pointers needed is | V | + | F | +8 | E |.

Source: http://www.ugrad.cs.ca/spider/cs414/winged-edge.html

called "wing edges".

number.

## **2. Previous research**

Several authors [25], [40], [5] proposed spatio-temporal data models based on extending existing GIS models, in order to include temporal information. The problem they faced is that most commercial GISs are closed systems which cannot be extended nor modified in order to include temporal information. Therefore, the solutions they propose are based on a "dual architecture" [45], which is composed of two subsystems: a commercial GIS and a relational DBMS. Van Oosterom [46] emphasized the problem of the complexity of the maintenance of the proposed spatio-temporal data models.

There are several spatio-temporal functionalities such as retroactive map updates [20] and the incorporation of temporal data without exact temporal information [7] that cannot be handled with such hybrid models. Another problem with existing GISs, is that the semantics of map topology construction [46] are lost. This problem is better known under the term of "long transactions in GIS" [38]. This is due to complex models of spatial topology which need to be processed globally after being updated. When a map is processed in batch mode, its topology is built, and it is not possible to go back to previous states, nor to reuse the past map states, because the information about spatio-temporal objects and the operations that have been 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 or days, 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 "long transactions" (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 also state that short transactions are required for problems such as emergency planning, vehicle tracking, fault logging, and other real-time system problems.

The problem of long transactions is so acute (time consumption, database inconsistency problems, etc.), that the underlying problem is not well defined. The problem lies in the fact that "dynamic topology" [14] is not used: geometric algorithms cannot be executed interactively 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 commercial GISs. The "batch processing" of static spatial topology used by line intersection based spatial systems does not support mechanisms for recording incremental change and poses a serious problem for the integration of temporal data inside GISs.

The "batch processing" of spatial data cannot support incremental (local) addition and deletion 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 the snapshot or time-slicing approach in GIS.

The snapshot model of map time [6] was always emphasized by cartographers, resulting in current commercial GIS models. Current GISs can represent a space evolving in time only through a series of map snapshots. The snapshot approach of traditional geographic information systems, where independent coverages are generated for each time step, cannot easily maintain the incremental changes of cartographic data evolving in space and time. The limitations of this approach include high data redundancy, due to the inability of conventional GIS models to support incremental changes, causing difficulties in the maintenance of long series of cartographic snapshots [23].

The snapshot model misses the key nature of change [6], which can be seen as a composition of 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-temporal processes. Map snapshots tend to be created independently at specific intervals, rather than incrementally, and thus there is no preservation of topological relationships between map elements in different time slices, and no effective way of determining the continuity of existence of map elements and their neighbours between snapshots. Although a snapshot method 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 measured with some error. When the map overlay is used to compute differences between these two maps [6], the errors are confounded with the actual changes, and it is difficult to distinguish error 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 maintained in 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 long transactions in GIS, the loss of transactional semantics and possible database inconsistency problems [45], [46]. In his approach, the history of complex map objects can be obtained

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

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

Several authors [25], [40], [5] proposed spatio-temporal data models based on extending existing GIS models, in order to include temporal information. The problem they faced is that most commercial GISs are closed systems which cannot be extended nor modified in order to include temporal information. Therefore, the solutions they propose are based on a "dual architecture" [45], which is composed of two subsystems: a commercial GIS and a relational DBMS. Van Oosterom [46] emphasized the problem of the complexity of the maintenance of

There are several spatio-temporal functionalities such as retroactive map updates [20] and the incorporation of temporal data without exact temporal information [7] that cannot be handled with such hybrid models. Another problem with existing GISs, is that the semantics of map topology construction [46] are lost. This problem is better known under the term of "long transactions in GIS" [38]. This is due to complex models of spatial topology which need to be processed globally after being updated. When a map is processed in batch mode, its topology is built, and it is not possible to go back to previous states, nor to reuse the past map states, because the information about spatio-temporal objects and the operations that have been 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 or days, 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 "long transactions" (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 also state that short transactions are required for problems such as emergency planning, vehicle

The problem of long transactions is so acute (time consumption, database inconsistency problems, etc.), that the underlying problem is not well defined. The problem lies in the fact that "dynamic topology" [14] is not used: geometric algorithms cannot be executed interactively upon spatial objects while maintaining topological relationships. Recently, several GIS researchers (Van Oosterom [45], [46], Chrisman [6], Newel and Batty [38], Kraak

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 commercial GISs. The "batch processing" of static spatial topology used by line intersection based spatial systems does not support mechanisms for recording incremental change and poses a serious

and spatio-temporal reasoning methods.

the proposed spatio-temporal data models.

tracking, fault logging, and other real-time system problems.

problem for the integration of temporal data inside GISs.

**2.1. A fundamental problem in GIS**

[23], [24]) tackled the same problem from several different perspectives.

**2. Previous research**

<sup>2</sup> 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, with the edge record being the most important. The record for a vertex v stores v's coordinate position and a pointer to one arbitrary edge that is incident upon v. Likewise the record for a face f stores the name of f and a pointer to one arbitrary 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 so called "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 either clockwise or counterclockwise order in time proportional to the number of edges on the boundary. Likewise one can list all the edges incident upon a vertex v in clockwise or counterclockwise order in time proportional to their number.

Source: http://www.ugrad.cs.ca/spider/cs414/winged-edge.html

#### 4 Will-be-set-by-IN-TECH 40 Application of Geographic Information Systems Map Updates in a Dynamic Voronoi Data Structure <sup>5</sup>

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: it does not work for splits, joins nor more complicated spatial editing, unless spatial overlay is performed. Within his data structure, retroactive map updates are not implemented, due to possible consistency problems.

Frank [7] provides a theoretical framework for spatio-temporal reasoning based on the relative order of events<sup>3</sup> and he proposed the integration of ordered event structures in a GIS. In his paper titled "Different Types of 'times' in GIS" [8], he made two very interesting points that will be further explored in this section. The first point is related to the exploration of the relations<sup>4</sup> between temporal order relations and the order relation in the lattice of partitions in geometric space [8], which he considered a challenging research question.

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

data structure and their changes in topology [33], [36],[35].

structure used is the Quad-Edge data structure [19].

triangulation) are stored in the Quad-Edge data structure - see [19].

Voronoi diagram.

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

Map Updates in a Dynamic Voronoi Data Structure 41

Gold [11], [18] developed a dynamic spatio-temporal data structure based on the Voronoi diagram for a set of points and line segments (also known as a line Voronoi diagram, see Figure 1). His data structure is dynamic: objects may be added to and removed from the data structure. This data structure is also kinematic: objects are created by splitting the nearest point into two and then moving the newly created object to its desired location, and deleted by 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 data structure [33]. In Section 3.2, we develop a formalism for specifying the operations upon this

The Voronoi diagram for a set of map objects (points and line segments) is the tessellation of space where each map object is assigned an influence zone (or Voronoi region), that is the set

The algorithm used to construct the Voronoi vertices has been described in [4]. The boundaries between 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, as developed by Gold [12], map objects (points and/or line segments) are stored as nodes of the dual spatial adjacency (topology) graph: the Delaunay triangulation. The underlying data

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

of points closer to that object than to any other object (see [39] and Figure 1).

The second point is related to the different spatio-temporal models that he described, which will now be mentioned briefly. Some of the models he describes are not explored (and implemented) yet in current GISs. An example of such models is the movement along a path5, that is an interaction between temporal and spatial reasoning. Another example of spatio-temporal model that cannot be implemented within current GISs is spatial data without precise temporal information, which has been described by Frank [8]. This example occurs often in history and geology related mapping, where some of the spatio-temporal sequences of the data are missing and need to be interpolated. Further, he stated a "need for more realistic 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 improvements of existing data. In other words, there is a need for retroactive updates in spatio-temporal models, and they are difficult to achieve. Gold [16] proposed another spatio-temporal model based on event ordering, which responds instantly to map construction commands given by the user, changing the state of map objects and their spatial topology, and storing all the changes in topological states. In the past few years, his research efforts showed that the Voronoi diagram offers "a more intelligent, more realistic, and semantically richer" model for spatial representation. In his model, based on the Voronoi diagram for sets of points and line segments, map topology states can be reconstructed at any time because all the operations on his data structure are reversible. The Voronoi diagram for sets of points and line segments is the generalization of the ordinary Voronoi diagram (for sets of points), where the set of sites may 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 ordinary point Voronoi diagram does not allow us to accurately model linear or areal objects (curves and surfaces) needed in many GIS applications.

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

<sup>4</sup> "*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 can be linearly ordered, but there is more than one possible solution (topological sorting). A special case of "a poset" is a lattice. The intersection of the successors of two points have a single earlier point. The same concept can be applied to a family of partitions of the plane, where the partitions of different levels of subdivisions form a lattice (ordered by a "refinement" relation).*" from [8]

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

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

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: it does not work for splits, joins nor more complicated spatial editing, unless spatial overlay is performed. Within his data structure, retroactive map updates are not implemented, due to

Frank [7] provides a theoretical framework for spatio-temporal reasoning based on the relative order of events<sup>3</sup> and he proposed the integration of ordered event structures in a GIS. In his paper titled "Different Types of 'times' in GIS" [8], he made two very interesting points that will be further explored in this section. The first point is related to the exploration of the relations<sup>4</sup> between temporal order relations and the order relation in the lattice of partitions

The second point is related to the different spatio-temporal models that he described, which will now be mentioned briefly. Some of the models he describes are not explored (and implemented) yet in current GISs. An example of such models is the movement along a path5, that is an interaction between temporal and spatial reasoning. Another example of spatio-temporal model that cannot be implemented within current GISs is spatial data without precise temporal information, which has been described by Frank [8]. This example occurs often in history and geology related mapping, where some of the spatio-temporal sequences of the data are missing and need to be interpolated. Further, he stated a "need for more realistic 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 improvements of existing data. In other words, there is a need for retroactive updates in spatio-temporal models, and they are difficult to achieve. Gold [16] proposed another spatio-temporal model based on event ordering, which responds instantly to map construction commands given by the user, changing the state of map objects and their spatial topology, and storing all the changes in topological states. In the past few years, his research efforts showed that the Voronoi diagram offers "a more intelligent, more realistic, and semantically richer" model for spatial representation. In his model, based on the Voronoi diagram for sets of points and line segments, map topology states can be reconstructed at any time because all the operations on his data structure are reversible. The Voronoi diagram for sets of points and line segments is the generalization of the ordinary Voronoi diagram (for sets of points), where the set of sites

in geometric space [8], which he considered a challenging research question.

may contain not only points, but points and line segments as well (see Figure 1).

Cartographic objects on maps are composed of points, curves and surfaces. The ordinary point Voronoi diagram does not allow us to accurately model linear or areal objects (curves

<sup>3</sup> Orderings of events in which it is not known for every event if it is before or after another one are called partial orderings [8]. Completely ordered sets of events are known as totally ordered [8] with a single viewpoint of all events. <sup>4</sup> "*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 can be linearly ordered, but there is more than one possible solution (topological sorting). A special case of "a poset" is a lattice. The intersection of the successors of two points have a single earlier point. The same concept can be applied to a family of partitions of the plane, where the partitions of different levels of subdivisions form a lattice (ordered by a "refinement" relation).*" from [8] <sup>5</sup> Movement along a path is one of the facilities needed in GIS, for applications related to emergency planing, robotics,

**3. The dynamic spatial Voronoi data structure**

and surfaces) needed in many GIS applications.

and marine GIS.

possible consistency problems.

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

Gold [11], [18] developed a dynamic spatio-temporal data structure based on the Voronoi diagram for a set of points and line segments (also known as a line Voronoi diagram, see Figure 1). His data structure is dynamic: objects may be added to and removed from the data structure. This data structure is also kinematic: objects are created by splitting the nearest point into two and then moving the newly created object to its desired location, and deleted by 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 data structure [33]. In Section 3.2, we develop a formalism for specifying the operations upon this data 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 of space where each map object is assigned an influence zone (or Voronoi region), that is the set of 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 boundaries between 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, as developed by Gold [12], map objects (points and/or line segments) are stored as nodes of the dual spatial adjacency (topology) graph: the Delaunay triangulation. The underlying data structure used is the Quad-Edge data structure [19].

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

#### 6 Will-be-set-by-IN-TECH 42 Application of Geographic Information Systems Map Updates in a Dynamic Voronoi Data Structure <sup>7</sup>

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

structure, as well as dynamic sequential processing of events [16].

pointed location into two points (see Figure 4);

having the line segment as a common boundary (see Figure 6).

**3.1. The atomic actions on the dynamic Voronoi data structure**

addition, deletion or change of map objects and corresponding Voronoi cells.

can see the topological event caused by the "Switch" atomic operation.

selected point from its current position to a new position or until the next topological event.

the point selected for splitting and the newly created point.

state [16].

The *atomic actions* are:

Figure 4);

advantage of the dynamic Voronoi data structure is its dynamic, incremental and explicit topology, which allows one to automatically keep track of each event and change of map

Map Updates in a Dynamic Voronoi Data Structure 43

The changes in this data structure are therefore the changes in the spatial adjacency relationships, that is to say the changes in the Delaunay triangulation [39]. Within this data structure, the user's commands are changing the map incrementally and locally, and the map objects 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 data

These map state changes are produced by map commands [12], that are composed of atomic actions. Each atomic action in the map command executes the geometric algorithm for

• the *Split* action inserts a new point into the structure by splitting the nearest point from the

• the *Merge* action deletes the selected point by merging it with its nearest neighbour (see

• the *Switch* action is performed when a point moves and a topological event occurs (i.e. the moving point enters or exits a circle circumscribed to a Delaunay triangle, see Figure 7), switching<sup>7</sup> the common boundary of two adjacent triangles (see Figure 5). On Figure 7 we

• the *Link* action adds a line segment8 between the points obtained after a Split action (see Figure 6). A Link action must occur after a Split action, and adds a line segment between

<sup>7</sup> The *Switch* action will be used in the construction of the *Move*action. The *Move* (topological event) action moves the

<sup>8</sup> A line segment is composed of two half-line segments, whose Voronoi regions are on each side of the line segment,

**Figure 2.** Left: a simple Voronoi diagram and its corresponding Quad-Edge; right: the PAN graph of the Quad-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 suitable within a GIS context (see Figure 2). The Quad-Edge data structure (see Figure 3) represents a graph and its geometric dual. In the context of the application of the Quad-Edge data structure to the computation of Voronoi diagrams, both a primal planar graph (the Voronoi diagram) and its dual graph (the Delaunay quasi-triangulation) are stored in the Quad-Edge data structure.

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

The main characteristic of the topology<sup>6</sup> within the Voronoi spatial data model which distinguishes it from other models such as the vector model, is that it does not need any other computation than the incremental construction of the Voronoi data structure. Topology in the Voronoi spatial data model is given by the fact that two objects have adjacent Voronoi regions, 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

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

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

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

The changes in this data structure are therefore the changes in the spatial adjacency relationships, that is to say the changes in the Delaunay triangulation [39]. Within this data structure, the user's commands are changing the map incrementally and locally, and the map objects 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 data structure, 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 atomic actions. Each atomic action in the map command executes the geometric algorithm for addition, deletion or change of map objects and corresponding Voronoi cells.

The *atomic actions* are:

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

**Figure 2.** Left: a simple Voronoi diagram and its corresponding Quad-Edge; right: the PAN graph of the

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

The definition of spatial adjacency relationships within the Voronoi model is the adjacency of the Voronoi regions of two objects. In such a case, this spatial adjacency relationship is stored

The main characteristic of the topology<sup>6</sup> within the Voronoi spatial data model which distinguishes it from other models such as the vector model, is that it does not need any other computation than the incremental construction of the Voronoi data structure. Topology in the Voronoi spatial data model is given by the fact that two objects have adjacent Voronoi

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 <sup>6</sup> Topology is the branch of mathematics, that deals with the properties of points of some space that are invariant under

in the dual representation of the Voronoi diagram: the Delaunay quasi-triangulation.

regions, which is stored in the dual representation of the data structure.

some continuous transformations. Topological relationships are spatial adjacency relationships.

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

Quad-Edge data structure on the left

data structure.


<sup>7</sup> The *Switch* action will be used in the construction of the *Move*action. The *Move* (topological event) action moves the selected point from its current position to a new position or until the next topological event.

<sup>8</sup> 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).

Atomic Operation Symbol Newly created

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

created and inactivated Voronoi regions

circumcircle criterion (see Figure 7).

into one.

Figure 7),

Voronoi region,

able to record all the history information.

Voronoi regions

**Table 1.** The atomic actions and their associated changes in topology expressed in the numbers of newly

3). Therefore, the only map state changes of the dynamic Voronoi data structure produced by events are the changes in the Delaunay triangulation/Voronoi diagram preserved in the Quad-Edge structure. These events are ruled by the Delaunay triangulation empty

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 two and moving the newly created point to its destination; and the deletion of an existing point is performed by moving it to its nearest point and merging them. It is easy to see that the two actions described previously are mutually reversible: the reverse of a split being a merge and the 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 to the desired destination. A Merge action reverses this process, combining two adjacent cells

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

• the triangle switches (topological events) changing the corresponding Voronoi edges (see

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

• 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 be

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

Inactivated Voronoi

regions

Map Updates in a Dynamic Voronoi Data Structure 45

**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 before a Merge action, and removes the line segment between the selected point and its nearest object.

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

## **3.2. Topological changes in the Voronoi data structure induced by the atomic actions**

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


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

actions of the dynamic spatial Voronoi data structure [32].

object.

**actions**

• the *Unlink* action removes the selected line segment. An Unlink action must occur before a Merge action, and removes the line segment between the selected point and its nearest

Figure 6 shows the succession of these atomic actions. These actions compose the set of atomic

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

**3.2. Topological changes in the Voronoi data structure induced by the atomic**

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

3). Therefore, the only map state changes of the dynamic Voronoi data structure produced by events are the changes in the Delaunay triangulation/Voronoi diagram preserved in the Quad-Edge structure. These events are ruled by the Delaunay triangulation empty circumcircle 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 two and moving the newly created point to its destination; and the deletion of an existing point is performed by moving it to its nearest point and merging them. It is easy to see that the two actions described previously are mutually reversible: the reverse of a split being a merge and the 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 to the desired destination. A Merge action reverses this process, combining two adjacent cells into one.

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


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

#### 10 Will-be-set-by-IN-TECH 46 Application of Geographic Information Systems Map Updates in a Dynamic Voronoi Data Structure <sup>11</sup>


**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 to the 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 map construction commands [12] of this dynamic Voronoi data structure are complex operations composed of atomic actions (illustrated in Figures 5, 4 and 6). The composition of atomic actions 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 formal languages, the semantics of the basic operations that can be applied on the set of objects is described 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).

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

with the graphical illustrations will be presented in Section 4.

in the decomposition of "*Add a Point*" operation *SN<sup>t</sup>*

operation *SN<sup>t</sup>*

also the line-line collisions and their effects are not shown. The detailed description together

The *map commands* (see Figure 8) are composed of atomic operations, and the exact decomposition of map commands into sequences of atomic actions is given in Table 3. The atomic 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 point from its initial position to its destination through all the intersections of its trajectory with circumcircles, 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 the Voronoi 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 this concept of the moving point. For example, when a point is to be created at some location, the nearest point from that location is split into two (*S* term in the decomposition of "*Add a Point"*

incorporates the movement of the moving point to the intersection of the trajectory of the moving point with the circumcircle that induced the triangle switch. In Table 3, the exponents denote how many times the operation is executed repeatedly, e.g. *N<sup>t</sup>* denotes N executed t times, where t denotes the number of topological events. Whenever more than one connected sequence of topological events is executed in a map command, such as in the *"Add a Line"* command *(SNt1 SLNt2 (SLNt2i*<sup>+</sup>*<sup>1</sup> MSLNt2i*<sup>+</sup>*<sup>2</sup> )),* the total number of topological events is broken down into the number of topological events in the first connected sequence (*Nt1 ),* the number

), and then the newly created point is moved to its final destination (*N<sup>t</sup>* term

). In fact, the triangle switch operation

Map Updates in a Dynamic Voronoi Data Structure 47

Rewriting is a useful technique for defining complex objects by successively replacing parts of elemental map objects using a set of rewrite rules or production rules [42]. Given a set of productions we can generate an infinite number of map objects [1]. In the Voronoi spatial data system there is more than one rule we can apply, and the user is given the freedom of selecting the production rule appropriate to the map update needed. Rewriting context is extended from topological context to include geometrical (spatial) context<sup>9</sup> (position). Therefore rewriting is done sequentially at the specific locations selected by the user or given by coordinates. Thus, the update of the Voronoi data structure given by map commands can be 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 hierarchical presentation of the production rules and spatial objects. For example, the move command is a 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, we can 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, the topological part of the model is left out for better understanding of the general principle, and

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

#### 46 Application of Geographic Information Systems Map Updates in a Dynamic Voronoi Data Structure <sup>11</sup> Map Updates in a Dynamic Voronoi Data Structure 47

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

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

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

The *atomic actions* are the basis upon which *map commands* have been built. All the map construction commands [12] of this dynamic Voronoi data structure are complex operations composed of atomic actions (illustrated in Figures 5, 4 and 6). The composition of atomic actions 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 formal languages, the semantics of the basic operations that can be applied on the set of objects is described 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

Rewriting is a useful technique for defining complex objects by successively replacing parts of elemental map objects using a set of rewrite rules or production rules [42]. Given a set of productions we can generate an infinite number of map objects [1]. In the Voronoi spatial data system there is more than one rule we can apply, and the user is given the freedom of selecting the production rule appropriate to the map update needed. Rewriting context is extended from topological context to include geometrical (spatial) context<sup>9</sup> (position). Therefore rewriting is done sequentially at the specific locations selected by the user or given by coordinates. Thus, the update of the Voronoi data structure given by map commands can be 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 hierarchical presentation of the production rules and spatial objects. For example, the move command is

The *map construction commands* are illustrated in Figure 8. On the left side of Figure 8, we can 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, the topological part of the model is left out for better understanding of the general principle, and

<sup>9</sup> In context sensitive systems the selection of the production rule is based on the context of the predecessor. A context

sensitive system is needed to model information exchange between neighboring elements [47].

Atomic Operation Symbol New Edges Inactivated Edges

Split <sup>S</sup> <sup>6</sup> <sup>3</sup>

Merge <sup>M</sup> <sup>3</sup> <sup>6</sup>

Switch <sup>N</sup> <sup>1</sup> <sup>1</sup>

Link <sup>L</sup> <sup>11</sup> <sup>5</sup>

Unlink <sup>U</sup> <sup>5</sup> <sup>11</sup>

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

a part of any other production rule described as a map command.

the set of the number of inactivated edges.

**3.3. The map construction commands**

(currently a point or a line segment).

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

The *map commands* (see Figure 8) are composed of atomic operations, and the exact decomposition of map commands into sequences of atomic actions is given in Table 3. The atomic 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 point from its initial position to its destination through all the intersections of its trajectory with circumcircles, 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 the Voronoi 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 this concept of the moving point. For example, when a point is to be created at some location, the nearest point from that location is split into two (*S* term in the decomposition of "*Add a Point"* operation *SN<sup>t</sup>* ), and then the newly created point is moved to its final destination (*N<sup>t</sup>* term in the decomposition of "*Add a Point*" operation *SN<sup>t</sup>* ). In fact, the triangle switch operation incorporates the movement of the moving point to the intersection of the trajectory of the moving point with the circumcircle that induced the triangle switch. In Table 3, the exponents denote how many times the operation is executed repeatedly, e.g. *N<sup>t</sup>* denotes N executed t times, where t denotes the number of topological events. Whenever more than one connected sequence of topological events is executed in a map command, such as in the *"Add a Line"* command *(SNt1 SLNt2 (SLNt2i*<sup>+</sup>*<sup>1</sup> MSLNt2i*<sup>+</sup>*<sup>2</sup> )),* the total number of topological events is broken down into the number of topological events in the first connected sequence (*Nt1 ),* the number

12 Will-be-set-by-IN-TECH 48 Application of Geographic Information Systems Map Updates in a Dynamic Voronoi Data Structure <sup>13</sup>


the line segment being added (*M*), and the continuation of the new line segment after collision

In the case of "*Delete a Line*" and all the unjoin map commands, the replicating sequence has

Now, we will explain the fixed sequence for all these map commands. In order to "*Add a Line*", the nearest point to the starting extremity location has to be split into two (*S*), then it has to be moved to the starting extremity location (*Nt*<sup>1</sup> ). Then, the ending extremity has to be created by splitting the starting extremity into two (*S*). At this point the two extremities must be linked (*L*) in order to form a line segment. Finally, the ending extremity has to be moved (*Nt*<sup>2</sup> ) to its expected location. The sequence for "*Delete a Line*" is exactly the reverse of the

In order to join two points with the "*Join two points*" map command, the first point must be split into two (*S*) in order to create the ending extremity of the line segment that starts at 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 (*Nt*<sup>1</sup> ) to the location of the second point (including eventually the replicating sequence in case of collisions). Finally, the ending extremity must

The sequence for the "*Unjoin two points*" map command is exactly the reverse of the sequence for "*Join two points*" map command. The sequences of the remaining map commands follow immediately from the sequence of the "*Join two points*" map command. Indeed, the other join map commands fixed sequence involve several sequences corresponding to the same atomic actions as the *SLNt*<sup>1</sup> 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 Voronoi**

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

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 numbers

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

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

*Nt*2*i*+2*UMSNt*2*i*+1*UM*

Map Updates in a Dynamic Voronoi Data Structure 49

, although the

always the same pattern in terms of atomic operations (

computation happens without any loss of information [9].

of topological events and the number of line-line collisions).

(*SLNt*2*i*+<sup>2</sup> ).

preceding sequence.

**data structure**

be merged with the second point (*M*).

**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 *i* denotes the number of times the line segment being added has already intersected existing line segments. This type of intersection with an existing line segment is called a collision, and *i* is called the collision index. The terms in parentheses are repeated for each intersection with an existing line (i.e. each collision).

We will now briefly explain the decomposition of each map command. We have already seen the description of "*Move a Point*" and "*Add a Point*" map commands. Map command "*Delete a Point*" is exactly the reverse of "*Add a Point*" map command: the point to be deleted is moved to the location of the nearest point (*N<sup>t</sup>* ), and then they are merged with this nearest point (*M*).

The remaining map commands involve the addition or removal of one or more new line segments. For all these map commands, the decomposition includes a fixed sequence of atomic actions that is executed only once (the sequence outside the parenthesis), and a sequence 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 always the same pattern in terms of atomic operations ( *SLNt*2*i*+1*MSLNt*2*i*+<sup>2</sup> , although the actual indices may vary). This corresponds to the splitting of the existing line (*SLNt*2*i*+<sup>1</sup> ), the merging of the newly created point (by the *S* atomic action in this last sequence) with the extremity of the line segment being added (*M*), and the continuation of the new line segment after collision (*SLNt*2*i*+<sup>2</sup> ).

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

*SLNt*2*i*+1*MSLNt*2*i*+<sup>2</sup>

 *M*

*Nt*1*UM*

*Nt*2*i*+2*UMSNt*2*i*+1*UM*

*Nt*2*i*+1*UMSNt*2*iUM*

*SLNt*2*iMSLNt*2*i*+<sup>1</sup>

*SLNt*2*i*+1*MSLNt*2*i*+<sup>2</sup>

*Nt*2*i*+2*UMSNt*2*i*+1*UM*

*Nt*2*i*+3*UMSNt*2*i*+2*UM*

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

We will now briefly explain the decomposition of each map command. We have already seen the description of "*Move a Point*" and "*Add a Point*" map commands. Map command "*Delete a Point*" is exactly the reverse of "*Add a Point*" map command: the point to be deleted is moved

The remaining map commands involve the addition or removal of one or more new line segments. For all these map commands, the decomposition includes a fixed sequence of atomic actions that is executed only once (the sequence outside the parenthesis), and a

In the case of "*Add a Line*" and all the join map commands, the replicating sequence has always

indices may vary). This corresponds to the splitting of the existing line (*SLNt*2*i*+<sup>1</sup> ), the merging of the newly created point (by the *S* atomic action in this last sequence) with the extremity of

*SLNt*2*i*+2*MSLNt*2*i*+<sup>3</sup>

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

sequence that is executed at each collision (replicating sequence).

the same pattern in terms of atomic operations (

Decomposition (the terms in parentheses appear at each line-line collision, *i* = collision index, *i* ∈ {1, ..., *c*} , *c* = number of

*SLNt*2*M*

*Nt*1*UM*

*SLNt*3*M*

*Nt*2*UMNt*1*UM*

), and then they are merged with this nearest point (*M*).

, although the actual

*SLNt*2*i*+1*MSLNt*2*i*+<sup>2</sup>

*Nt*2*UMNt*<sup>1</sup> *M*

collisions; t, *tx* denote numbers of topological events

Map construction

Move a Point *N<sup>t</sup>*

Add a Point *SN<sup>t</sup>*

Delete a Point *NtM*

Delete a Line

Unjoin 2 Points

Join 2 Points *SLNt*<sup>1</sup>

Join Pt & Line *SLNt*<sup>1</sup>

Unjoin Pt & Line *SNt*2*UM*

Join 2 Lines *SLNt*1*SLNt*<sup>2</sup>

Unjoin 2 Lines *SNt*3*UM*

an existing line (i.e. each collision).

to the location of the nearest point (*N<sup>t</sup>*

Add a Line *SNt*1*SLNt*<sup>2</sup>

command

In the case of "*Delete a Line*" and all the unjoin map commands, the replicating sequence has always the same pattern in terms of atomic operations ( *Nt*2*i*+2*UMSNt*2*i*+1*UM* , 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 a Line*", the nearest point to the starting extremity location has to be split into two (*S*), then it has to be moved to the starting extremity location (*Nt*<sup>1</sup> ). Then, the ending extremity has to be created by splitting the starting extremity into two (*S*). At this point the two extremities must be linked (*L*) in order to form a line segment. Finally, the ending extremity has to be moved (*Nt*<sup>2</sup> ) to its expected location. The sequence for "*Delete a Line*" is exactly the reverse of the preceding sequence.

In order to join two points with the "*Join two points*" map command, the first point must be split into two (*S*) in order to create the ending extremity of the line segment that starts at 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 (*Nt*<sup>1</sup> ) to the location of the second point (including eventually the replicating sequence in case of collisions). Finally, the ending extremity must be merged with the second point (*M*).

The sequence for the "*Unjoin two points*" map command is exactly the reverse of the sequence for "*Join two points*" map command. The sequences of the remaining map commands follow immediately from the sequence of the "*Join two points*" map command. Indeed, the other join map commands fixed sequence involve several sequences corresponding to the same atomic actions as the *SLNt*<sup>1</sup> 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 Voronoi data structure**

For each map command, the reverse map command is composed of reverse atomic actions in exactly the reverse order [34]. Due to the local scope of its spatio-temporal topology, all the atomic actions of the dynamic Voronoi spatio-temporal model are reversible. Indeed, each atomic action has its reverse atomic action shown in the Table 4. The consequence of the property of reversibility of the atomic actions inside the Voronoi dynamic data structure is that a sequence of atomic actions applied in a map construction command can be reconstructed from the predecessor and successor map states. This proves in another way that the atomic actions 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 numbers of topological events and the number of line-line collisions).

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

#### 14 Will-be-set-by-IN-TECH 50 Application of Geographic Information Systems Map Updates in a Dynamic Voronoi Data Structure <sup>15</sup>


**3.6. Trace systems**

**4. Map updates and map history**

levels of map updates [32].

moved, or inactivated over time.

9.

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 in concurrent systems. Trace systems are special in that they enable both very detailed modelling and also offer opportunities for abstraction. In order to specify a trace system one has to

Map Updates in a Dynamic Voronoi Data Structure 51

The trace system that represents the history of the map is maintained as a hierarchy of map objects and their ancestral dependency relationships [27]. Hence for the corresponding topological changes in the Quad-Edge data structure, a dependency relationship occurs when one 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].

The user incrementally constructs or updates a map by giving map commands. A typical example could be updating a forest map to show the previous year's clear-cuts. Each map command 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 as

The left side of Figure 9 shows the effects of a map update *"Add a Point P*6*"* on a small portion of a map consisting of several line segments and points, illustrating the growth of the Voronoi diagram and of the Delaunay triangulation. The right side of Figure 9 shows the corresponding history structure for the map update shown in the left side, as described in 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 has been merged. The connectivity links (represented in Figure 9 by solid curved lines) allow us to 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 of the two endpoints allow us to know the direction in which the digitizing of the line has been done between the two endpoints. The modification links (represented in Figure 9 by light solid straight lines) allow us to know if the Voronoi cell of a given object has been changed during a given map update (map command). The spatial adjacency links (corresponding to edges in the Delaunay quasi-triangulation) are drawn in dashed lines on both sides of Figure

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,

Thus, the data structure encodes the history of map construction at two different levels: as spatial topology (or neighbouring relations), and as temporal topology (temporal adjacency relationships; see [32] also shown on the Figure 9 as the vertical links). Temporal topology is maintained through temporal or history links, which are the parent-child relationship links for the objects that have been split or merged, and modification links for the objects whose Voronoi regions have been changed. In Figure 9 the execution of the map command *"Add a Point"* is shown. We can see the addition of the Point *P*<sup>6</sup> to the Voronoi diagram. The

specify an underlying spatial language and a dependency relation [28].

**Table 4.** The reversibility of the atomic actions


**Table 5.** The reversibility of the map commands

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

## **3.5. Logging the transactions**

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

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

## **3.6. Trace systems**

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

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

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

In the next subsection we will briefly introduce a theoretical approach needed for the

Atomic action Reverse atomic action

Switch Switch is self-reversible

Map construction command Reverse map construction command

Split Merge

Link Unlink

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

construction.

**3.5. Logging the transactions**

applied (executed) map commands (see Figure 9).

execution of map commands or transaction processing.

**Table 4.** The reversibility of the atomic actions

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 in concurrent systems. Trace systems are special in that they enable both very detailed modelling and also offer opportunities for abstraction. In order to specify a trace system one has to specify an underlying spatial language and a dependency relation [28].

The trace system that represents the history of the map is maintained as a hierarchy of map objects and their ancestral dependency relationships [27]. Hence for the corresponding topological changes in the Quad-Edge data structure, a dependency relationship occurs when one 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 typical example could be updating a forest map to show the previous year's clear-cuts. Each map command 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 as levels of map updates [32].

The left side of Figure 9 shows the effects of a map update *"Add a Point P*6*"* on a small portion of a map consisting of several line segments and points, illustrating the growth of the Voronoi diagram and of the Delaunay triangulation. The right side of Figure 9 shows the corresponding history structure for the map update shown in the left side, as described in 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 has been merged. The connectivity links (represented in Figure 9 by solid curved lines) allow us to 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 of the two endpoints allow us to know the direction in which the digitizing of the line has been done between the two endpoints. The modification links (represented in Figure 9 by light solid straight lines) allow us to know if the Voronoi cell of a given object has been changed during a given map update (map command). The spatial adjacency links (corresponding to edges in the Delaunay quasi-triangulation) are drawn in dashed lines on both sides of Figure 9.

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: as spatial topology (or neighbouring relations), and as temporal topology (temporal adjacency relationships; see [32] also shown on the Figure 9 as the vertical links). Temporal topology is maintained through temporal or history links, which are the parent-child relationship links for the objects that have been split or merged, and modification links for the objects whose Voronoi regions have been changed. In Figure 9 the execution of the map command *"Add a Point"* is shown. We can see the addition of the Point *P*<sup>6</sup> to the Voronoi diagram. The

#### 16 Will-be-set-by-IN-TECH 52 Application of Geographic Information Systems Map Updates in a Dynamic Voronoi Data Structure <sup>17</sup>

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

Map Updates in a Dynamic Voronoi Data Structure 53

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 accessing a log file following the correspondence between the temporal ordering (maintained through the temporal topology links in Figure 9 ) of the atomic actions and the numerical ordering of

Thus, the spatio-temporal model combines events and corresponding state changes in topology. Event structures together with "semantics of change" are essential for

This formal model for spatio-temporal change representation is used to develop the hierarchical Voronoi data structure (hierarchy of map objects ordered by their ancestral dependency relationships) suited for imprecise temporal data representation and

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

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

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

<sup>10</sup> 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 spatial data structure can support temporal data without precise temporal information. The changes in the spatio-temporal

representing a change in the Voronoi region of an object).

the objects IDs (resulted from the decomposition sequences of Table 3).

spatio-temporal reasoning and answering spatio-temporal queries.

spatio-temporal reasoning in the ordered event structures10.

using the theory of numbers as the structural topology changes.

data structure capture the temporal and spatial semantics.

**6. Spatio-temporal change representation**

spatio-temporal change representation.

**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 the changes in the spatio-temporal topology. Each application of map commands is time-stamped and represented as an update level in our spatio-temporal structure. The hierarchical Quad-Edge data structure stores all the states of the Quad-Edge data structure (spatial topology states) and the connections between the update levels (the temporal topology in the Quad-Edge data structure). These connections between update levels correspond to the temporal topology, while the relationships in an update level correspond to spatial topology. These connections between update levels are the vertical component of the hierarchical Quad-Edge data structure.

## **5. Hierarchical Voronoi data structure**

Ancestral dependency relationships are defined as timed division hierarchies of elemental map objects and their corresponding Voronoi regions, which are ordered by the dependency of 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 that the hierarchical Voronoi data structure is equivalent to an event structure. In event-driven systems the ordering of event occurrences is partial: there is no means to decide which of several independent events occurs first [28]. The only way to establish objective ordering of event occurrences is to find their mutual causal dependencies and to agree that a cause must always occur earlier than its effect [28]. Therefore, the dependency (or independency) of event occurrences should be a basis for the behaviour description of the event driven system [28].

Dependency graphs are a way of visualizing complex relationships [26]. In the following example, we can see update levels corresponding to the map updates shown in Figure 9, and their dependency links. Real-time sequencing of user-invoked events produces a temporal ordering of spatial objects inside the dynamic Voronoi data structure. Inside each map update level, the numerical order of the IDs of the objects corresponds to the temporal order of the commands that generated them. The temporal ordering in the hierarchical Voronoi data structure is maintained through history links (see Figure 9: parent-child links corresponding to the origin/destination of a Split/Merge or Link/Unlink action, and modification links representing 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 accessing a log file following the correspondence between the temporal ordering (maintained through the temporal topology links in Figure 9 ) of the atomic actions and the numerical ordering of the objects IDs (resulted from the decomposition sequences of Table 3).

Thus, the spatio-temporal model combines events and corresponding state changes in topology. Event structures together with "semantics of change" are essential for spatio-temporal reasoning and answering spatio-temporal queries.

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

## **6. Spatio-temporal change representation**

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

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

Quad-Edge data structure.

of one atomic action upon another.

**5. Hierarchical Voronoi data structure**

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

Ancestral dependency relationships are defined as timed division hierarchies of elemental map objects and their corresponding Voronoi regions, which are ordered by the dependency

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 that the hierarchical Voronoi data structure is equivalent to an event structure. In event-driven systems the ordering of event occurrences is partial: there is no means to decide which of several independent events occurs first [28]. The only way to establish objective ordering of event occurrences is to find their mutual causal dependencies and to agree that a cause must always occur earlier than its effect [28]. Therefore, the dependency (or independency) of event occurrences should be a basis for the behaviour description of the event driven system [28].

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

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

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

<sup>10</sup> 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 spatial data structure can support temporal data without precise temporal information. The changes in the spatio-temporal data structure capture the temporal and spatial semantics.

#### 18 Will-be-set-by-IN-TECH 54 Application of Geographic Information Systems Map Updates in a Dynamic Voronoi Data Structure <sup>19</sup>

Map construction command Inactivated Voronoi

Move a Point 0 0

Add a Point 0 1

Delete a Point 1 0

Delete a Line 4 + 5*c* 0

Unjoin 2 Points 2 + 5*c* 0

Unjoin Point & Line 5 + 5*c* 0

Unjoin 2 Lines 8 + 5*c* 0

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

Add a Line 0 4 + 5*c*

Join 2 Points 0 2 + 5*c*

Join Point & Line 0 5 + 5*c*

Join 2 Lines 0 8 + 5*c*

**Figure 11.** Predecessor and successor map states for an "Add a point" map command

regions

*c* = number of line intersections

Newly created Voronoi

Map Updates in a Dynamic Voronoi Data Structure 55

regions

**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 map commands. Therefore, we have an isomorphism between the set of map commands and the set of couples of numbers of inactivated Voronoi regions and of newly created ones. In the following figures the predecessor and successor map topology states for each map command are presented, together with the spatio-temporal changes that occurred, the appearance or disappearance of the Voronoi regions, as well as the modification of the neighbouring Voronoi cells. The newly inserted regions are displayed in dark gray, and the modified Voronoi regions in light gray. In Figure 10, the result of the map command *"Move a Point"* is shown. Figure 11 shows the effect of a map command *"Add a Point"*. Figure 12 shows the addition of a line segment to the Voronoi diagram, by an *"Add a Line"* map command. The last three sets of map commands show all possible combinations of the joining of different objects, points and line 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 15 shows the result of a map command *"Join two Lines"*.

Moreover, this isomorphism gives rise to a discrimination of map commands, that allows one to determine the number of line-line collisions that occurred in a given map update. The discrimination just described allows us to determine which map commands were applied just by knowing the predecessor and successor map topology states expressed in the number of newly created Voronoi regions and of inactivated ones (see Table 6). In formal terms, the connections between update levels are formally described by the surjective homomorphism from the Cartesian product (*D*) of the set of the numbers of new Voronoi regions by the set of the 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 the difference between the predecessor state and the successor state, expressed as the difference between the numbers of inactivated and newly created Voronoi edges. These state changes take into account the number c of intersections (between the newly created line segment and any existing objects) that occurred in the execution of the map command. When a moving point of a newly added line segment enters the last circumcircle of the line segment - this situation is named "the insertion context" after [31] and [30] the mutual splitting of the line segments occurs. The mutual splitting of line segments operation is visible as a replicating sequence 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


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

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

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 map commands. Therefore, we have an isomorphism between the set of map commands and the set of couples of numbers of inactivated Voronoi regions and of newly created ones. In the following figures the predecessor and successor map topology states for each map command are presented, together with the spatio-temporal changes that occurred, the appearance or disappearance of the Voronoi regions, as well as the modification of the neighbouring Voronoi cells. The newly inserted regions are displayed in dark gray, and the modified Voronoi regions in light gray. In Figure 10, the result of the map command *"Move a Point"* is shown. Figure 11 shows the effect of a map command *"Add a Point"*. Figure 12 shows the addition of a line segment to the Voronoi diagram, by an *"Add a Line"* map command. The last three sets of map commands show all possible combinations of the joining of different objects, points and line 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 15

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

In Table 7, the corresponding "state changes" for each map command are represented as the difference between the predecessor state and the successor state, expressed as the difference between the numbers of inactivated and newly created Voronoi edges. These state changes take into account the number c of intersections (between the newly created line segment and any existing objects) that occurred in the execution of the map command. When a moving point of a newly added line segment enters the last circumcircle of the line segment - this situation is named "the insertion context" after [31] and [30] the mutual splitting of the line segments occurs. The mutual splitting of line segments operation is visible as a replicating sequence 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

the numbers of inactivated Voronoi regions, to the set of map commands.

**Figure 10.** Predecessor and successor map states for a "Move a point" map command

shows the result of a map command *"Join two Lines"*.

**Figure 11.** Predecessor and successor map states for an "Add a point" map command

**Figure 15.** Predecessor and successor map states for "Join two lines" map command

MSLN*<sup>t</sup>*

MSLN*<sup>t</sup>* 6

2*i*+2

2*i*+1

a new line segment intersecting one existing line segment.

5

happens the sequence (SLN*<sup>t</sup>*

system.

intersection, the sequence (SLN*<sup>t</sup>*

(also called a collision) happens, the collision index is 1. Each time an intersection happens, the collision index is incremented. The intersections are computed incrementally, following the trajectory of the "moving point". In the "Add a Line" command, when the first intersection

> )=(SLN*<sup>t</sup>* 3

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

The map commands can be recognized by the changes between the predecessor and successor map topology states, expressed by the difference between the numbers of newly created Voronoi edges and of inactivated Voronoi edges (see Table 7), and vice versa. Indeed, the numbers generated by the formulas of differences (in the third column) pertain to sets (in the fourth column) which are mutually exclusive. Moreover, this discrimination allows us to determine the number of line-line collisions, and then the number of topological events that occurred in a map update (see example treated below). Mathematically speaking, there is an isomorphism between the set of map commands and the set of sets (in the fourth column) of possible 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 topology induced by the map update. On the left Figure 16 the one line segment is shown and on the right Figure 16 the execution of the new map command is displayed. We can clearly see that the nine new Voronoi regions appeared in this map update level. From that result, we can determine (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 final result: 4 + 5*c* = 9 ⇒ *c* = 1. We can see that the difference in the numbers of newly created and of inactivated Voronoi edges is 27. From this result (27 ≡ 12 (15), 12 + 15*c* = 27 ⇒ *c* = 1), we arrive (see Table 7) at the same conclusion: the map update corresponds to the addition of

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

MSLN*<sup>t</sup>* 4

) is added. Then, at the next

Map Updates in a Dynamic Voronoi Data Structure 57

**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 Map Updates in a Dynamic Voronoi Data Structure <sup>21</sup> Map Updates in a Dynamic Voronoi Data Structure 57

**Figure 15.** Predecessor and successor map states for "Join two lines" map command

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

(also called a collision) happens, the collision index is 1. Each time an intersection happens, the collision index is incremented. The intersections are computed incrementally, following the trajectory of the "moving point". In the "Add a Line" command, when the first intersection happens the sequence (SLN*<sup>t</sup>* 2*i*+1 MSLN*<sup>t</sup>* 2*i*+2 )=(SLN*<sup>t</sup>* 3 MSLN*<sup>t</sup>* 4 ) is added. Then, at the next intersection, the sequence (SLN*<sup>t</sup>* 5 MSLN*<sup>t</sup>* 6 ) is added.

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

The map commands can be recognized by the changes between the predecessor and successor map topology states, expressed by the difference between the numbers of newly created Voronoi edges and of inactivated Voronoi edges (see Table 7), and vice versa. Indeed, the numbers generated by the formulas of differences (in the third column) pertain to sets (in the fourth column) which are mutually exclusive. Moreover, this discrimination allows us to determine the number of line-line collisions, and then the number of topological events that occurred in a map update (see example treated below). Mathematically speaking, there is an isomorphism between the set of map commands and the set of sets (in the fourth column) of possible 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 topology induced by the map update. On the left Figure 16 the one line segment is shown and on the right Figure 16 the execution of the new map command is displayed. We can clearly see that the nine new Voronoi regions appeared in this map update level. From that result, we can determine (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 final result: 4 + 5*c* = 9 ⇒ *c* = 1. We can see that the difference in the numbers of newly created and of inactivated Voronoi edges is 27. From this result (27 ≡ 12 (15), 12 + 15*c* = 27 ⇒ *c* = 1), we arrive (see Table 7) at the same conclusion: the map update corresponds to the addition of a new line segment intersecting one existing line segment.

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

#### 22 Will-be-set-by-IN-TECH 58 Application of Geographic Information Systems Map Updates in a Dynamic Voronoi Data Structure <sup>23</sup>


**Figure 16.** Mutual splitting of line segments

spatial topology links between these operations.

retroactive map updates presented here:

levels.

For some cartographic applications users need to be able to access and update not only the current map, but also the past map states. In the case of retroactive map updates, all the map commands that happened after the date of the beginning of the retroactive map update are undone 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 the beginning of the retroactive map update are undone, and then the retroactive map update is performed, and the spatio-temporal data structure is updated. This is of particular interest in the cadastre due to the fact that land marking and division operations are rarely inserted in a cadastre information system at the same time as they are officially registered. In most cases the update time ordering does not match the official time ordering [7]. Moreover, the semantics of such operations (especially land marking) cannot be retrieved by comparing the cadastre maps before and after they occurred. Often, the documents and/or the landmarks disappear, making any operation much harder and more subjective. In this particular case of land marking, in order to retrieve the semantics we need to be able to reconstruct the sequence of operations that were performed together with their spatial adjacency relationships. In other words, we need to retrieve their spatio-temporal topology. The parent-child links and the modification links described above (see Figure 9) allow us to retrieve the temporal topology links between these operations, while the spatial adjacency links allow us to retrieve the

Map Updates in a Dynamic Voronoi Data Structure 59

Further benefits of the **formal model for spatio-temporal change representation** presented in the previous chapter include retroactive map updates. Even though there are some other methods, 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 updated with 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 update

The theoretical work on the formalization of map update operations and the hierarchical Voronoi based spatio-temporal data structure has led to the three different methods for

• 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

**6.1. Retroactive map updates**

**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 the map command in atomic actions has the following form: *SNt*1*SLNt*<sup>2</sup> *SLNt*3*MSLNt*<sup>4</sup> where *t*<sup>1</sup> + *t*<sup>2</sup> + *t*<sup>3</sup> + *t*<sup>4</sup> is the known total number of topological events.

**Figure 16.** Mutual splitting of line segments

## **6.1. Retroactive map updates**

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

Difference New - Inactiv.

*t* = total number of topological events tivated Voronoi Edges)

Discrimination (set of the numbers corresponding to the difference New - Inac-

 *<sup>z</sup>* <sup>∈</sup> **<sup>Z</sup>**, *<sup>z</sup>* <sup>≡</sup> 12 mod 15 ∧*z* ≥ 12

 *<sup>z</sup>* <sup>∈</sup> **<sup>Z</sup>**, *<sup>z</sup>* <sup>≡</sup> 3 mod 15 ∧*z <* −12

 *<sup>z</sup>* <sup>∈</sup> **<sup>Z</sup>**, *<sup>z</sup>* <sup>≡</sup> 6 mod 15 ∧*z* ≥ 6

 *<sup>z</sup>* <sup>∈</sup> **<sup>Z</sup>**, *<sup>z</sup>* <sup>≡</sup> 9 mod 15 ∧*z <* −6

 *<sup>z</sup>* <sup>∈</sup> **<sup>Z</sup>**, *<sup>z</sup>* <sup>≡</sup> 0 mod 15 ∧*z* ≥ 15

 *<sup>z</sup>* <sup>∈</sup> **<sup>Z</sup>**, *<sup>z</sup>* <sup>≡</sup> 0 mod 15 ∧*z <* −15

 *<sup>z</sup>* <sup>∈</sup> **<sup>Z</sup>**, *<sup>z</sup>* <sup>≡</sup> 9 mod 15 ∧*z* ≥ 24

 *<sup>z</sup>* <sup>∈</sup> **<sup>Z</sup>**, *<sup>z</sup>* <sup>≡</sup> 6 mod 15 ∧*z <* −24

*SLNt*3*MSLNt*<sup>4</sup>

 where

Inactivated Voronoi Edges

Point *<sup>t</sup> <sup>t</sup>* <sup>0</sup> {0}

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

Point *<sup>t</sup>* <sup>+</sup> <sup>3</sup> *<sup>t</sup>* <sup>+</sup> <sup>6</sup> <sup>−</sup><sup>3</sup> {−3}

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

Line *<sup>t</sup>* <sup>+</sup> <sup>11</sup> <sup>+</sup> <sup>22</sup>*<sup>c</sup> <sup>t</sup>* <sup>+</sup> <sup>23</sup> <sup>+</sup> <sup>37</sup>*<sup>c</sup>* <sup>−</sup><sup>12</sup> <sup>−</sup> <sup>15</sup>*<sup>c</sup>*

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

Points *<sup>t</sup>* <sup>+</sup> <sup>14</sup> <sup>+</sup> <sup>22</sup>*<sup>c</sup> <sup>t</sup>* <sup>+</sup> <sup>20</sup> <sup>+</sup> <sup>37</sup>*<sup>c</sup>* <sup>−</sup><sup>6</sup> <sup>−</sup> <sup>15</sup>*<sup>c</sup>*

Line *<sup>t</sup>* <sup>+</sup> <sup>37</sup> <sup>+</sup> <sup>37</sup>*<sup>c</sup> <sup>t</sup>* <sup>+</sup> <sup>22</sup> <sup>+</sup> <sup>22</sup>*<sup>c</sup>* <sup>15</sup> <sup>+</sup> <sup>15</sup>*<sup>c</sup>*

Line *<sup>t</sup>* <sup>+</sup> <sup>22</sup> <sup>+</sup> <sup>22</sup>*<sup>c</sup> <sup>t</sup>* <sup>+</sup> <sup>37</sup> <sup>+</sup> <sup>37</sup>*<sup>c</sup>* <sup>−</sup><sup>15</sup> <sup>−</sup> <sup>15</sup>*<sup>c</sup>*

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

Lines *<sup>t</sup>* <sup>+</sup> <sup>30</sup> <sup>+</sup> <sup>22</sup>*<sup>c</sup> <sup>t</sup>* <sup>+</sup> <sup>54</sup> <sup>+</sup> <sup>37</sup>*<sup>c</sup>* <sup>−</sup><sup>24</sup> <sup>−</sup> <sup>15</sup>*<sup>c</sup>*

map command in atomic actions has the following form: *SNt*1*SLNt*<sup>2</sup>

*t*<sup>1</sup> + *t*<sup>2</sup> + *t*<sup>3</sup> + *t*<sup>4</sup> is the known total number of topological events.

**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 the

Map

construction command

Move a

Delete a

Delete a

Unjoin 2

Join Pt &

Unjoin Pt &

Unjoin 2

New Voronoi

Edges

For some cartographic applications users need to be able to access and update not only the current map, but also the past map states. In the case of retroactive map updates, all the map commands that happened after the date of the beginning of the retroactive map update are undone 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 the beginning of the retroactive map update are undone, and then the retroactive map update is performed, and the spatio-temporal data structure is updated. This is of particular interest in the cadastre due to the fact that land marking and division operations are rarely inserted in a cadastre information system at the same time as they are officially registered. In most cases the update time ordering does not match the official time ordering [7]. Moreover, the semantics of such operations (especially land marking) cannot be retrieved by comparing the cadastre maps before and after they occurred. Often, the documents and/or the landmarks disappear, making any operation much harder and more subjective. In this particular case of land marking, in order to retrieve the semantics we need to be able to reconstruct the sequence of operations that were performed together with their spatial adjacency relationships. In other words, we need to retrieve their spatio-temporal topology. The parent-child links and the modification links described above (see Figure 9) allow us to retrieve the temporal topology links between these operations, while the spatial adjacency links allow us to retrieve the spatial topology links between these operations.

Further benefits of the **formal model for spatio-temporal change representation** presented in the previous chapter include retroactive map updates. Even though there are some other methods, 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 updated with 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 update levels.

The theoretical work on the formalization of map update operations and the hierarchical Voronoi based spatio-temporal data structure has led to the three different methods for retroactive 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

#### 24 Will-be-set-by-IN-TECH 60 Application of Geographic Information Systems Map Updates in a Dynamic Voronoi Data Structure <sup>25</sup>

number of history links during the update operation. It could demand very complex algorithms for structure maintenance during the updates as well, due to the necessity for resolving potential spatio-temporal inconsistencies or conflicts<sup>11</sup>

This research shows that the result of the formalization of the operations on the dynamic Voronoi data structure is a spatial language or a map grammar that is deterministic and

Map Updates in a Dynamic Voronoi Data Structure 61

It was shown that the behaviour of the basic map operations is deterministic, and well defined

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 Voronoi regions. The recognition of map commands from the corresponding changes in spatial topology allows us to extend our data structure towards the hierarchical Voronoi data structure (hierarchy of map objects ordered by their ancestral dependency relationships). The hierarchical Voronoi data structure is well suited for spatio-temporal data representation even in the case of imprecise temporal data, and spatio-temporal reasoning in ordered event structures. The model has an implicit time ordering of events, visible through changes in topology. The changes in the spatio-temporal data structure capture the temporal and spatial

This research has shown that the hierarchical Voronoi data structure is equivalent to an event structure. The temporal ordering of past map events as well as states in a hierarchical Voronoi data structure provide a suitable model for the integration of Allen's temporal algebra, that is needed 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 answer

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

The benefits of this approach reside in the possibility of reverting to previous states in order to visualize the evolution of the map or to perform spatio-temporal queries and analysis, as well as in performing reverse execution of the map commands previously applied to the Voronoi spatial data structure, to achieve retroactive map updates. The visualization of map changes enables 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 is

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

reversible.

semantics.

in terms of topology changes.

queries about map changes over space and time.

visualization of map evolution.

needed in many GIS applications.

Darka Mioc and François Anton

*Technical University of Denmark, Denmark*

*University of Glamrogan, United Kingdom*

representations.

**Author details**

Christopher M. Gold


The last method for retroactive map updates is the one that is most frequently applied in data structures. 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 for points and line segments is presented. The approach is based on local changes in topology induced by spatio-temporal map updates. These map updates are performed through map construction commands that are composed of atomic actions on the dynamic Voronoi data structure. Even though previous research [13] on the dynamic Voronoi data structure for points and line segments describes the set of atomic actions and map commands used for the construction of the map based on the Voronoi diagram, those atomic actions and map commands were not formalized in a proper way. They were not deterministic and as a consequence not reversible.

This research succeeded in the formalization of the operations needed for constructing a Voronoi 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 atomic actions. Furthermore the map commands that are composed of these atomic actions are defined as well.

<sup>11</sup> **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, creating or moving an object in the past, we are creating spatio-temporal inconsistencies in the present. This changed object is now inconsistent with the part of the map history which was previously rolled back, and now needs to be rolled forward 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 objects which have been recorded in the map history, and they should be resolved and recomputed up to the present state of map history and the log file.

The same conflict arises with the creation of a new spatial object - changes will affect its neighbours.

This research shows that the result of the formalization of the operations on the dynamic Voronoi data structure is a spatial language or a map grammar that is deterministic and reversible.

It was shown that the behaviour of the basic map operations is deterministic, and well defined in 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 Voronoi regions. The recognition of map commands from the corresponding changes in spatial topology allows us to extend our data structure towards the hierarchical Voronoi data structure (hierarchy of map objects ordered by their ancestral dependency relationships). The hierarchical Voronoi data structure is well suited for spatio-temporal data representation even in the case of imprecise temporal data, and spatio-temporal reasoning in ordered event structures. The model has an implicit time ordering of events, visible through changes in topology. The changes in the spatio-temporal data structure capture the temporal and spatial semantics.

This research has shown that the hierarchical Voronoi data structure is equivalent to an event structure. The temporal ordering of past map events as well as states in a hierarchical Voronoi data structure provide a suitable model for the integration of Allen's temporal algebra, that is needed 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 answer queries about map changes over space and time.

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

The benefits of this approach reside in the possibility of reverting to previous states in order to visualize the evolution of the map or to perform spatio-temporal queries and analysis, as well as in performing reverse execution of the map commands previously applied to the Voronoi spatial data structure, to achieve retroactive map updates. The visualization of map changes enables 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 is needed in many GIS applications.

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

## **Author details**

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

• The second method for retroactive map updates is based on reversibility. The reversibility of 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 past where the retroactive update has to take a place, and then redone up to the present. Here the efficiency of such retroactive update depends on how far in the past the user has to make the changes. Therefore for updates that need to access deep in the past this approach is not efficient enough. This gives rise to the third model for map updates that is based on

• Within this kinematic, geometrical Voronoi structure [15], the map history is difficult to update 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 the map. Therefore, for complex updates, the sequence (log file) could be updated, and the whole map with history recomputed! Therefore, the better solution is to rebuild the whole structure. Complete rebuild is also needed in the case of multiple updates and retroactive

The last method for retroactive map updates is the one that is most frequently applied in data

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

This research succeeded in the formalization of the operations needed for constructing a Voronoi 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 atomic actions. Furthermore the map commands that are composed of these atomic actions are

One of the problems arising from spatio-temporal updates in the Voronoi data model is that if we are deleting, creating or moving an object in the past, we are creating spatio-temporal inconsistencies in the present. This changed object is now inconsistent with the part of the map history which was previously rolled back, and now needs to be rolled

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 objects which have been recorded in the map history, and they should be resolved and recomputed up to the present state of

The same conflict arises with the creation of a new spatial object - changes will affect its neighbours.

structures. It is based on rebuilding the data structure from the list of entries.

resolving potential spatio-temporal inconsistencies or conflicts<sup>11</sup>

the recomputation from the "log file".

map updates from multiple sources.

**7. Conclusions**

consequence not reversible.

map history and the log file.

<sup>11</sup> **Spatio-temporal conflicts and inconsistencies caused by updates**

forward to modify the present state accordingly.

defined as well.

number of history links during the update operation. It could demand very complex algorithms for structure maintenance during the updates as well, due to the necessity for

> Darka Mioc and François Anton *Technical University of Denmark, Denmark*

Christopher M. Gold *University of Glamrogan, United Kingdom*

26 Will-be-set-by-IN-TECH 62 Application of Geographic Information Systems Map Updates in a Dynamic Voronoi Data Structure <sup>27</sup>

Bernard Moulin *Université Laval, Canada*

### **8. References**

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

[15] Gold, C. M., Remmele, P. R., Roos, T., 1995, Voronoi Diagrams of Line Segments Made Easy, *Proceedings of the Seventh Canadian Conference in Computational Geometry, (CCCG'95)*,

Map Updates in a Dynamic Voronoi Data Structure 63

[16] Gold, C. M., 1996, An Event-Driven Approach to Spatio-Temporal Mapping,

[17] Gold, C. M., 1997, The Global GIS, *Proceedings of the International Workshop on Dynamic*

[18] Gold, C.M., Mioc, D. and Anton, F., 2008, Dynamic GIS, *ISPRS congress Book, Advances in Photogrammetry, Remote Sensing and spatial Information Sciences*, Eds: Z. Li, J. Chen, E.

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

[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,

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

[23] Kraak, M-J., MacEachren, A. M., 1994, Visualization of the Temporal component of Spatial data, *Proceedings of the Sixth International Symposium on Spatial Data Handling*,

[24] Kraak, M-J., Edsall, R., MacEachren, A. M., 1998, Cartographic Animation and Legends for Temporal Maps: Exploration and/or Interaction, *Proceedings of the Seventh Annual Conference of Polish Spatial Information Association*, Warsaw, Poland, May 1998, pp. 287-296. [25] Langran, G., 1992, Time in Geographic Information Systems, *Technical Issues in Geographic*

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

[27] Lück, H. B. and Lück, J., 1976, Cell number and cell size in filamentous organisms in relation to ancestrally and positionally dependent generation times, In *Automata,*

[29] McFarland, G. and Rudmik, A., 1993, Object-Oriented Database Management systems, *A Critical Review/ Technology Assessment*, Source:

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

[31] Mihalache, V. and Salomaa, A., 1998, Language-Theoretic Aspects of String Replication,

*Languages, Development* , North-Holland, Amsterdam, Netherlands, pp. 109-124. [28] Mazurkiewicz, A., 1989, Basic Notions of Trace Theory, *Proceedings of REX Workshop and Summer School "Linear Time, Branching Time, and Partial Order in Logics and Models for Concurrency"*, Noordwijkerhout, May/June1987, In *Lecture Notes in Computer Science* Vol.

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 Information Systems*, edited by Max J. Egenhofer, Reginald G. Golledge, Oxford University Press,

*Spatio-Temporal special issue, Geomatica,* Vol. 50, pp. 415-424.

Baltsavias, Taylor & Francis Group, London, UK, pp. 289-303.

*and Multi-Dimensional GIS*, Hong-Kong, China, 12 pp.

Québec, Canada, pp. 223-228.

pp. 74-123.

New York.

Reading, Mass.

Edinborough, Scotland, pp. 391-409.

354, Springer-Verlag, Berlin, pp. 285-363.

Lexington, Massachusetts.

Science, Turku, Finland.

*Information Systems*, Taylor & Francis, London, UK.

http://www.utica.koman.com/tech/oodbms.ToC.html

*International Journal for Computer Mathematics* 66, pp. 163–177.


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

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

[1] Angel, E., 1997, *Interactive computer graphics: a top-down approach with OpenGL*,

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

[3] Anton, F., 1996, Reversible splitting of line segments within a Voronoi diagram for a set of points and straight line segments, *Internal document, Industrial Chair of Geomatics,*

[4] Anton, F. and Gold, C. M., 1997, An iterative algorithm for the determination of Voronoi vertices in polygonal and non-polygonal domains, *Proceedings of the 9th Canadian*

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

[7] Frank, A.U., 1994, Qualitative temporal reasoning in GIS-ordered time scales, *Proceedings of the Sixth International Symposium on Spatial Data Handling, Edinburgh, Scotland, In*

[8] Frank, A.U., 1998, Different Types of "Times" in GIS, *Spatial and temporal reasoning in geographic information systems*, edited by Max J. Egenhofer, Reginald G. Golledge, Oxford

[9] Frank, M., Knight, T., Margolus, N., 1998, Reversibility in optimally scalable computer architectures, *The First International Conference on Unconventional Models of Computation*,

[10] Gold, C. M., 1988, PAN graphs - An aid to GIS analysis, *International Journal of*

[11] Gold, C. M., 1992, Dynamic spatial data structures - the Voronoi approach, *Proceedings of*

[12] Gold, C. M., 1992, An object-based dynamic spatial data model, and its applications in the development of a user-friendly digitizing system, *Proceedings of the Fifth International*

[13] Gold, C. M., 1994, The Interactive map, In: *Advanced Geographic Data Modelling - Spatial Data 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.

[14] Gold., C. M., 1994, Three approaches to automated topology, and how computational geometry helps, *Proceedings of the Sixth International Seminar on Spatial Data Handling*,

*Proceedings of the Fourth International Symposium on Spatial Data Handling*, Zurich,

*Conference 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 data models for the design of spatio-temporal databases, *Comput., Environ. and Urban Systems,*

*Université Laval, Faculté de Foresterie et Géomatique*, Québec, Canada.

*Advances in GIS Research, Proceedings*, Vol. 1, pp. 410-430.

*Geographical Information Systems*, Vol. 2, No. 1, pp. 29-41.

*the Canadian Conference on GIS*, Ottawa, Canada, pp. 245-251.

*Symposium on Spatial Data Handling*, Charleston, pp. 495-504.

University Press, New York, Chapter 3, pp. 40-62.

Bernard Moulin *Université Laval, Canada*

**8. References**

85-93.

Addison-Wesley, Reading, MA.

*Géomatique*, Québec, Canada.

Vol. 20, No. 1, pp. 19-41.

January 1998, pp. 165-182.

Switzerland, pp. 175-189.

40, pp. 121-128.

Edinburgh, Scotland, pp. 145-158.


© 2012 Um, 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.

© 2012 Um, licensee InTech. This is a paper 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.

**Feng-Shui Theory and Practice Investigated** 

Feng-Shui (meaning wind and water) has a strong indication for the placement of a physical object in space since it determines propitious locations by investigating the vital energy of the earth (Qi) throughout the lay of the land. Feng-Shui is the product of ancient Chinese cosmological beliefs and their responses to the land which were directly linked to survival and healthy living since it was believed that it could be used to harmonize people with their environment. Feng-Shui practices could be divided into landform Feng-Shui and livingspace Feng-Shui (Sung, 2001). Landform Feng-Shui practices have been conducted with emphasis on grave, residential sites, village, town, and city sites while living-space Feng-Shui focused on the physical layout of such elements as the front gate, bedroom and kitchen. Today, living-space Feng-Shui is being widely used in the United States and Western Europe (Kim, 2003). In some respects, these two phenomena are quite different. However, they both involve patterns in siting that seem to express cosmological beliefs, numinous

Feng-Shui has been practiced in China and many other areas of Asia over the past five thousand years and it is becoming increasingly popular in western countries, such as the United States and Western Europe, thus gaining popularity world-wide (Chris, 2002; Diana 2004). Feng-shui theory and practice were based on considerable anecdotal evidence rather than on scientific proof. It should be noted that conflicts and debates exist when applying Feng-Shui rules because of the flexible practices and ambiguous literature (Andrew, 1968; Zetlin, 1995). Even Asians, who are familiar with ancient oriental literature and philosophy, have difficulty understanding the basic Feng-Shui concepts and methods of application.

So far the spatial variation of Feng-Shui locations is poorly defined despite abundant interest in this problem. Previous research for living space Feng-Shui has been based on the small number of in-situ observations reflecting the specific attributes of experimental sites

**by Spatial Regression Modeling** 

Additional information is available at the end of the chapter

Jung-Sup Um

**1. Introduction** 

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

feelings and aesthetic experience.
