0

This question already has an answer here:

I'm trying to measure the compactness (roundness) of some 800 polygons of different shape and size. I created the centroids and what I want to do now is to buffer those centroids with the exact same area of their polygons. Sorry if this is too simple but I just can't find the way to do it.

marked as duplicate by Hornbydd, Mapperz Jan 8 '15 at 20:58

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • At what point exactly are you running into trouble? Also, what software/version are you using? – phloem Jan 8 '15 at 17:59
  • I don't know how/where to specify the size of the buffer based on the [area] field rather than in a distance. – 1buzz Jan 8 '15 at 18:06
  • Area = pi * r * r, r = sqrt(Area/pi) But you should do more research into "roundness" and "compactness" for standards – Vince Jan 8 '15 at 18:18
  • 1
    look at the solution and comments in Easily calculate “roundness/compactness” of a polygon – gene Jan 8 '15 at 18:23
0
  1. If not done already, calculate the area in a field for your polygons
  2. Create centroids. Area field should carry over to the points.
  3. Create and calculate a radius field that corresponds to a circle of the given area, for each point. The formula for circle area is A = pi*r^2, so r = Sqr(A/pi). Pi = 4*Atn(1). The exact VBScript field calculation is:

    Sqr ( [area]/(4*Atn(1) ) )

  4. Run Buffer using the values in your radius field as the distance.

Not the answer you're looking for? Browse other questions tagged or ask your own question.