Skip to main content
Question

Identifying long, narrow polygons with FME

  • 12 December 2012
  • 5 replies
  • 94 views

I'm not an FME wiz so I tought I'd ask you guys:

 

 

I have extracted a number of holes in a layer of agriculture fields to find barrows (round features) that are located in the fields. But the layer also includes irrication canals. Is there any way that I can identify these long, narrow features so that I can delete them? They have more or less the same area as the barrows.

 

 

 

 

Do you have any tips?
Hi,

 

 

I use the CircularityCalculator for these cases, it works well within the limitations of the feature's shape.

 

Hope this helps,

 

Itay

 

 


Also if these fields are actually donuts that you can use the DonutHoleExtractor
Hello,

 

 

an idea could be:

 

1. Use the BoundsExtractor to get for instance ymin and ymax per feature.

 

2. Use ExpressionEvaluator to get an _result attribute that calculates the

 

    difference between ymax and ymin.

 

3. Use AttributeRangeFilter to filter out all the features that have a difference of

 

    50 for instance for the _result Attribute.

 

 

 

-> in my small test scenario a was able to filter out long narrow features   
In FME 2012 and 2013, the BoundingBoxReplacer has the option for an Oriented Bounding Box. It will also give you the length of the short and long side of the bounding box. The ratio between short and long length would be a good indicator for narrowness.
Hi,   This is only an idea: When R is calculated by the following expression, I think that R of a linear thing such as irrigation canal will be very small. R = A / P; A is area and P is perimeter length of a shape. Whether the shape is a linear thing or not, can't we decide that according to R?  

Reply