problems with handling spatial data -the voronoi … · within each polygon are closer to its...

16
C I S M J O U R N A L A C S G C PROBLEMS WITH HANDLING SPATIAL DATA -THE VORONOI APPROACH Christopher M. Gold, Départment des Sciences Géodésiques et de Télédétection ,. .__,_,____._._.,.,._.,.,....., :_ .::+:::..::::: .,_._ :::::::_:.: ,’ Université Laval, Québec Experience with the handling of spatial data on a computer led to the identification of a variety of ‘'awkward” problems, including interpolation, error estimation and dynamic polygon building and editing. Many of the problems encountered could be classified as “‘spatial adjacency” issues. The Voronoi diagram of points and line segments in the Euclidean plane is shown to give a functional definition of spatial adjacency. The basic operations for incremental construction and maintenance of this Voronoi diagram and its dual are described, and a variety of applications are outlined. L’expérience acquise dans la manipulation de données spatiales à l’aide d’un ordinateur a conduit les chercheurs à identifier une variété de problèmes “delicats”, parmi lesquels on trouve l’interpolation, l’estimation d’erreur, et la construction et l’édition de polygones dynamiques. Plusieurs de ces problèmes pourraient être classés comme des questions de contiguité spatiale. On a montré que le diagramme Voronoi de points et de segments de droite situés dans un plan euclidien donne une définition fonctionnelle de la contiguité spatiale. On décrit les opérations de base visant à la construction et à l’entretien par incrémentations de ce diagramme Voronoi et son double et on présente un certain nombre d’applications. Introduction In the last few years interest in the handling of geographic or spatially-located information within a computer system has expanded dramati- cally, and many software products are available to perform a variety of tasks. In their development and use over the last few years, however, a variety of issues have emerged. Spatial data is significant- ly different from non-spatial data, but the différ- ences are not all obvious and the performance of some intuitively obvious spatial operations may be surprisingly complex. Several classes of problems in the handling of spatial data fall into the category of “awkward” in both concept and implementation. A list of these problems might include: 1) interpolation between arbitrarily distribut- ed data points in the plane (with or with- out linear “faults”), and the generation of valid statistical error estimates; 2) the estimation of missing census district values; 3) the building of polygon coverages from line segments, and the navigation of a moving point through a partially com- pleted polygon set; 4) determining the polygon within which some location lies, and locating islands within other polygons; 5) the generation of corridors around arbi- trarily complex arcs or polygons; and 6) the dynamic local modification of the spatial adjacency data structure, permit- ting “real-time” updating, as well as the iterative simulation of real processes. The Voronoi diagram is an interesting hybrid - the merging of geometric problems and graph- theoretic solutions, a common way of viewing vec- tor and raster spatial models. If spatial adjacency is defined as polygon adjacency, and Voronoi poly- gon boundaries around objects are defined using an equidistance criterion, then all map objects (currently points and line segments) have well defined sets of neighbors. From this simple idea may be derived a consistent approach to the undoubtedly incomplete list of spatial problems given above. This suggests that the Voronoi idea could be a valuable tool in helping to define solu- tions to a variety of spatial problems in various metrics and dimensions. The work undertaken in this study was the result of a considerable amount of time spent by the author in developing computer techniques for manipulating various types of spatial data in the fields of geology and cartography. This study of spatial relationships started with the examination of the interpolation problem for sub-surface geo- logical contacts from oil wells, progressed to the handling of linear features as well as points, with applications to map production as well as interpo- lation, and thereafter progressed to the major spa- tial operations required for geographical informa- tion systems. The concepts expressed here are therefore derived more from perceived need than CISM JOURNAL ACSGC Vol. 45. No. 1. Spring 1991. pp. 65 to 80

Upload: ngoduong

Post on 28-Mar-2019

213 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: PROBLEMS WITH HANDLING SPATIAL DATA -THE VORONOI … · within each polygon are closer to its generating data point than to any other data point (Figure 1). The resulting tiling is

C I S M J O U R N A L A C S G C

PROBLEMS WITH HANDLING SPATIAL DATA-THE VORONOI APPROACH

Christopher M. Gold, Départment des Sciences Géodésiques et de Télédétection,. .__,_,____._._.,.,._.,.,....., :_.::+:::..::::: .,_._ :::::::_:.: ,’ Université Laval, Québec

Experience with the handling of spatial data on a computer led to the identification of a varietyof ‘'awkward” problems, including interpolation, error estimation and dynamic polygon building andediting. Many of the problems encountered could be classified as “‘spatial adjacency” issues. The Voronoidiagram of points and line segments in the Euclidean plane is shown to give a functional definition ofspatial adjacency. The basic operations for incremental construction and maintenance of this Voronoidiagram and its dual are described, and a variety of applications are outlined.

L’expérience acquise dans la manipulation de données spatiales à l’aide d’un ordinateur a conduitles chercheurs à identifier une variété de problèmes “delicats”, parmi lesquels on trouve l’interpolation,l’estimation d’erreur, et la construction et l’édition de polygones dynamiques. Plusieurs de ces problèmespourraient ê t r e classés comme des questions de contiguité spatiale. On a montré que le diagrammeVoronoi de points et de segments d e droite situés d a n s un plan euclidien donne une définition fonctionnellede la contiguité spatiale. On décrit les opérations de base visant à la construction et à l’entretien parincrémentations de ce diagramme Voronoi et son double et on présente un certain nombre d’applications.

IntroductionIn the last few years interest in the handling

of geographic or spatially-located informationwithin a computer system has expanded dramati-cally, and many software products are available toperform a variety of tasks. In their developmentand use over the last few years, however, a varietyof issues have emerged. Spatial data is significant-ly different from non-spatial data, but the différ-ences are not all obvious and the performance ofsome intuitively obvious spatial operations maybe surprisingly complex.

Several classes of problems in the handling ofspatial data fall into the category of “awkward” inboth concept and implementation. A list of theseproblems might include:

1) interpolation between arbitrarily distribut-ed data points in the plane (with or with-out linear “faults”), and the generation ofvalid statistical error estimates;

2) the estimation of missing census districtvalues;

3) the building of polygon coverages fromline segments, and the navigation of amoving point through a partially com-pleted polygon set;

4) determining the polygon within whichsome location lies, and locating islandswithin other polygons;

5) the generation of corridors around arbi-trarily complex arcs or polygons; and

6) the dynamic local modification of thespatial adjacency data structure, permit-

ting “real-time” updating, as well as theiterative simulation of real processes.

The Voronoi diagram is an interesting hybrid- the merging of geometric problems and graph-theoretic solutions, a common way of viewing vec-tor and raster spatial models. If spatial adjacency isdefined as polygon adjacency, and Voronoi poly-gon boundaries around objects are defined usingan equidistance criterion, then all map objects(currently points and line segments) have welldefined sets of neighbors. From this simple ideamay be derived a consistent approach to theundoubtedly incomplete list of spatial problemsgiven above. This suggests that the Voronoi ideacould be a valuable tool in helping to define solu-tions to a variety of spatial problems in variousmetrics and dimensions.

The work undertaken in this study was theresult of a considerable amount of time spent bythe author in developing computer techniques formanipulating various types of spatial data in thefields of geology and cartography. This study ofspatial relationships started with the examinationof the interpolation problem for sub-surface geo-logical contacts from oil wells, progressed to thehandling of linear features as well as points, withapplications to map production as well as interpo-lation, and thereafter progressed to the major spa-tial operations required for geographical informa-tion systems. The concepts expressed here aretherefore derived more from perceived need than

CISM JOURNAL ACSGC Vol. 45. No. 1. Spring 1991. pp. 65 to 80

Page 2: PROBLEMS WITH HANDLING SPATIAL DATA -THE VORONOI … · within each polygon are closer to its generating data point than to any other data point (Figure 1). The resulting tiling is

C I S M J O U R N A L A C S G C

from rigorous mathematical analysis. Neverthe-less, it is the author’s hope that this wide empiricalexperience has resulted in some generality ofapproach to spatial data handling. Indeed, the ini-tial impetus - in no way decreased over the years- was an underlying feeling that the spatial math-ematics need not have been as ad-hoc and compli-cated as they then appeared to be. With time, thisfeeling gained shape as the problem of “spatialrelationships*‘, and then of “spatial adjacency”.

Spatial AdjacencyPerhaps any benefits of the conceptual

approach to be described derive from its origins inthe interpolation problem, rather than, as is morecommon, from the polygon building problem.Interpolation usually requires point data as input:thus by its nature any questions of spatial adjacen-cy refer to disconnected objects on the map (e.g.,data points) rather than, for polygon building, con-voluted line segments that should (but often don’t)link together at their intersection points. (Interpo-lation problems, excluding global trend surfaces,depend strongly on selecting a set of data pointsthat can be considered to be “neighbors” to thelocation where an elevation estimation is to bemade.) Thus: how could disconnected “points” begiven a consistent and well behaved spatial datastructure such that the set of neighbors of any oneof them would be intuitively obvious?

Various false trails were followed to attemptthis. One early conclusion was that any assumptionbased on an “even” (or, worse, “square”) distribu-tion of data points was the source of many more

,870 l793070

,755 x 691

710

.800 730 :28

.800 I,780 I

/ ,812773

,855 I l �l2 .82Am5 84001.830

,873 \

875,

,875 850

.908 882)' '1',960

890,,880 \ 8pO890 -

0 I

problems than solutions. Again, if data were notproduced in regular form, what were the advan-tages in forcing some approximated version of theoriginal data to conform to this ideal? (Answer:none at all, except as a convenient form of finaloutput on some graphics devices.) Thus the hereti-cal view developed that there was no magic tapemeasure or ruler in the sky (or on the ground), andthat to impose such a coordinate system was toinvite some form of retribution or another. Whilecoordinates were usually necessary for data input,the internal operations should not have beendirectly dependent on their values: what wereimportant were the distances between individualpoint pairs. Thus if a surface was intended to con-form to the data as originally provided, the under-lying framework should conform also - thusrequiring local, relative coordinates to perform thedesired tasks in a straightforward fashion.

However, the relative distances between datapoints were only relevant for adjacent points, thusbringing the argument full circle. If, rather obvi-ously, a surveying triangulation or equivalent con-formed well to the given data, how should the tri-angle linkages that defined spatially adjacentpoints be created?

Here a significant amount of work hadalready been done, and a consensus was formingin the mid 1970s that the “Delaunay triangulation”was the appropriate definition of the problem, andvarious algorithms were established. The literatureincludes work by Boots [ 1974]. Lawson [1977],Green and Sibson [1978], Shamos [1978], Elfick[1979], Lee and Schacter [1980] and Bowyer[ 1981]. Indeed, much early work, including that ofthe author [Gold, 1978] was subsequently criti-

Figure 1: a) Elevation data from Davis (1973) b) Voronoi polygons (heavy lines) and Delaunay triangulation(light lines)

66

Page 3: PROBLEMS WITH HANDLING SPATIAL DATA -THE VORONOI … · within each polygon are closer to its generating data point than to any other data point (Figure 1). The resulting tiling is

C I S M J O U R N A L A C S G C

Figure 2: a) A polygon set b) Possible boundary properties c) Relationship triangulation (dual graph)

cized for using a triangulation method that did nothave the properties of the Delaunay. These criteriainclude the entirely local effect of adding a newdata point - which implies that the triangulationis independent of the input order of the data, aswell as guaranteeing that the bottom left of a mapwill not be affected by introducing a new point inthe top right.

While the Delaunay triangulation may be ofinterest in its own right in some cases (especiallywhere the resulting triangles are to be used to forma TIN, or Triangulated Irregular Network for sur-face representation purposes), it is becoming clear-er that its greatest value is as the dual of theVoronoi Diagram. Indeed, this is the way it is oftendescribed, and it is perhaps most readily visualizedas follows:

The Bubble Analogy and theSpatial Model

Suppose we have a set of data points in theplane, and each one becomes the site for a bubble.As these bubbles expand at equal rates they start totouch each other, until finally the plane is parti-tioned into convex polygons such that all pointswithin each polygon are closer to its generatingdata point than to any other data point (Figure 1).The resulting tiling is know variously as Thiessenpolygons, proximal polygons, a Dirichlet tessella-tion or a Voronoi diagram. Each boundary betweenbubble pairs is formed as the perpendicular bisec-tor of a line connecting the two generating datapoints, and the connecting line is the dual of theboundary segment. Since in the general case bub-bles meet at triple junctions, the dual of the wholeVoronoi diagram is a triangulation - the Delau-nay triangulation. The triangulation and polygonset are considered to be “dual” representations ofthe same information - the existence of relation-ships, either triangle edge or polygon boundaries,between objects pairs.

Described in this way it is intuitively obviousthat adding (or deleting, or moving) a data point will

only affect the bubbles of those data points that areimmediately “‘adjacent” to it, and hence the Delau-nay triangulation will be modified only locally.What is of equal significance is that by acceptingthis bubble model of space we have alreadyimplicitly accepted a working defmition of spatialadjacency for unconnected objects, since fewwould deny that polygons (here our bubbles) hav-ing a common boundary are adjacent.

Thus by this approach we have acceptedseveral “‘rules of the game”, which may simplifyour further work These are:

No “graph paper” is involved in our spatialdecision making: conventional Cartesiancoordinates are to be avoided, as there areno “rulers in the sky”. As far as possiblecoordinate systems will be used only tomeasure distances between objects.

Space is to be considered as continuous: atall times any particular location will beassigned to some defined polygon.

The only acceptable definition of spatialadjacency is that of two polygons having acommon boundary.

The set of all adjacency relationshipsbetween map objects (data points) isexpressed as the dual triangulation. Theseadjacency relationships (triangle edges)may themselves carry information - suchas boundary form, flow, etc. (Figure 2).

Operations on this triangulation (spatial datastructure) are discrete: points may be insert-ed, deleted or moved without more thanlocal modification of the data structure.

Thus from the bubble analogy and the con-sequent rules we have derived an appropriatespatial model and data structure for our particu-lar set of concerns. We will now examine someof the consequences of this choice.

67

Page 4: PROBLEMS WITH HANDLING SPATIAL DATA -THE VORONOI … · within each polygon are closer to its generating data point than to any other data point (Figure 1). The resulting tiling is

C I S M J O U R N A L A C S G C1

Discrete Operations on the SpatialData Structure

Discrete operations have been discussed inGold [1990a,b]. It is illustrated in Figure 3, for thecase of “‘general polygons” - i.e., when the poly-gons need not necessarily be Voronoi. A polygonP(ab) surrounded by adjacent polygons has a dualtriangulation (not necessarily Delaunay). If it issplit into two polygons, P(a) and P(b), one newpolygon, one new edge and two new dual trian-gles are created. Conversely, to merge the twopolygons the reverse process is performed.

In the case of Voronoi polygons, where theboundaries are generated automatically from thegenerating points, it is possible to generate a newdata point by splitting some point already withinthe data structure: preferably one whose coordi-nates are close to those of the new point. Thisresults in two Voronoi polygons (“cells”) thatoccupy almost the same space as the one original,each cell having a data point ('‘nucleus”) at almostthe same location as the original, separated by theone new polygon boundary (“cell wall”). Aftereach case of cellular fission one new data pointand Voronoi polygon exists. The additional datapoint now exists within the data structure, but it isnot yet at its correct location, and needs to bemoved there. As was the case with the generalpolygon shown in Figure 3, this data point “inser-tion” (cell splitting) may be reversed to performdata pint “deletion” (cell merging).

By reducing point insertion and deletion toinsert, delete and move operations on a single datapoint we have formed a class of spatial adjacencyoperators that have some very desirable properties:they are dynamic in that the spatial data structuremay be modified easily without rebuilding; theyare local and discrete in their effect on the datastructure; and they are space-preserving in that thecontinuous nature of the cellular subdivision of themap space is always preserved, avoiding anymessy (and error prone) rebuilding of some local

Figure 3: a) General polygon set with triangulation b) Result of splitting P (ab) into P (a) and P (b)

“patch” of the data structure. The result is onemore method of producing the Voronoi diagram ofFigure 1 - the other common techniques beingsimple point insertion [e.g., Green and Sibson1978] and divide and conquer methods [e.g.,Shamos 1978].

Point Movement

The previous section described the insertionand deletion processes for point data, but leftunspecified how the newly-inserted data point wasto be moved to the desired final location. This isdescribed in detail in Gold [1990a,b] and summa-rized here. The first point to note is that, for anypoint movement operation, the previously-gener-ated Delaunay triangulation expresses the com-mon boundaries in existence between the generat-ed Voronoi polygons. If a data point is moved asmall distance from its original position it is prob-able that the set of boundaries forming its Voronoipolygon (cell, bubble) will remain unchanged, aswill the dual triangulation, even though the indi-vidual boundaries will change position. For a larg-er movement, however, individual boundariesbetween the moving bubble and its immediateneighbors will appear or disappear, dependingupon whether the moving bubble meets a bubblethat was not previously adjacent, or else leavesbehind a bubble that used to be a neighbor. Eitheroperation requires the updating of the triangula-tion recording the existence of these adjacencyrelationships.

The condition under which a Voronoi bound-ary either appears of disappears is that the bound-ary has precisely zero length. In other words, thethree points of the triangle under examination,together with the moving point, are all equidistantfrom some central location - which is defined asthe center of the circle passing through the threevertices of the triangle: that is its circumcenter.(The existence of “empty circumcircles”, i.e., the

Page 5: PROBLEMS WITH HANDLING SPATIAL DATA -THE VORONOI … · within each polygon are closer to its generating data point than to any other data point (Figure 1). The resulting tiling is

C I S M J O U R N A L A C S G C

a b

C

e!?

X

Figure 4: a) Simple data set with Voronoi polygons, b) Voronoi polygon resulting from insertion of point X , c) Neighboringareas stolen by point X.

circumcircles for all triangles having no interiordata points, is one definition of the Delaunay tri-angulation.) At the critical point where oneVoronoi boundary has reached zero length and thealternative boundary has not yet started to grow, itis possible to select either the previous zero-lengthboundary or the new boundary as a valid descrip-tion of the Voronoi relationships.

At this time a pair of triangles describe therelationships between the three fixed data pointsand the moving point. These form a quadrilateral.The diagonal of the quadrilateral specifies theexistence of a Voronoi boundary between anopposite pair of points - one of the two possiblechoices must be correct. If one of these verticesmoves, e.g., into the circumcircle of the triangleformed by the remaining three points, then thediagonal of the quadrilateral must be “switched”to record the replacement of one Voronoi bound-ary with the other. Thus movement of a pointthrough a swarm of other points may be per-formed while preserving the Voronoi criterionthroughout by selectively switching adjacent trian-gle pairs as the point moves. The switch processwas previously described by Gold et al. [1977],Lawson [1977] and Gold [1978] for building trian-gulations. Gold [1987, 1988] introduced the con-cept of split, merge, switch, initialize and searchoperations for Delaunay triangulations.

Linked Lists and Dynamic VoronoiDiagrams

The effect of performing these split, mergeand move operations on a data set are, unfortu-nately, more readily visualized as a color anima-tion on a computer screen or video than bymonochrome diagrams. It is, however, possibleto relate these operations to the more familiaroperations on linked-lists that are so well knownto computing science. The “split” operation isequivalent to an “insert” operation on a linkedlist; “merge” is equivalent to “delete”. “Move”is composed of a sequence of “switches”, eachof which are comparable to the switch operationperformed in a one-dimensional bubble sort. Ineach case some form of “initialize” operation isrequired, as is a “search” process, which may beperformed using a quad-tree or equivalent struc-ture. Alternatively, in many cases a local “walk”procedure, described in Gold et al. [1977], maysuffice.

Within the field of computational geometry,Roos [ 1990] and Bajaj and Bouma [1990] alsodescribe methods for maintaining consistentVoronoi Diagrams while the data points are inmotion. The circumcircle criterion for triangle-pair switching is there called a “topological

69

Page 6: PROBLEMS WITH HANDLING SPATIAL DATA -THE VORONOI … · within each polygon are closer to its generating data point than to any other data point (Figure 1). The resulting tiling is

I C I S M J O U R N A L A C S G CI

event”. As Bajaj and Bouma state, “changes intopology of the Voronoi diagram are occurrencesor events that happen at discrete intervals of timeeven though the points are moving continuously asanalytic functions of time”. Roos uses the pointmovement algorithm to insert new points intro-duced outside the map window, as an alternative toexisting divide-and-conquer generation of thecomplete Voronoi diagram at one step. He adds“However, only complicated linear-time algo-rithms for deleting points are known so far”, butsuggests the reverse of his incremental insertionprocess. Thus the techniques described in thispaper appear to be in the forefront of currentresearch.

Point-Voronoi BasedApplications

As mentioned in the introduction, the originalmotivation for research into spatial adjacency wasdissatisfaction with existing interpolation tech-niques. Most early programs (and far too manyrecent ones) took a purely metric approach to this,and collected all data points within a given dis-tance from the estimation point, or the nearest six,or other variants intended to select both a “reason-able” number of data points, and also to select a“‘surrounding” set. Most of these approaches couldbe shown to be inadequate by the judicious selec-tion of awkwardly distributed data sets. A subse-

quent approach involved the triangulation of thedata set, followed by a local polynomial (or linear)patch within each triangle. Two problems arosewith this: firstly many triangulations of a givendata set were possible, and the same set could notbe guaranteed if the data were reentered in a dif-ferent order; and secondly local patches, whichwere defined to merge with adjacent triangles witha given level of continuity (usually slope), weretherefore discontinuous at higher levels (usuallycurvature) - and this was very visible in theresulting map. The first of these problems wasresolved, as mentioned previously, with the gener-al agreement on the Delaunay triangulation.

The second problem, that of fitting an appro-priate polynomial patch, was handled in the cur-rent work by reverting to an older approach: theweighted average method. This required the selec-tion of both a set of neighboring points and anappropriate weighting function. By inserting theestimation point into the data-structure (the Delau-nay triangulation or equivalent Voronoi diagram)its neighbors were defined in the same way as forthe data points in Figure 1. Thus any neighboringVoronoi polygons were by definition neighbors tothe Voronoi polygon of the estimation point -hence the neighboring points were defined. Theweights to be used were just as easily defined - ifthe Voronoi polygon of a data point was adjacentto (had a common boundary with) the Voronoipolygon of the estimation point, then the insertionof the estimation point must have stolen some ofthe original area of the data point’s polygon. This

b

O.P. 1 . \\

Cf

Figure 5: a) Cross-section of map, with data points (D.P.), b) Voronoi regions about the data points, c) Estimation point insertionand elevation estimate, d) Result of multiple elevation estimates, e) Addition of smoothing function, f) Inclusion of slope data

70

Page 7: PROBLEMS WITH HANDLING SPATIAL DATA -THE VORONOI … · within each polygon are closer to its generating data point than to any other data point (Figure 1). The resulting tiling is

r- C I S M J O U R N A L A C S G C I

Figure 6: Seismic data: Area stealing interpolation

stolen area formed the basic weighting assigned toeach neighboring data point. Figure 4 illustratesthe method. Part a) shows a simple data-set withVoronoi polygons and the dual triangulation. “Xmarks the spot where an estimation point is to beinserted. Part b) shows the new Voronoi polygonformed, and part c) shows the proportions of theadjacent areas stolen by the new polygon. Sibson[1982] developed a polynomial interpolation pro-

cedure based on Voronoi subtiles that he called“natural neighbor interpolation”. This author’swork using weighted average methods wasdeveloped independently [Gold, 1989].

This “area-stealing*’ or “theft” spatial modeleliminates many problems in conventionalweighted-average techniques that are due to thepoor specification and negative interaction ofseparately-defined neighbor selection and

71

Page 8: PROBLEMS WITH HANDLING SPATIAL DATA -THE VORONOI … · within each polygon are closer to its generating data point than to any other data point (Figure 1). The resulting tiling is

I C I S M JOURNA L A C S G CI

weighting processes. Used in unmodified form itproduces the two-dimensional equivalent of linearinterpolation between a set of points in one spatialdimension. Thought of as an operation on poly-gons, where each original data point’s elevation isassigned to the whole polygon, the area-stealingmodel is a volume-preserving process. (Voronoitiling is sometimes used in geological subsurfacevolumetric calculations.) So far undefined by thisapproach are: “smooth” interpolation, where thesurface varies smoothly over the data points them-selves as well as over the rest of the map; and anymeasure of the error of the estimate.

The first issue is described further in Gold[1989]. Figures 5a to 5d illustrate the method incross-section. If area stealing interpolation, as justdefined, is performed at regular intervals betweentwo data points the result is a form of linear inter-

polation, smooth everywhere but at data points.Adding a simple hermitian polynomial weightingfunction to the original area stealing weights guar-antees continuity of slope across data points (Fig-ure Se). As with traditional interpolation tech-niques for X Y graphs, many other smoothingfunctions are possible. However, the resulting sur-face, as with all simple weighted-average interpo-lation, will have zero slope at data points. If this isundesirable then some function (in this case aplane) must be estimated at each data point, andthe weighted-average interpolation applied to thisfunction, rather than to the elevation value alone.This is illustrated in Figure Sf. Figure 6 shows theresulting map for an awkwardly-distributed dataset that is not usually amenable to the rule-of-thumb neighbor andtraditional computersee Gold [1989].

weighting methods of mostprograms. For more details

i

8 0 0

8 0 5

78

8 4 0

arm I\\ - /I/

8 7 5

Figure 7: Area stealing interpolation of Davis data

Page 9: PROBLEMS WITH HANDLING SPATIAL DATA -THE VORONOI … · within each polygon are closer to its generating data point than to any other data point (Figure 1). The resulting tiling is

I-- ~~ C I S M J O U R N A L A C S G C I

8

8 3 0

755690 Rnnw-w

8 7 08 9 0

Figure 8: Davis data: standard deviation

Statistics - Variance of the Estimate

When we delete or insert the sampling point,and use the stolen area technique, we obtain aweighted average of the individual estimates ofthe neighbors. From this it should be possible tomake some statistical statements about the relia-bility of the stolen-area estimate. This may readilybe done as a simple weighted variance calculation- but only by ignoring the autocorrelationbetween spatial observations. Herein lies themajor problem in spatial statistics.

The problem is facilitated in our particularcase by our prior assumption of Voronoi adjacen-

8 8 0

8 9 0

8 6 0

cy: all our observations are associated with con-tiguous polygons. The spatial autocorrelationassociated with polygon sets (or the dual net-works) has been well studied in geography -e.g., Cliff and Ord (1973, 1981] and Haining[ 1978] - for a network with known weightings.Our polygon adjacency gives the network andour area-stealing gives the weighting, by delet-ing and reinserting the data points one at a timeand saving the “area-stealing” weights. Fromthis a weighting matrix can be constructed, giv-ing the weighting of every point against everyother point. Non-zero weightings will occurwhere deletion of one data point, followed by

8 5 5

820

8 4 0

8 7 5

910

73

Page 10: PROBLEMS WITH HANDLING SPATIAL DATA -THE VORONOI … · within each polygon are closer to its generating data point than to any other data point (Figure 1). The resulting tiling is

Figure 9: a) Point Voronoi diagram

Figure 9: b) Addition of a line segment: point 18 was split from point 17and moved to its final location

14

reinsertion, steals some finite area from the bub-bles of its adjacent data points. Thus the resultingweighting matrix of every data point against everyother will be sparse. The combination of Voronoiarea-stealing weightings and Cliff and Ord spatialautocorrelation statistics follows the work of Goldand Zhou (in preparation).

Depending on the time-series model assumed,an intermediate variance matrix Var (Y) = BBT canbe generated from the local (or global) weightingmatrix or network. (B is derived from the weight-ing matrix using either autoregressive or moving-average assumptions.) This gives a clustering orsampling variance estimate. When a MaximumLikelihood variance estimate S for attribute data(e.g., elevation) is included, a variance/covariancematrix Var (Y) = BSBT can be generated abouteach data point This includes both the “elevation”variability as well as the “spatial clustering” vari-ability.

To produce a contoured “reliability map” thevariance values at each data point may be con-toured conventionally. By doing this we are, unfor-tunately, again assuming zero autocorrelation ofobservations around the sampling point used forarea-stealing interpolation. This may be overcomeby using the method of linear composites [Dunte-man 1984] whereby we may take a weighted aver-age of the variance/covariance matrices at theneighboring data points. By using the same area-stealing weightings for the matrices as we do forthe interpolation itself, this procedure becomesalmost *‘common sense”. Figure 7 shows the Davisdata of Figure 1 contoured using area-stealing inter-polation, and Figure 8 shows the standard devia-tions obtained by the linear composite calculation.

Dynamic ModelingAs previously shown, by judicious switching

of adjacent triangle pairs it is possible to maintainthe Voronoi relationships (boundaries, or edges inthe dual Delaunay triangulation) while a point is inmotion, without having to completely rebuild theVoronoi diagram or equivalent dual triangulation.Thus problems involving the relative motion of par-ticles may be handled efficiently. See Iri et al.(1984] for an example of “geographical optimiza-tion problems” that are solved by rebuilding theVoronoi diagram after each shifting of the migrat-ing points. Other applications include various typesof fluid flow modeling, usually concerning eitheratmosphere or water. For examples where Voronoimethods could be applied to Free Lagrange fluidsimulation see Fritts et al. [1985]. Three dimen-sional point Voronoi diagrams, where required, canbe developed using direct analogues to the twodimensional techniques described above.

From Points to LinesSo far we have dealt with the area-stealing

approach for interpolation from point data sets. It

Page 11: PROBLEMS WITH HANDLING SPATIAL DATA -THE VORONOI … · within each polygon are closer to its generating data point than to any other data point (Figure 1). The resulting tiling is

C I S M JOURNAL A C S G C

is also possible to consider a variety of problemsconcerning maps that include line segments aswell as points as forms of interpolation - but firstit is necessary to create Voronoi polygons for line-segment objects as well as for points. This isdescribed in detail in Gold [ 199Ob], and is sum-marized below.

The ability to move points within the Voronoidiagram readily gives rise to the ability to gener-ate a line segment as the locus of a moving point.Thus a line segment is the record of all the adja-cency relationships associated with the movingpoint during its migration. A noticeable differenceis that the implicit boundary between a point

0

“nucleus” and a line “nucleus” is parabolic,while between pairs of points and pairs of linesthe boundary is linear. While this appears tomake things more complicated, there is in factvery little difference, as only the existence of aboundary, of any type, is recorded. As before,the relationships are preserved as the dual trian-gulation.

Because a line segment is the history of themovement of a point, a distinction must be madebetween the interior of the line segment (whichhas a particular distance-function relationshipwith neighboring objects) and the two end pointswhich it connects. Thus the connection of two

0

Figure 10: Polygon with Voronoi regions: corridor and point-in-polygon problems

Page 12: PROBLEMS WITH HANDLING SPATIAL DATA -THE VORONOI … · within each polygon are closer to its generating data point than to any other data point (Figure 1). The resulting tiling is

I C I S M J O U R N A L A C S G C I

Graphtraversaltechniqueson the dualtriangula-tion ensurethat thecorridorboundariesnevercross eachother, evenfor widecorridors.

existing points by a line segment adds additionalinformation to the map, and this is reflected in theinsertion of an additional object (the line segmentinterior) into the Voronoi diagram and into the dualtriangulation. Figure 9 shows the Voronoi diagramfor a single line segment among a set of points -which could equally well be considered the historyof the movement of the end point. For details seeGold [1990b].

Reverting for a moment to the interpolationtheme: the “area-stealing” method is, in its defini-tion, completely independent of the Voronoi poly-gon shape. Thus in the previous figure part of thecomplex polygon around the line segment couldhave been stolen by the estimation point. This per-mits the inscttion of linear features into the pointdatabase used for interpolation or contouring.Obvious examples are stream valleys, contour linesegments and geological faults.

The Raster / Vector DichotomyFor as long as computers have manipulated

spatial data there have been two methodologiesemployed: the raster world, where space is subdi-vided into little squares, each of which is then clas-sified; and the vector world, where objects are“drawn” with a vector based pen and the resultinglines assembled using line-intersection cues toform map objects. Much has been written aboutthe strengths and weaknesses of each, and manyattempts have been made to effectively simulatethe one with the other. Recasting both as Voronoidiagrams, however, is illuminating. The regularspacing of raster point locations can be consideredto generate a regular (square) Voronoi diagram,thus permitting a regular set of adjacency relation-ships based on adjacency of the Voronoi polygons.Thus spatial adjacency is implicit but many rasterobjects are required to represent one map object(such as a straight line). In the vector case there isa direct relationship between the internal computerrepresentation and the map object, but no directspatial adjacency - that is provided by theVoronoi tiling process described here. Thus theVoronoi diagram of points and line segments pro-vides a common way to represent both raster andvector information (albeit with a certain redundan-cy). It also has the desirable properties of both: aknown spatial adjacency structure and a one-for-one mapping with “real” map objects.

PolygonsFigure 10 shows the result of generating a

simple polygon from points and line segmentsusing the methods described previously. The basicVoronoi operations performed were: “search” tolocate the nearest existing point to the locationdesired for the new object; “split” to gcncratc anew point object from the desired parent object(together with a connecting line segment if

desired); “move” to move the new point to itsfinal location, preserving all Voronoi relationshipson the way; and “merge” to close the polygonloop at the end by deleting the unwanted movingpoint once it reaches the location of the first ver-tex of the polygon. The search was performedonce to find a nearby initial data point; “split” and“move” were used to generate the initial vertex(the bottom right vertex in the figure); “split” and“move” were used to generate each polygon edge(but this time creating a “rubber band” line seg-ment between the parent and moving points); and“merge” was used to dispose of the unwantedmoving point at closure of the completed polygon.

Corridors, Skeletons and Point-in-Polygon Problems

The result of these basic operations is theVoronoi diagram of the points and line segmentsforming the polygon. By definition, the polygonskeleton is formed by the boundaries of the interi-or Voronoi regions - somewhat similar to the“bisector skeletons” of Brassel and Jones [1984].Polygon skeletons (also called medial axis trans-forms) are of considerable interest in a variety ofcartographic applications. The central part of theskeleton is a natural candidate for placement ofthe polygon name. Ogniewicz and Ilg [l990] andIlg[1990] generate the skeleton from closely-spaced boundary points obtained from photo-graphic imagery, and use this for object identifica-tion - varying from cookies on a tray to road net-work tracing. Other uses exist in character recog-nition - although here the skeletons are usuallyapproximated by using raster techniques.

In addition, the corridor or buffer zone arounda map object may be derived directly from theVoronoi diagram, as also illustrated in Figure 10:Voronoi zones of line segments have linear corri-dor edges, and Voronoi zones of points have circu-lar arcs. Graph traversal techniques on the dual tri-angulation ensure that the corridor boundariesnever cross each other, even for wide corridors.Traditional techniques require a considerableamount of effort, as parallel line segments and cir-cular arcs must be generated for each of the gener-ating line segments and points. Following this theactual corridor boundary pieces must be clippedand assembled using line intersection and topolo-gy-building techniques. The Voronoi approachappears to be more direct.

Point-in-Polygon Problems -Interpolation Again

Figure 10 also illustrates a direct implementa-tion of Nordbeck and Rystedt’s [1972] “EnlargedOrientation Theorem for Polygons”, to solve thepoint-in-polygon problem. This states:

Page 13: PROBLEMS WITH HANDLING SPATIAL DATA -THE VORONOI … · within each polygon are closer to its generating data point than to any other data point (Figure 1). The resulting tiling is

I C I S M J O U R N A L A C S G C I

1. A point P lies in the interior of a polygon ifit lies closer to its nearest edge [v(i), v(i+l)]than to its nearest vertex and if the orienta-tion of the triangle [v(i), v(i+l), P] is thesame as that of the polygon.

2. A point P lies in the interior of a polygon ifit lies closer to its nearest vertex v(i) than toits nearest edge, and the vertex v(i) is con-cave.

Given the Voronoi diagram of the polygon theproblem reduces to determining the Voronoiregion within which the point falls (i.e., the closestmap object). In Figure 10, P is interior, closest toa line segment; Q is interior closest to a vertex; Ris exterior closest to a vertex, and S is exteriorclosest to a line segment. The method generalizesefficiently to determining which polygon of manya point falls within - a problem usually morecomplex than simply determining whether thepoint falls within a given polygon.

Note that the point-in-polygon problem mayalso be treated as an area-stealing interpolationproblem if desired. As stated above, an estimationpoint may be inserted within any Voronoi map,and stolen areas calculated. If the polygon bound-ary segments have been labeled with the polygonnumber associated with each side of each bound-ary, and then the estimation point is inserted andthe stolen-area weighted average calculated asbefore, the result will be 100 percent of thedesired polygon number. This illustrates that thepoint-in-polygon problem is really a form of inter-polation over a step shaped surface formed by thepolygons themselves.

Theft - Kansas Style

An additional form of interpolation is ofinterest where administrative districts areinvolved, and one of them has a missing or unreli-able data value. Tobler and Kennedy [ 1986] usethe State of Kansas as an example (see Figure 11).A plausible approach would be to take a weightedaverage of the adjacent states - Tobler andKennedy suggest weighting as a function of thelength of the common boundary. However, thearea-stealing process used for point data canequally well be used here. When working withpoint data an estimation point was inserted, gener-ating a sampling polygon which stole some terri-tory from the neighboring polygons. The individu-al stolen areas were then used as weightings forthe neighboring data point values. In the case ofKansas, however, the Voronoi polygons wereformed from the skeletons of the state polygons,as shown in Figure 11. Let us suppose thatKansas, as an administrative district, wereremoved - and adjacent states invaded across thenow nonexistent borders. Each state would thus

Figure 11: a) States adjacent to Kansas, b) Voronoi regions of Kansasboundaries

acquire the territory closer to its original borderthan to any other. As Figure 11 shows, theVoronoi diagram of the boundaries of theKansas polygon divides the state in preciselythat way, and weightings of the values in adja-cent states are calculated (exactly as for pointdata sets) as the weighted average of the neigh-boring values. Thus “Theft - Kansas Style”forms a basis for missing-census-district interpo-lation. In addition, error estimates may be madein the same manner as described for point data.

Building Polygons and IslandsFigure 12 shows the Voronoi diagram of

another polygon - this time with an interiorisland. Note that, based on our adjacency defini-tion, segments of the interior island polygon areadjacent to segments of the exterior polygon.Thus islands need not be treated as in any waydiffering from other polygons, line or points.This is in contrast to line intersection methodsfor polygon building, where adjacency can onlybe determined where lines cross. In that situa-tion an island, having no boundaries that inter-sect those of the enclosing polygon, must betreated as a separate graph-theoretic structurewhich requires additional information to belocated within the correct polygon.

In the Voronoi case the relationshipsbetween boundary segments are stored internallyas the dual triangulation, but this has been leftout of Figures 10 and 12 for visual simplicity.

In addition, in Figure 12 the interior poly-gon has been left incomplete - its right-hand

77

Page 14: PROBLEMS WITH HANDLING SPATIAL DATA -THE VORONOI … · within each polygon are closer to its generating data point than to any other data point (Figure 1). The resulting tiling is

C I S M J O U R N A L A C S G C

Figure 12: Polygon with interior island

edge has not quite been extended to the lower rightvertex, an error that would be common during themap digitizing process. Nevertheless, the Voronoiboundary relationships and dual triangulation,because they are complete for any set of uncon-nected map objects, are also complete here. Thus asimple examination of the adjacency relationshipsaround the moving point would be suflicicnt to“snap together’* the vertices of the almost-closedpolygon. Thus real-time monitoring of the polygondigitizing process is readily achieved, as is subse-quent editing. This may readily be visualized as a“navigation” problem, with the spatial location of

0

the pen, or moving point, being defined in termsof its immediate Voronoi neighbors.

ConclusionsThe emphasis in this paper has been on the

benefits of several related concepts:1) Spatial adjacency can be defined as the

meeting of the Voronoi regions (or “bub-bles”) surrounding each member of a setof points.

78

Page 15: PROBLEMS WITH HANDLING SPATIAL DATA -THE VORONOI … · within each polygon are closer to its generating data point than to any other data point (Figure 1). The resulting tiling is

C I S M J O U R N A L A C S G C

2) The ability to handle moving points per-mits certain types of simulation problemsand the generation of line-segmentVoronoi Diagrams.

3) The insertion of a new map object“steals” territory from its Voronoi neigh-bors, giving a simple weighted averageinterpolation procedure.

4) The existence of line-plus-point Voronoidiagrams permits polygon building pro-cesses which handle island, incompletepolygon and navigation problems elegant-ly, and allow generalization of the pointinterpolation process to include point-in-polygon and missingcensusdistrict prob-lems, plus statisticaI descriptions.

It is hoped that this paper, as an overview ofone current research program in the manipulationof spatial data, has aroused some interest in thisalternative view of spatial relationships. The func-tional limits of the technique have not yet beenexplored, and there is need to encourage furtherstudy of the basic techniques and further potentialapplications.

AcknowledgementsThe funding for this research was made possi-

ble in part by a National Sciences and EngineeringResearch Council of Canada operating grant, andin part by an Energy, Mines and Resources Cana-da research agreement. The author is currently theholder of an Industrial Research Chair in Geomat-ics, jointly funded by NSERC and the Associationde 1’Industrie Forestière du Québec.

ReferencesBajaj. C.L. and W.J. Bouma. 1990. Dynamic Voronoi dia-

grams and Delaunay triangulations, Proceedings,Second Canadian Conference in ComputationalGeometry, Ottawa, August, 1990, pp. 273-277.

Boots, B.N. 1974. Delaunay triangles: an alternativeapproach to point pattern analysis, Proceedings,American Association of Geographers, Vol. 6 pp.26-29.

Brassel, K.E. and P.L. Jones. 1984. The construction ofbisector skeletons for polygonal networks, Pro-ceedings, International Symposium on SpatialData Handling, Zurich 1984, Vol. 1 pp- 117-126.

Bowyer. A. 1981. Computing Dirichlet tesselations,Computer Journal, Vol. 24, pp. 162-166.

Cliff, A.D. and J.K. Ord. 1973. Spatial Autocorrelation,Pion, 178p.

Cliff, A.D. and J.K. Ord. 1981. Spatial Processes:Models and Applications, Pion, 266p.

Davis, J.C. 1973. Statistics and Data Analysis in Geol-ogy, John Wiley and Sons, New York, 550p.

Dunteman, G.H. 1984. Introduction to Linear Models,SAGE, Newbury Park, California.

Elfick, M.H. 1979. Contouring by use of a triangularmesh, Cartographic Journal, Vol. 16 pp. 24-29.

Fritts, M.J., W.P. Crowley and H. Trease (eds.) 1985.Lecture Notes in Physics 238: The FreeLagrange Method, Springer-Verlag, Berlin,313p.

Gold, C.M. 1978. The practical generation and use ofgeographic triangular element data structures, G.Dolton, (ed.), First Advanced Study Symposiumon Topological Data Structures for GeographicInformation Systems, Harvard Papers on Geo-graphic Information Systems, Volume 5 - DataStructures: Surficial and Multi-Dimensional,Laboratory for Computer Graphics and SpatialAnalysis, Harvard University.

Gold, C.M. 1981. Ordering of Voronoi networks andtheir use in terrain data base management, Pro-ceedings, AUTO-CART0 8. Baltimore, March1987, pp. 185-194.

Gold. C.M. 1988. Further research on Voronoi dia-grams - a common basis for many applications,Trends and Concerns of Spatial Sciences, ThirdAnnual International Seminar - Proceedings, Y.Bcdard, cd., Université Laval.

Gold, C.M. 1989. Chapter 3 - Surface interpolation,spatial adjacency and GIS, Three DimensionalApplications in Geographic Information Sys-tems, ed. J. Raper, Taylor and Francis, Ltd.. Lon-don, pp. 21-35.

Gold, C.M. 1990a. Space revisited - back to thebasics, Proceedings, Fourth International Sym-posium on Spatial Data Handling, Zurich, July1990, pp. 175-189.

Gold, C.M. 199Ob. Spatial data structures - the exten-sion from one to two dimensions, Mapping andSpatial Modelling for Navigation, cd. L.F. Pau,NATO ASI Series F No. 65, Springer - Verlag,Berlin, pp. 11-39.

Gold, CM., T.D. Charters and J. Ramsden. 1977.Automated contour mapping using triangularelement data structures and an interpolant overeach triangular domain, Computer Graphics,Vol. 11, June, pp. 170-175.

Green, P.J. and R. Sibson. 1978. Computing Dirichlettessellations in the plane, Computer Journal,Vol. 21, pp. 168-173.

Haining, R.P. 1978. The moving average model forspatial interaction, Transactions, Institute ofBritish Geographers, N.S. Vol. 3, pp. 202-225.

Ilg, M. 1990. Knowledge-based interpretation of roadmaps, Proceedings, First European Conferenceon Geographic Information Systems, Amster-dam, April 1990, pp. 25-34.

Iri. M.. K. Murota and T. Ohya. 1984. A fast Voronoi-diagram algorithm with applications to geographi-cal optimization problems, Lecture Notes in Con-trol and Information Science, Vol. 59: SystemModelling and Optimization, ed. P. Throft-Chris-tcnsen. Berlin: Springer, pp. 273-288.

Lawson, C.L. 1977. Software for C-l surfaceinterpolation, Jet Propulsion Laboratory Publi-cation 77-30, August 1977.

Lee, D.T. and B.J. Schacter. 1980. Two algorithms forconstruction a Dclaunay triangulation, Interna-tional Journal of Computer and InformationSciences, Vol. 9, pp. 219-242.

Nordbeck, S. and B. Rystedt. 1972. Computer Car-tography, Studentlitteratur, Lund, Sweden.

79

Page 16: PROBLEMS WITH HANDLING SPATIAL DATA -THE VORONOI … · within each polygon are closer to its generating data point than to any other data point (Figure 1). The resulting tiling is

C I S M JOURNA L A C S G C I

Ogniewicz, R. and M. Ilg. 1990. Skeletons withEuclidean metric and correct topology and theirapplication in object recognition and documentanalysis, Proceedings, First European Conferenceon Geographic Information Systems, Amsterdam,April 1990, pp. 15-24.

Ross, T. 1990. Voronoi diagrams over dynamic scenes,Proceedings, Second Canadian Conference inComputational Geometry, Ottawa, August 1990,pp. 209-213.

Shamos, MI. 1978. Computational Geometry, Ph.D.thesis. Department of Computing Science, YaleUniversity, Connecticut.

Sibson R. 1982. A brief description of natural neigh-bour interpolation, Interpreting Multivariate Data,ed. V. Bamett. Wiley. London, pp. 21-26.

Tobler, W.R. and S. Kennedy. 1986. Smooth multidi-mensional interpolation, Geographical Analysis,Vol. 17. pp. 251-257.

8 0