Area of Polygon

Date: 08/20/99 at 14:31:06
From: Ed Bachmann
Subject: Area of a polygon
Dr. Math,
I found it stated in a popular little paperback on math that a
surveyor can calculate the area of a polygon this way:
1. Lay out and measure a line of any length within the polygon (the
"base line").
2. Measure the angle to each vertex of the polygon from each end of
the line.
The resulting length of the single line and the angles supposedly
contain sufficient information to compute the area.
In trying to solve this I've been able to compute the areas of
triangles that have as one of their sides the base line, and I've been
able to solve some, but not all, of the other triangles. I'm stuck on
a few peripheral triangles for which I can't seem to get enough
information to solve.
Is there a general algorithm to solve this problem for polygons of any
number of sides; convex, concave, or when you do not have the lengths
of any sides? If I can ever figure this out, I want to write a program
to do the calculations.
Thanks very much,
Ed

Date: 08/20/99 at 23:02:37
From: Doctor Peterson
Subject: Re: Area of a polygon
Hi, Ed.
It's obvious that there is enough information in the angles and the
baseline, because they are sufficient to draw the figure (using ASA
repeatedly), and therefore the area is determined by these numbers.
What you want to know, of course, is HOW?
I'm not familiar with any traditional method used by surveyors, but I
can at least come up with a method that will work. It takes two steps.
First, if we choose a coordinate system with one end of the baseline
as the origin and the other as point (d,0), we can find the
coordinates of each vertex. I used this figure:
P
+
/| \
/ | \
/ | \
/ |y \
/ | \
/ | \
/a | b\
+-------+---------------+
A x d-x B
to write two equations
y/x = tan(a)
y/(d-x) = tan(b)
from which I got the formulas
d d
x = ---------- and y = ---------------
tan(a) 1 1
------ + 1 ------ + ------
tan(b) tan(a) tan(b)
You can check those; I did it pretty quickly, but it gives the idea.
The cases where the tangents are 0 or infinite can be handled easily.
The second step is to use these coordinates for each point (x_n,y_n)
to find the area. There is a standard formula for this:
A = [(x1y2 + x2y3 + ... + xny1) - (y1x2 + y2x3 + ... + ynx1)]/2
I think that should be enough - maybe not as elegant as it could be,
but pretty straightforward.
- Doctor Peterson, The Math Forum
http://mathforum.org/dr.math/