Area, buffer, description
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
– occurrences of road
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) )
aA bB bB aA
AB BA
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
polygons and add up
• 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
requires advanced algorithms
Related docs
Get documents about "