[GIS] FME remove polygon holes of under size ### sqft and chop the ends off

bufferfme

Quetion #1
I have a wokspace that takes the latest version of my data and creates buffers and then merges those to one polygon.
When 2 buffer polygons are near each other and close to create a hole. I would like to find a reasonable area size and remove only the holes. If there are small polygons for one reason or another I need to keep them.
remove small hole
Another question not exactly related mentions the donuthole extractor. Do I need to extract these and then delete them?
EDIT:
I used the solution with a tester and WAS successfull.
The part I was missing was I had to put all of this "behind" my first disolver.
It wasn't an actual donut until the two parts were together. I suppose I could get fancy and put some other locgic in front to make it that way.
The other problem I was having was it is using sq meters not hectares or acres. 🙂
On to the second problem which I have not had any luck with yet.
image3

workspace

Question #2
I like the rounded version not the butt of bufferer. However would like to limit the ends (after the merge) to being only a specified distance from the end of the actual line.
bufferchop

image6
OK I figured out I need to use the parameter created when I set the AreaCalculator. But I still don't see proper results.

I would like to chop off the end flat at maybe 20' offset from the actual end of the line.
Can I get a direction or pointer on accomplishing this?

Best Answer

I have come up with a solution to preserve only donuts below a defined area, the workbench is a bit messy as I had to hack together some shapefiles to make one with a range of donut holes in it.

The basic idea is to extract the holes using the extractor, calculate these polygon's areas and then do a test to exclude polygons above a defined size. These filtered hole polygons are then combined with the original input polygon using the Dissolver to fill in the holes that are above your defined limit.

Workbench 1

As for the second part of your question, it seems a bit more complex, but I think it should be possible with a bit of creativity. I'll have a play around and if I can come up with anything I will edit this answer.

EDIT: To solve the second part of your problem I have used two buffers, one with no end caps and one with rounded ends. The buffer with no end caps is offset using both a positive and a negative Y value to extend the buffer by the required amount you wish to trim the rounded buffer. These two offset polygons are them aggregated and dissolved into a single polygon, selecting Overlap in the parameter Overlapping Input. This polygon is the overlayed with the rounded buffer and areas with an overlap value of 2 are filtered out, giving the effect of trimming the rounded buffer by a defined amount above and below the original line.

Workbench 2

Related Question