0% found this document useful (0 votes)
26 views15 pages

Geographical Analysis - July 1979 - Brassel - A Procedure To Generate Thiessen Polygons

Uploaded by

adams ibrahim
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views15 pages

Geographical Analysis - July 1979 - Brassel - A Procedure To Generate Thiessen Polygons

Uploaded by

adams ibrahim
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

15384632, 1979, 3, Downloaded from https://onlinelibrary.wiley.com/doi/10.1111/j.1538-4632.1979.tb00695.x by EBMG ACCESS - GHANA, Wiley Online Library on [31/01/2023].

See the Terms and Conditions (https://onlinelibrary.wiley.com/terms-and-conditions) on Wiley Online Library for rules of use; OA articles are governed by the applicable Creative Commons License
Kurt E. Brassel and
Douglas Reif*

A Procedure to Generate T;hiessen Polygons

An algorithm to generate Thiessen diagrams for a set of n points defined in


the plane is presented. First, existing proximal polygon computation procedures
are reviewed and t e r n are defined. The algorithm developed here uses a
rectangular window within which the Thiessen diagram is de5ned. The com-
putation of Thiessen polygons uses an iterative walking process whereby the
processing stmi?s at the Iower lejl corner of the diagram and proceeds toward the
right top c m r . The use of a sorted point sequence and dynamical core
allocation provide for e f i e n t processing. The presentation is concluded b y the
discussion of an impbmentutim of the algorithm in a FORTRAN program.

1. INTRODUCTION
In 1911 the climatologist A. H. Thiessen suggested a new method of
representing precipitation data from unevenly distributed weather stations. He
defined regions based on a set of data points in the plane (weather stations)
such that “regions be enclosed by a line midway between the station under
consideration and surrounding stations” [36, p. 10831. Based on this proposal
the term Thiessen polygon has since been commonly used in geography to
denote polygons defined by proximity criteria with respect to a set of points in
the plane. The net of all Thiessen polygons defined by the point set is called a
*Some preliminary studies leading to this algorithm have been initiated by Dr.Thomas Peucker,
Simon Fraser University, and have been supported by ONR Contract N0001475-0886. Mr. Robert
Fowler, Simon F r w r University, has pointed out and corrected some important shortcomings of a
preliminary version of this algorithm. The implementation of the present procedure has been
supported by the Erie and Niagara Counties Regional Planning Board. Mr. George Sicherman
reviewed the manuscript and provided substantial help in formulating the p m f section of this
paper. h4r. Mike Wasilenko executed the illustrations. The authors gratefully acknowledgeall these
contributions.

Kurt E. Brassel is assistant pfasor of geography and Douglas Reif is a gmduate


student in computer science, State university of New York at Buffalo.
0016-7363/79/0779-0289$00.!50/0 0 1979 Ohio State University Press
GEOGRAPHICAL ANALYSIS, vol. 11, no. 3 (July 1979)
Submitted 6/78. Revised version accepted 12/78.
15384632, 1979, 3, Downloaded from https://onlinelibrary.wiley.com/doi/10.1111/j.1538-4632.1979.tb00695.x by EBMG ACCESS - GHANA, Wiley Online Library on [31/01/2023]. See the Terms and Conditions (https://onlinelibrary.wiley.com/terms-and-conditions) on Wiley Online Library for rules of use; OA articles are governed by the applicable Creative Commons License
290 / Geographical Analysb

Thiessen diagram, or alternatively a Voronoi diagram [37], Wigner-Seitz cells,


or Dirichlet tesselation. Hoey has proposed the more descriptive and impartial
term “proximal polygons” [31, p. 1961. The dual of a Thiessen diagram is a
triangulation based on proximity criteria. Delaunay [lo] first recognized this
dual relationship; therefore, the term Delaunay triangulation is used for the
dual form of proximal diagrams.
Traditionally, proximal polygons are constructed by computing perpendicular
bisectors between all neighboring points of the set. The major problem,
however, is to define the “neighbors” of each point set. This problem is
fundamental in geometry and has some impact to related problems such as the
“post office problem” [I91 and the construction of spanning trees. The Thies-
sen polygon is one of the most fundamental and useful constructs defined by
irregular lattices.
A variety of scientific contributions deal with the various aspects of proximal
polygon generation and use. A first group represents early introductions to the
method and intuitive rules for construction [lo, 13,36,37,38].
A second group discusses the theoretical aspects of the method. Rogers [29]
defines the mathematical properties of the Thiessen diagrams. Shamos [31,32],
Shamos and Hoey [a],and Shamos and Bentley [33] lay the theoretical
framework for the computational aspects of proximal polygons. They use
proximity problems as a test case and as an illustrative example for the
emerging discipline of computational geometry. Computational geometry
“seeks to understand the interaction between geometry and computing. Its task
is to isolate fundamental problems and develop optimal algorithms to solve
them, building, so to speak, a set of computing tools that can be used in diverse
applications” [33, p. 11. Methodologically, computational geometry con-
centrates on the analysis of the complexity of geometrical problems and
algorithms to solve them. The complexity of a problem can be expressed by the
order of magnitude of the number of operations used in solving it. For a
problem involving N objects the following notation for complexity is used:
“ O ( f ( N ) )stands for the set of all functions g ( N ) such that there exist positive
constants C and M with I g(N)I < Cf(N)for all N > M” [33, p. 21. A problem
can be said to require at least O ( f ( N ) )operations to be solved (lower bound),
where a specific algorithm may solve this problem in the worst case in O ( f ( N ) )
operations (upper bound).
Shamos, Bentley, and Hoey establish several theorems concerning the com-
plexity of various nearest neighbor tasks. The major findings include the
following: (a) “O(N1ogN) is a lower bound on the time required to determine
the two closest of N points in dimension one and higher” [34, p. 1521; (b)
“O(N1ogN) is a lower bound on the time required to triangulate N points in
dimension two or higher” [34, p. 1531; (c) “the Voronoi diagram of N points in
the plane can be constructed in O(N1ogN) time” [34, p. 1511; and (d), “given
the Voronoi diagram on N points in the plane, their convex hull can be found in
linear time” [31, p. 2091. Shamos and Hoey [34] also generalize the proximal
diagram by defining regions dealing with the farthest points, the k closest
points, and so on. Bentley and Shamos [ I , 21 further extend the analysis of
closest point problems to multidimensional space. Lloyd [22] demonstrates that
a Delaunay triangulation is not a minimum weight triangulation, Sibson [35]
proves that the Delaunay triangulation is the only triangulation that is locally
15384632, 1979, 3, Downloaded from https://onlinelibrary.wiley.com/doi/10.1111/j.1538-4632.1979.tb00695.x by EBMG ACCESS - GHANA, Wiley Online Library on [31/01/2023]. See the Terms and Conditions (https://onlinelibrary.wiley.com/terms-and-conditions) on Wiley Online Library for rules of use; OA articles are governed by the applicable Creative Commons License
Kurt E . Brassel and D o u g h Reif / 291

equiangular. Fowler [14] presents a comparative study of searching algorithms


where the strength of proximal diagrams is demonstrated.
Other algorithms and computer procedures have been proposed for proximal
map construction and related problems. Shamos and Hoey [34] present a
divide-and-conquer algorithm, which they prove to be theoretically optimal.
Fowler [14, 151 developed “walking” algorithms for both the construction of,
and search procedures within, Delaunay triangulations. Green and Sibson [171
propose a recursive algorithm and present a thorough analysis of its implemen-
tation. Other algorithms are given by Rhynsburger [28], Lawson [21], McLain
[23], and Mead [24].
The applications of the proximal polygon concepts are many and varied-in
locational analysis [3, 4, 5, 6,181, in plant ecology [24], cristallography [16],
and as a basic organizationalstructure in geographic information systems [8,27,
331. Crain [Q] uses the concept to establish properties of Poisson distributions
in two-dimensional space, and Schachter [30] bases the decomposition of
polygons into convex sets on the Thiessen structure.
The present paper presents another algorithm to define Thiessen diagrams. It
uses a “walking” algorithm and is based on a point sort and subsequent local
processing. A preliminary version of this concept is described in [ 71.

2. DEFINITIONS

A set N of n points is given in the plane, which in this discussion are called
centroids (see Fig. 1).Find a set of points V in the plane such that each V, E V
is equidistant and closest to at least three centroids; these points are termed
(Thiessen) uertices. A (Thiessen) edge is the locus of all points equidistant and
closest to two centroids; Thiessen edges may be delimited by two vertices or
may be unlimited in one direction. A Thiessen polygon is defined as the locus of
all points closer to a centroid C E N than to any other centroid. This definition
implies that Thiessen polygons are convex. The set of n centroids determines a
set of n Thiessen polygons. The set of all polygons is called a Thiessen diugrum.

CENTROIDS

v T H I ESSEN VERTEX

p PSEUDO-VERTEX

FIG.1. Definition of Terms Used for Thiessen Polygon Computation


15384632, 1979, 3, Downloaded from https://onlinelibrary.wiley.com/doi/10.1111/j.1538-4632.1979.tb00695.x by EBMG ACCESS - GHANA, Wiley Online Library on [31/01/2023]. See the Terms and Conditions (https://onlinelibrary.wiley.com/terms-and-conditions) on Wiley Online Library for rules of use; OA articles are governed by the applicable Creative Commons License
292 / Geographical Analysis

Thiessen polygons may be closed or open; closed polygons are entirely bounded
by Thiessen edges, open polygons extend to infinity. Define the cmvex hull of
the set N of centroids as the smallest convex polygon enclosing all centroids. All
centroids of the boundary of the convex hull have open Thiessen polygons, and
all interior centroids have closed polygons. A centroid B is called a Thiessen
neighbor of a centroid C if the Thiessen polygons about the two centroids have
an edge in common; they are called half-neighbors if they have a single vertex
in common.

3. BASIC CONCEPTS
Assume a given set of centroids in the plane. Given also is a rectangular
window that includes the set of centroids; this window is further referred to as
the border of the Thiessen diagram. In order to ease computation, the border is
selected parallel to the Cartesian axes and the centroids are sorted in x-direc-
tion. In our procedure the Thiessen diagram will be restricted to the Cartesian
rectangle, where portions of the border delimit open Thiessen polygons. This
delimitation of the Thiessen diagram is achieved by adding some dummy points
to the point set during processing time (see Fig. 2).
Given the centroid A, four dummy points W through 2 are introduced such
that perpendicular bisectors between A and the dummy points generate the
four edges of the border (Fig. 2). If A is the point closest to the lower left
comer V, then V, must be a vertex of the Thiessen polygon about A , and
dummy point X is a neighbor of A . Further searching can be reduced to a
search for the “next neighbor of A clockwise to X.” In this discussion the phrase
“next clockwise neighbor” will be used for this relationship.

FIG.2. Inserting D u m m y Data Points ta the Point Set


15384632, 1979, 3, Downloaded from https://onlinelibrary.wiley.com/doi/10.1111/j.1538-4632.1979.tb00695.x by EBMG ACCESS - GHANA, Wiley Online Library on [31/01/2023]. See the Terms and Conditions (https://onlinelibrary.wiley.com/terms-and-conditions) on Wiley Online Library for rules of use; OA articles are governed by the applicable Creative Commons License
Kurt E . Brassel and D o u g h Reif / 293

The procedure to search for a clockwise neighbor is based on the following


assumptions:
*Thiessenpolygons are always convex.
*The next clockwise neighbor is located in the halfplane in a clockwise
direction from a vector connecting the centroid and the present neighbor.
(This holds only for interior centroids. Through the introduction of the
dummy points, however, all centroids of the original set can be considered
interior.)
*A vertex V equidistant to three centroids A, B, and C is a true Thiessen
vertex if no other centroid is located within a circle of radius R about V (R
is the distance between vertex V and the three centroids A , B, and C ) .
The first two assumptions are proven in the appendix; a proof for the third
assumption is given by Shamos [31,p. 2011. The strategy used for the computa-
tion of the next neighbor of A clockwise to X is as follows:
1. Define the two halfplanes El, E,: El is clockwise with respect to a vector
AX, E, is counterclockwise with respect to AX
2. Select a first potential neighbor P in the halfplane El. One of the dummy
points will always suffice. Find the point V equidistant to A, X , and P. V
is called a potential vertex and R is the distance from V to A, X , and P,
respectively.
3. Search for point P‘, which is both in the halfplane El and inside the circ€e
(V, R). If such a point P’ exists, compute (V‘, R’) equidistant to A , X , P’,
where R ’ < R ; declare P‘ the new potential neighbor. When there are no
points remaining within the circle/halfplane, the potential neighbor is the
next clockwise neighbor.
The above strategy is illustrated in Figures 3 and 4. Point X is a known
neighbor of A . To find the next clockwise neighbor, select point W as a
potential neighbor. Compute V, R by intersecting the bisectors defined by pairs
of A, X , and W, and search for a point in (V, R ) in E,. Start this search at point
X and follow the sorted sequence of the point set (indicated by dashed lines in
Fig. 3a), and find B. Since B is within the circle, it is the new potential
neighbor.
Compute V’ and R ’ (Fig. 3b). Once it is proven that no other point is within
(V‘, R ’), declare point B to be the next clockwise neighbor and V‘ a vertex of
the Thiessen polygon about A.
Search for the next clockwise neighbor of A with respect to B (Fig. 3c):
redefine the halfplanes El, E2 and use W as the first potential neighbor,
compute ( V , R ) . Find D within ( V , R ) , compute V’, R’. Since there is no
further point within El and (V’, R ’), D is the next clockwise neighbor and V’is
a polygon vertex. The detailed algorithm for the search for the next clockwise
neighbor is given in Figure 4. In special cases-as illustrated in Figure 5a-a
point P may be situated on the perimeter of the circle defined by A, P, X . This
implies that A , P, and X , P’ are half-neighbors. The procedure retains the “less
clockwise” of the two points P and P’,and the other is considered outside the
circle. In Figure 5b, A, P are recorded as (full) neighbors and X , P‘ are not
considered neighbors at all. V,, V, are vertices with identical physical locations.
15384632, 1979, 3, Downloaded from https://onlinelibrary.wiley.com/doi/10.1111/j.1538-4632.1979.tb00695.x by EBMG ACCESS - GHANA, Wiley Online Library on [31/01/2023]. See the Terms and Conditions (https://onlinelibrary.wiley.com/terms-and-conditions) on Wiley Online Library for rules of use; OA articles are governed by the applicable Creative Commons License

FIG.3. Strategy for the Computation of the Next Neighbor of A Clockwise to X


15384632, 1979, 3, Downloaded from https://onlinelibrary.wiley.com/doi/10.1111/j.1538-4632.1979.tb00695.x by EBMG ACCESS - GHANA, Wiley Online Library on [31/01/2023]. See the Terms and Conditions (https://onlinelibrary.wiley.com/terms-and-conditions) on Wiley Online Library for rules of use; OA articles are governed by the applicable Creative Commons License
GIVEN: CENTROID A. KNOWN NEIGHBOR X
TASK: F I N D N E X T C L O C K W I S E NEIGHBOR P
AND C O M P U T E NEW V E R T E X V

1 ) F I N D F I R S T P O T E N T I A L NEIGHBOR P :
COMPUTE VERTEX V AND R A D I U S R:

I
V.R = f ( A . X . P )
2) F I N D F I R S T P O I N T P'
TO BE
SUBJECTED TO C I R C L E TEST

F I N D NEXT
POINT P'

DECLARE P '
AS P O T E N T I A L
NEIGHBOR P;
RECOMPUTE
V,R

FIG. 4. Procedure to Find Next Clockwise Neighbor (Circle Test)

FIG. 5. Handling of the Halfneighbor Problem


15384632, 1979, 3, Downloaded from https://onlinelibrary.wiley.com/doi/10.1111/j.1538-4632.1979.tb00695.x by EBMG ACCESS - GHANA, Wiley Online Library on [31/01/2023]. See the Terms and Conditions (https://onlinelibrary.wiley.com/terms-and-conditions) on Wiley Online Library for rules of use; OA articles are governed by the applicable Creative Commons License
296 / Geographical Analysis
w
7

'8

FIG.6. Illustration Example for the FVocewn


' g Sequence

The search for next clockwise neighbors is repeated until the polygon about
the centroid in question is completed, and all the neighbors are recorded in a
neighborhood record. For the polygon about A in Figure 6, the neighborhood
recorded is as follows: A: X, B, D, C, Y, (X).
Since each vertex V, pertains to three Thiessen polygons, all neighborhood
relationships are mutual. Once a vertex is found it is stored and the mutual
relationships among the centroids involved are recorded in a bookkeeping
process. Whenever a new vertex V, in Figure 6 is found, the following entries
are made into the neighborhood file (modifications to the neighborhood file in
each step are in boldface).

V,,: A: Y, X (for the dummy points no neighborhood records are kept)


V,: A: y, x,B
B: A, X
V,: A: Y, X , B, D
B: D, A, X
D: 4 B
V,: A: Y, X , B, D, C
B: D, A, X
D: c, A, B
C: A, D
V,: A: Y, X , B, D, C, (Y) completed
B: D, A, x
D: C, A, B
C: y,A, D

Since the polygon about A is now completed, its neighbor record is eliminated
from the list, and the next centroid is chosen from the list for processing. This is
centroid B with D, A, X as known neighbors, where X is the most clockwise
point. The four dummy points are shifted to a position such that the bisectors
between dummy points and centroid B generate the four edges of the border.
15384632, 1979, 3, Downloaded from https://onlinelibrary.wiley.com/doi/10.1111/j.1538-4632.1979.tb00695.x by EBMG ACCESS - GHANA, Wiley Online Library on [31/01/2023]. See the Terms and Conditions (https://onlinelibrary.wiley.com/terms-and-conditions) on Wiley Online Library for rules of use; OA articles are governed by the applicable Creative Commons License
Kurt E . Brassel and D o u g h Reif / 297

SORT P O I N T

ALONG
X-AX1 S

FIRST
CENTROID
AND I T S i S T

F I N D NEXT
BOOKKEEPING:
ADO DUMMY N E I GHBOR
P O I N T S TO CLOCKWISE: STORE NEW
P O I N T SET C O M P U T E NEW VERTEX
COORD. AND
RECORD
N E I GHBORHOOO
RELATIONSHIPS

I 1YES

CENTROID T H l ES5EN

PROCESSED

RESTRUCTURE
F I L E S AND

FIG.7. The Framework of the Algorithm

Processing continues:
V,: B: D, A, X , W
D: C , A , B
C Y,A, D
V,: B: D, A, X , W, (D) completed
D: C , A , B, W
C: Y, A, D
15384632, 1979, 3, Downloaded from https://onlinelibrary.wiley.com/doi/10.1111/j.1538-4632.1979.tb00695.x by EBMG ACCESS - GHANA, Wiley Online Library on [31/01/2023]. See the Terms and Conditions (https://onlinelibrary.wiley.com/terms-and-conditions) on Wiley Online Library for rules of use; OA articles are governed by the applicable Creative Commons License
298 / Geographical Analysis

Remove B and process D:


V,: D: C , A, B, W, Z
C: Y,A, D
v8: D: c, A, B, w, z, (c)Completed
C: Y,A, D,Z
V,: C: Y,A, D, Z , (Y) completed
Since the list is exhausted at this point, the Thiessen diagram is completed.
Through the use of the dynamically modified list of neighbor records space
requirements are kept modest.
In summary, the computation of Thiessen polygons begins with the centroid
closest to the lower left-hand comer of the window and proceeds towards the
centroids near the right top. The search for neighbors and the computation of
vertices for a single polygon is performed in a search clockwise around the
centroid. Once the entire diagram is completed the information pertaining to
vertices and neighborhood relations is restructured and the diagram is plotted.
The overall framework of the procedure is outlined in Figure 7.

4. ALGORITHM IMPLEMENTATION AND EVALUATION


The algorithm as described has been encoded in Fortran IV and test runs
have been performed on a CDC Cyber 173 (Fig. 8). The procedure is con-
structed of four overlays performing such tasks as input and sort, Thiessen
computation, merging of polygon descriptor records with vertex and name files,
and plot.
The program as implemented allows for processing of Thiessen diagrams with
up to 5,000 points. This implementation requires 46000,, (1070008) words on a
CDC Cyber 173. A series of test computations has been run for Thiessen

FIG.8. Thiessen Test Example: 1,OOO Points


15384632, 1979, 3, Downloaded from https://onlinelibrary.wiley.com/doi/10.1111/j.1538-4632.1979.tb00695.x by EBMG ACCESS - GHANA, Wiley Online Library on [31/01/2023]. See the Terms and Conditions (https://onlinelibrary.wiley.com/terms-and-conditions) on Wiley Online Library for rules of use; OA articles are governed by the applicable Creative Commons License
Kurt E . Brassel and D o u g h Reif / 2%

diagrams with 20-5,OOO randomly distributed data points. Other test runs
included data sets with one or two centroid clusters. The cumulative processing
time for the several steps of the Thiessen procedure is shown in Figure 9.
Recognize the near linear characteristics of these curves and the slight reduc-
tion in processing time for clustered data sets. Figure 10 shows the observed
average computation time for each Thiessen diagram as a function of the
number of data points in semilogarithmicscale.
Further analysis of the Thiessen procedure is shown in Figure 11. It repre-
sents empirically computed counts of processing steps. The top curve (A)
indicates the average number of data points consulted in order to create a
Thiessen polygon. These data points are subjected to the test for overall
rejection (“is P’ within abcissa range of circle (V, R)?) and the diagonal test (“is
P‘ in the halfplane E,?’). These two tests include a total of five additions, three
multiplications, and two arithmetic branching checks. Approximately 50 per-
cent of the points pass these tests; they are represented in curve B and are
checked for their location within the circle about the potential vertex. This test
includes two adds, one multiplication, and two arithmetic checks. As may be
seen from curve C, it further reduces the number of data points to be
considered drastically. For all points inside the circle (curve C) Thiessen
vertices have to be computed in a procedure including twenty-six additions and
seventeen multiplications. From this figure it is evident that many points are
subjected to simple tests, whereas the time-consuming processes are performed
only for relatively few centroids. This figure also indicates that the number of
processing steps is lower for clustered data sets.

COMPUTATION T I M E
I N SECONDS
( C O C C Y B E R 173)

..
200 loo0 2000 3ooo 4Ooo 5ooo

SIZE O F P O I N T SET ( # OF C E N T R O I D S )

FIG.9. Cumulative Processing Time for Thiessen Runs


15384632, 1979, 3, Downloaded from https://onlinelibrary.wiley.com/doi/10.1111/j.1538-4632.1979.tb00695.x by EBMG ACCESS - GHANA, Wiley Online Library on [31/01/2023]. See the Terms and Conditions (https://onlinelibrary.wiley.com/terms-and-conditions) on Wiley Online Library for rules of use; OA articles are governed by the applicable Creative Commons License
25-

20- .2a

PROCESSING TIME
I N MILLISECONOS
( C V B E R 1731

15- f
t -15

lo- -10

20 50 100 200 500 1000 2000 5000

S I Z E OF P O I N T SET I#O F CENTROIDS)

FIG.10. Average Computation Time for One Thiessen Polygon as a Function of the Number of
Data Points on the Point Set (in milliseconds, CDC Cyber 173).

250 250

203 200
A V E R I G E NUMBER OF P O I N T S CONSULTEO TO CONSTRUCT
A T H I E S S E N POLYGON:

A N U M B E R OF P O I N T S U S E D A S INITIAL P'
B NUMBER O F P O I N T S P A S S I N G DIAGONAL TEST
C C O M P U T A T I O N OF NEW V E R T I C E S ( P O I N T S
150 P A S S I N G CIRCLE TEST) 150
RESULTS FOR C L U S T E R E D DATA SETS LVERAGE NUMBER
AC,BC
OF DATA POINTS
CONSULTED TO
COMPUTE A
T i l l E S S E N POLYGON

100 100

50 50

1
I
50
I
100 200 A I
IWO

S I Z E OF P O I N T SET ID OF CENTROIDS)

FIG.11. Empirically Computed Counts of Processing Steps


15384632, 1979, 3, Downloaded from https://onlinelibrary.wiley.com/doi/10.1111/j.1538-4632.1979.tb00695.x by EBMG ACCESS - GHANA, Wiley Online Library on [31/01/2023]. See the Terms and Conditions (https://onlinelibrary.wiley.com/terms-and-conditions) on Wiley Online Library for rules of use; OA articles are governed by the applicable Creative Commons License
Kurt E . Brassel and Douglas Reif / 301
6. CONCLUSIONS
This paper has discussed the terminology and traditional approaches of
Thiessen diagrams and introduced a new algorithm to create Thiessen polygons.
The algorithm uses an iterative approximation procedure to find Thiessen
adjacencies. It makes use of a window to simplify the procedure. Testing with
data sets of up to 5,000 points has proven the procedure to be efficient with
empirical results on the order of 4.5 X N X N - 5 milliseconds for a Thiessen
diagram of N points. The strength of the proximal polygon construct and the
range of applications have been pointed out in the introductory section. Of
particular interest to the authors is the use of proximity-based triangulations as
storage structure for geographic information systems. Their use for complex
mapping tasks will be a further subject of research.

APPENDIX: PROOFS FOR BASIC ASSUMPTIONS USED FOR THIESSEN COMPUTATION


LEMMA1. Thiessen polygons are always convex.
SUBLEMMA.The intersection of any number of convex sets is convex.

Proof. Let S,,i € I , be convex, and let S = n S,. If a and b are two points in
S, then they are in each S,, so the line joining a to b lies in each S,, and
therefore in S.
Proof of main lemma: The locus of points closer to a centroid A than
another centroid B, is a halfplane Hi. The Thiessen polygon about A is the
intersection of the halfplanes Hi for aLl B,#A in the data set. But every
halfplane is convex; therefore, the Thiessen polygon about A is convex.
LEMMA2. Given a centroid C , which is known to create a closed Thiessen
polygon, assume a mdhl c d i n u t e system in which clockwise angles are
positive (Fig. 12). Let point P be a true Thiessen neighbor of C. The
straight line CP subdivides the plane into two halfplanes E , and E,.
Lemma: For a closed Thiessen polygon the true next neighbor about C
clockwise of point P must lie in the halfplane E,.

Proof. Assume at least one point P' in the halfplane E , (closed Thiessen
polygon). The angular relationship between the vector CP and the direction of

E,
EZ

FIG. 12. Angular Relationship between Vectors Connecting Neighbors and Bisectors
15384632, 1979, 3, Downloaded from https://onlinelibrary.wiley.com/doi/10.1111/j.1538-4632.1979.tb00695.x by EBMG ACCESS - GHANA, Wiley Online Library on [31/01/2023]. See the Terms and Conditions (https://onlinelibrary.wiley.com/terms-and-conditions) on Wiley Online Library for rules of use; OA articles are governed by the applicable Creative Commons License
302 GeographicalAnalysis

FIG.13. Points on the Straight Line through CP

the vector of the perpendicular bisector Q can be expressed as

$Q=$P+W”.

Likewise, for the next neighbor, P‘ follows that $Q’=$P’+90”, the angle
between directions Q and Q’ is therefore

a=$Q’-Q=$P’-P.

For all $P” <$P the angle between Q and Q“ will be negative ( $ Q l -$Q <
0). Since Q“ is the direction of an edge subsequent to the edge Q in clockwise
order, the above condition implies that the Thiessen polygon about a point C is
not convex, which has been proven impossible. All points P” in the halfplane E,
can therefore be excluded as candidates for the next neighbor in clockwise
direction of a closed Thiessen polygon. Likewise, points on the straight line
through CP can be excluded (Fig. 13): PI cannot be a neighbor of C if P exists,
Pz cannot exist if P is known to be a neighbor of C, and P3 would create an
open Thiessen polygon.

LITERATURE CITED
1. Bentley, J. L. “Divide and Conquer Algorithms for Closest Point Problems in Multidimensional
Space.” Ph.D. thesis, University of North C a r o h at Chapel Hill, 1976.
2. Bentley, J. L., and M. I. Shamos. “Divide and Conquer in Multidimensional Space.” h m &
ings of the Eighth Annual ACM Symposium a Thwy of computing,Hershey, Pa., 1976, pp.
220-30.
3. Besag, J. “Spatial Interaction and the Statistical Analysis of Lattice Systems.” Journal of the
ROY^ Staeistioal Society ( B ) , 36 (1974), 192-236.
4. Boots, B. M. “Contact Number Properties in the Study of Cellular Networks.’’ Geographical
Analysis, 9 (1977,379-87.
5. . “Delaunay Triangles:An Alternative Approach to Point Pattern Analysis.” Ptvtxe&
ings of the Assodalion of American CeQgmphers, 6 (1974), 26-29.
6. . “Some Models of the Random Subdivision of Space.” CeQgmfiskaAnnaler, Ser. B, 55
(1973), 34-48.
7. Brassel, K. E. “Neighborhood Computations for Large Sets of Data Points.” E’mwxfings of the
International Symposium on COmputer-Assisted Coszogmphy (AUTO-CARTO II). Washington,
D.C.: American Congress on Sweying and Mapping, 1978,337-45.
8 . “A Topological Data Structure for Multi-Element Map Processing.” Hamad Papers a
ceogmphic Data Structures, 4 (1978).
9. Crain, I. K. “The Monte Car10 Generation of Random Polygons.” C o m p t e n and Geoscience, 4
(1978), 131-41.
10. Delaunay, B. “Sur la sphere vide.” B u W n of the A&y of sciences of the USSR,Classe
Sci. Mat. Nat. (1934), 793-800.
11. Dobkin, D. P., and R. J. Jipton. “The Complexity of Searching Lines in the Plane.”
Department of Computer Science, Yale University, Research Report No. 71,1975.
15384632, 1979, 3, Downloaded from https://onlinelibrary.wiley.com/doi/10.1111/j.1538-4632.1979.tb00695.x by EBMG ACCESS - GHANA, Wiley Online Library on [31/01/2023]. See the Terms and Conditions (https://onlinelibrary.wiley.com/terms-and-conditions) on Wiley Online Library for rules of use; OA articles are governed by the applicable Creative Commons License
Kurt E . Brassel and D m g h Reif / 303

12. , “Multidimensional Searching Problems.’’ SIAM Journal of Canputing, 5 (1976),


181-86.
13. Fisher, H. “Instructions for Establishing Proximal Zones.” Unpublished manuscript. Harvard
University, 1970.
14. Fowler, R. J. “Approaches in Multi-Dimensional Searching.” H a m d Papers in Geographical
Informalion Systems, 6 (1978).
15. . “DELTRI: An Efficient Program for Producing Dehunay Trianphtions.” Technid
Report 18, ONR Contract N00014-750886, Department of Geography, Simon Fraser Univer-
sity, 1977.
16. Gilbert, E. N. “Random Subdivisions of Space into Crystals.” Annals of Mathematid Statis-
Eicr, 33 (1%32), 958-72.
17. Green, P. J., and R. Sibson. “Computing Dirichlet Tesselations in the Plane.” Computer
J ~ u m a l21
, (1978). 168-73.
18. Keeney, R. L. “A Method for Districting among Facilities.” Opemtionr Rmeamh, 20 (1972),
613-18.
19. Knuth, D. E. The Art of Computer Pmgmmming, Vol. 3: Sorting and Searching. New York:
Addison Wesley, 1973.
20. Laboratory for Computer Graphics and Spatial Analysis. SYMAP User’s Reference Manual.
Cambridge: Harvard University, 1975.
21. Lawson, C. L. “Generation of a Triangular Grid with Application to Contour Plotting.”
California Institute of Technology, Jet Propulsion Laboratory, Technical Memorandum No.
229, 1972.
22. Lloyd, E. L. “On Triangulations of a Set of Points in the Plane.” Master’s thesis, MIT, 1977.
23. McLain, D. H. “Two Dimensional Interpolation from Random Data.” Canputer l o u d , 19
(1976), 178-81.
24. Mead, R. “Models for Interplant Competition in Irregularly Spaced Populations.” S t a t i s t i d
__ 2 (1971), 13-30.
Ecobm,
25. Nagy, G., and S. Wagle. “Geographic Data Processing.” Department of Computer Science,
University of Nebraska, 1978.
26. Peucker, T. K., and N.Chrisman. “Cartographic Data Structures.” The American cmtogmphe,
2 (1975), 55-69.
27. Peucker, T. K., R. J. Fowler, J. J. Little, and D. M. Mark. “The Triangulated hegdar
Network.” Proceedings of the Digital Terrain Models (DTM)Symposium, American Society of
Photogrammetry, St. Louis, 1978,516-40.
28. Rhynsburger, D. “Analytic Delineation of Theissen Polygons.” GmgraphicaI Analysis, 5 (1973),
133-44.
29. Rogers, C. A. Pocking and Covering. London: Cambridge University Press, 1984.
30. Schachter, B. “Decomposition of Polygons into Convex Sets.” IEEE Tmnsmtionr on Cum
p ~ t e r s C-27
, (1978), 1078-82.
31. Shamos, M. I. “Computational Geometry.” Ph.D. thesis, Yale University, 1977.
32. . “Geometric Complexity.” Proceedings of the Seventh ACM Synpdum on the Themy
of Computing (1975), 224-33.
33. Shamos, M. I., and J. L. Bentley. “Optimal Algorithms for Structuring Geographic Data.”
Ham& Papers on Geographical Informalion Systems, 6 (1978).
34. Shamos, M. I., and D.Hoey. “Closest Point Problems.” Proceedings of the Sixteenth Annual
Symposium on the Foundutionr of Cmnputer Science, IEEE (1975), 151-62.
35. Sibson, R. “Locally Equiangular Triangulations.” Unpublished manuscript.
36. Thiessen, A. J., and J. C. Alter. “Precipitation Averages for Large Areas.” Monthly Weather
Reoiew, 39 (1911). 1082-84.
37. Voronoi, G. “Nouvelles applications des parametres continus i la theorie des fonnes quadra-
tiques, Deuxieme Memoire, Recherches sur les paraUel&es primitifs.” Journal Reim Angm.
Math., 134 (1908), 198-287.
38. Whitney, E. M. “Areal RainfaU Estimates.” Monthly Weather Reoieu, 57 (1929), 482-6%
39. Wirth, N. A~!godthms+ Dots Stiwtures = Progmms. Englewood cliffs: Prentice-Hd, 1975.

You might also like