# Area, buffer, description

W
Shared by:
Categories
-
Stats
views:
47
posted:
8/30/2010
language:
English
pages:
44
Document Sample

```							Area, buffer, description
Area of a polygon, center of mass,
buffer of a polygon / polygonal
line, and descriptive statistics
Area of a polygon

• Polygon without holes
• Polygon with holes

(6,8)
(12,7)           Given: cyclic list
(3,5)            (8,6)                     of points with
(14,6)   their coordinates.
(7,4)
(11,3)
(5,1)
Idea: area under edge

(6,8)                 (6,8)
(12,7)                  (12,7)

Area =
width times average height
= (12 - 6) * (8 + 7)/2 = 45
Area, continued
Edges at “upper side”
give positive contribution

Edges at “lower side” give
negative contribution
Area formula

Area(P) =

(X1 - Xn)(Y1 + Yn)/2 +
n-1
 (Xi+1 - Xi)(Yi + Yi+1)/2
i=1

Assume points given
clockwise
Center of mass of a polygon
• Take arbitrary point p
• Make triangles: each side of the polygon and
point p
• Determine weight (area) and center of mass per
triangle
• Compute weighted average of the centers of mass

p
Counterclockwise triangles:
positive weight; clockwise
triangles: negative weight
Center of mass of a polygon

• Center of mass of weighted points: weighted
average of the x-coordinates and of the y-
coordinates
5

-8         -12
21
11
20
Buffer of a polyline

• Buffer = Minkowski sum with a disk
• A polyline gives a polygon with holes
Buffer computation:
divide & conquer

1. Split polyline in two
2. Compute the buffer of
the halves recursively
3. Merge the buffers
to one buffer
Buffer complexity

•   Two non-intersecting line segments S1 and S2
•   Consider the buffers of S1 and S2
•   They intersect at most twice
•   So a set of buffers of non-intersecting line
segments is a set of pseudo-discs
Buffer complexity

Theorem (13.9 of computational geometry book):
Let S be a collection of [polygonal] pseudodiscs
with n edges in total. Then the complexity of their
union is O(n)

Corollary: The buffer of a polygonal line consisting
of n edges (or n+1 points) has complexity O(n)
Merge buffers to one
Assume we merge the buffers of
polylines having m1 and m2 edges
Do an “ordinary” line
sweep over the O(m1)
+ O(m2) segments
and circular arcs of
the buffers

Cost:
O((m1+m2+k) log (m1+m2+k))
time for the merge
How many intersection points?
• In general: m1 and m2 line segments can
intersect m1m2 times, so k  m1m2
• Here: Every intersection point is a vertex of the
buffer after the merge, so of a polyline with
m1+m2 edges
• This new buffer has complexity O(m1+m2)
according to the corollary, so k = O(m1+m2)
• Hence, the merge takes
O((m1+m2) log (m1+m2)) time
The algorithm

• If n >1, split polyline with n edges into two
parts with n/2 edges each
• Compute the buffer of each part recursively
• Merge the buffers of the parts into one using
plane sweep, in O(n log n) time

Recurrence: T(n) = 2 T(n/2) + O(n log n)

Gives T(n) = O(n log2 n) time (e.g. by induction)
Description: measures and use
• Mathematical description  statistics
• Sets of numbers (1-dimensional point set)
• Describe with:
- average
- range [min,max]
- variance, standard deviation
- histogram (by fixed-interval classification)

1 n
 2   ( xi  xmean ) 2
n i 1
Geometric description
• Description of a point, polyline, polygon
- location               - size
- orientation            - shape

• Description of a point set
- clustering      - density

• Description of distance
- two points             - two polylines
- two polygons

• Description of similarity in shape
- two polylines          - two polygons
Description of location
• Description of object as two coordinates (point)
• For a point: trivial
• Center of mass: for polyline or polygon;
can lie outside polygon
• Center of largest inscribed circle:
for polygon
Applications of location
• Symbolizing a city as point object during map
generalization
• Place to put information (name) of polygon
• Preparation for cluster analysis type that only
applies to point (set)
Description of size
• For point: not applicable
• For polyline: length
• For polygon: area or diameter or width

Diameter: largest        Width: smallest distance
distance between two     between two parallel lines
points in the object     that contain the object
Applications of size
• Length polyline for network analysis (shortest
routes)
• Area preservation during map generalisation
• Cartograms
Description of orientation
• For polyline:
- direction of vector
between endpoints
• For polygon:
- direction of diagonal
- direction of parallel lines that define width
- direction of line that minimizes the average
distance of all points in polygon to that line
Description of shape by a
number
• Elongatedness: 1.27 * area / diameter2

• Compactness: 0.32 * area / (radius smallest
enclosing circle)2
• Circularity: 12.6 * area / perimeter2

All between 0 and 1
Application of shape by a
number
• Analysis of voting districts:
when making districts for
voting and representatives,
the areas must have “nice”
shape to group shared
interests of the population
(zoning = making districts)
Description of shape by
skeleton
• Internal skeleton, also: medial axis, or
centerline
• Voronoi diagram of the edges of the polygon
Applications of shape by
skeleton
• Replacement of lakes in a river by a linear
object during map generalisation
• Also: centers of roads, for network analysis
Computation skeleton
• Voronoi diagram of line segments; adaptation of
sweep-line algorithm for Voronoi diagram of
points
• Voronoi edges and vertices outside polygon can
be removed later
• O(n log n) time for polygon with n vertices

• Note: the largest enclosed circle of the polygon
has its center on a Voronoi vertex
Description of shape of polyline
• Also: boundary of polygon
• Sinuosity: total angular change
• Curviness: average change of angle
(per unit of length)
• Number of inflection points
Applications of shape polyline
• Generalisation of a road with hairpin turns, or a
meandering river
• Suitability of a river segment for label placement
along it

simplify
reduce

typify
Description of point sets
• Clustering
• Density

• Examples of point sets to be analyzed
– epicenters of earthquakes
accidents in a city
– burglary locations

proportional
symbol map
Description of a point set
• Clustering: even, random, clustered distribution

E.g., compare actual nearest neighbor distance
with nearest neighbor distance of random set
Description of a point set
• Density: scale-dependent, locally defined

point count inside a
square or circle;
size determines the
scale of interest
Example of density

• Population
density
Distance between two objects
• For two arbitrary subsets of the plane: smallest
Euclidean distance
• Average smallest Euclidean distance
Applications of distance
• Smallest distance: overlap when drawing lines
with thickness
• Average distance: part of a measure for
cultural influence received by one area from
another area
Description of similarity
• Hausdorff distance: for any two subsets of the
plane

A
B

Max ( max min dist(a,b) , max min dist(b,a) )
aA bB                bB aA

AB                   BA
Description of similarity
• Area of symmetric difference: for polygons
= complement of area of intersection
Application of similarity
• Detection of change between two maps with
same theme but different date
For example:
- land use in Zeeland in 1975 and 2005
- area of lost forest and newly grown forest

• Joint occurrence of two values in different
themes (co-location)
For example, forest type and geological soil type
Computation Hausdorff
distance
• Where can largest distance from A to B occur?

A                A

B                   B
Vertex of A     Point internal to edge of A


In this case, the minimum distance
must be attained from that point on
A to two places on B
Computation Hausdorff
distance
• Vertex of A that minimizes distance to B:
- Compute Voronoi diagram of edges of B
- Preprocess for planar point location
- Query with ever vertex of A to find the closest
point to B and the distance to it

A
|A| = n
O(m log m + n log m) time                  B
|B| = m
Vertex of A
Computation Hausdorff
distance
A           Point internal to
edge of A
Smallest distance to B
B             attained at two places

• Compute Voronoi diagram of the edges of B
• Compute intersection points of the edges of A
with the Voronoi edges of B
• Compute intersection point on A with
maximum smallest distance to B
Computation Hausdorff
distance
• Worst case: (nm) intersection points
between A and the Voronoi diagram of B,
then O(nm log (nm)) time
• Typical: O(n+m) intersection points, then the
algorithm takes O((n+m) log (n+m)) time

• Inclusive of distance B to A and taking
maximum: O((n+m) log (n+m)) time
Computation area of
symmetric difference
• Perform map overlay (boolean operation) on
the two polygons
• Compute area of symmetric difference of the

• Worst case: O(nm log (nm)) time
• Typical case: O((n+m) log (n+m)) time
Summary

• There are many possible size and shape
descriptors (measures) for geometric objects
• Different descriptors have different applications;
the options should always be studied
• Computation of some measures/descriptors