# Filtering features using geometric attributes of polygons in ArcGIS Desktop?

Given a polygon featureclass containing many polygons of different sizes and shapes, which geometric attributes (area, perimeter, etc) could be used to filter the polygons? It's probably best to ask this in two parts:

1. Which geometric attributes do polygons possess?
2. How would you calculate these attributes? Geoprocessing tools/ArcObjects preferred, but I would be satisfied with conceptual calculations which could then be coded.

As an example, I am considering calculating the maximum length of a polygon by breaking the edge of the polygon into points at a small interval and then calculating the distance between all points - the longest distance would be the maximum length of that polygon.

I'm hoping to use these attributes to allow interactive user control of polygon filtering.

• A little more guidance about the purpose of this interactive "polygon filtering" is needed here, because there are infinitely many conceivable geometric properties polygons can have. Thus your first question is not practically answerable. Nov 19, 2012 at 17:24
• 2d or 3d realm? Nov 19, 2012 at 17:32
• @whuber Fair enough. To simplify: Which attributes could be pictured visually by a GIS user? For example, polygon area can be filtered easily by specifying only those polygons with an area > 200m^2 be kept. It would be harder for a GIS user to picture complex angular geometry. So, I'd like attributes that could be comprehended simply to translate to filtering in the GIS. Nov 19, 2012 at 17:35
• Arguably, there are still infinitely many such attributes. For instance, consider the modulus of the 17th coefficient of the Fourier series of the radial part of a convex polygon relative to its centroid(!). It's just a number and so is easily "visualized" and used for filtering. (It actually has a fairly simple interpretation, too, but that doesn't matter.) Obviously I could have picked any one of the infinitely many coefficients. Nov 19, 2012 at 17:55
• In that case, start with his bounding container toolset. Nov 19, 2012 at 18:06

Here is an interesting Python tool named "Shape Metrics". It calculates 12 different metrics for each polygon. There is a good PowerPoint presentation describing each Metric. The Arc Tool Box is written for ArcGIS 9.3.

Shape Metrics Tool

Off the top of my head: Is composed of lines and points, encloses a plane, may have a centroid or identifier such as name or feature class. May contain a fill of a feature class, Has interior and exterior edges. segment can be read from origin point back to origin point with no seg fault error. Has more than 3 points. Has an area. Since all GIS polygons are already composed of segments, why not use existing segment endpoints? I think they have no length as that is the function of the lines, I'm guessing you meant perimeter.

Topological characteristics are generally quite intuitive to understand.

Geometrically people are usually pretty poor (how big is 200m at X scale on screen?) I would let them select one example or draw a primary shape on screen and then calculate matched from this.

I had a similar problem for finding unique polygons in groups of "counterpart" polygons (representing same area, but drawn slightly differently). I was successfully able to filter out unique polygons by using:

• Acreage
• Perimeter
• centroid (x, y)
• Extent(Max X, Max Y, min x, min y)