Skip to main content

I routinely create buffers, and when I do I get thousands of tiny gaps which I need to fill, but only gaps upto a specific size. I can and do this currently very easily in MapInfo. I can quickly identify and then merge or fill these gaps with the rest of the buffer to make it look contiguous. As this is a repeated task on my part I want to do this with FME.

I am thinking that I use the AreaGapandOverlapCleaner, however the tolerance to my knowledge is a distance setting, not an area setting, which I find odd as this is an "Area"Gap cleaner.

My specific area size is quite small, just 0.005 sqmi.

This is what it looks like in MapInfo. The yellow is my buffer and the red areas are the gaps of 0.005 sqmi or smaller that will be filled in. How to is set the tollerance to clean gaps of this specific size and smaller?

Thanks in advance

 

gaps being filled

Create polygons from the holes with the DonutHoleExtractor, keep the holes with an Area below 0.005 sqmi using a TestFilter (or a Tester), and combine these holes with the buffers in a Dissolver.

image


Create polygons from the holes with the DonutHoleExtractor, keep the holes with an Area below 0.005 sqmi using a TestFilter (or a Tester), and combine these holes with the buffers in a Dissolver.

image

Thank you for pointing me in the right direction. I have been playing around with this and fiddling with the testfilter. However, I am not getting the results I need. my question is for the 0.005 in your example do you have to specifically designate it as being in square miles? I think that the filter believes I am searching for 0.005 square meters, which is of course incredible small, as when I run it all the holes still go through. Using the DonutHoleExtractor, I have 723 donut holes, and after the testfilter I still have 723 that go through.

Thanks for your help thus far,


Create polygons from the holes with the DonutHoleExtractor, keep the holes with an Area below 0.005 sqmi using a TestFilter (or a Tester), and combine these holes with the buffers in a Dissolver.

image

Hey so I figured it out, what I did after the donutholeExtractor was to first inlcude a GeographicAreaCalculator, in that I can set the area to sqmi, and get the actual area of all the donut holes. Then designing the query in the testfilter was much easier (at least for me) having an area column that I could query from the previous filter, and then just building the query to find all in the _area column that was <0.005 and that worked like a charm!

Thanks so much for the help!


Hey so I figured it out, what I did after the donutholeExtractor was to first inlcude a GeographicAreaCalculator, in that I can set the area to sqmi, and get the actual area of all the donut holes. Then designing the query in the testfilter was much easier (at least for me) having an area column that I could query from the previous filter, and then just building the query to find all in the _area column that was <0.005 and that worked like a charm!

Thanks so much for the help!

Good to see you found your own solution.

I suppose there was no coordinate system set on your data.

 


Reply