How could I compare polygons with appropriate circle?

Standard methods of comparing polygons to circles exploit some of the defining characteristics of circles. One is that of all plane figures of a given area, the circle has the smallest perimeter. To compare an area (measured in square units) to a perimeter (measured in linear units), we deduce the circle's diameter d from its area, A:

d = 2 Sqrt(A/pi).

Its perimeter is

L = d * pi.

Both d and L are in linear units. We therefore compare 2*Sqrt(A/pi) to L/pi where A is the area of an arbitrary polygon and L is the length of its perimeter. The ratio is

r = L/pi / (2*Sqrt(A/pi)) = L/Sqrt(A) / (2*Sqrt(pi)) = 0.282095 * L/Sqrt(A).

By construction, this ratio is always 1 or greater and equals 1 if and only if the polygon is a circle. Therefore you can interpret (r - 1) as a measure of deviation from a perfect circular shape.

As an example, consider a square of side s. Its area is A = s^2 and its perimeter is L = 4 s. We find

r = 0.282095 * 4s / Sqrt(s^2) = 0.282095 * 4 = 1.12838.

This is 0.12838 greater than 1. Note how this measure is independent of the size (s), position, or orientation of the polygon: it depends solely on its shape.

This idea is closely related to that of the tortuosity of a curve.


If you have access to ArcMap 10, then Bounding Containers has an option create minimum area bounding circles around features. That would get you started to at least compare the actual area to that of a circle bounding its extent.


Just for completeness I have managed to find my code for calculating shape metrics of polygons and moved it to https://code.google.com/p/shape-metrics/.

It provides implementations of Blair & Bliss, Lee & Salle, Ritter, Boyce & Clark, Miller, Gibbs and Zusne's methods. See http://www.citeulike.org/user/ianturton/article/6901886 for fuller details of the methods.