Skip to main content
Question

Remove lines on polygon


souryana
Contributor
Forum|alt.badge.img+10

I have a tabfile that I want to migrate to a database. But first, I need to correct som geometryerrors. I have a polygon layer with some lines on polygon, please see picture below. I want to have them removed. One other thing that is weird is that when I use the transformer GeometryFilter the line object won't filter as lines. They will filter as areas.

I Appreciate all the help I can get.

9 replies

david_r
Celebrity
  • May 6, 2020

Could those objects actually be polygon slivers rather than lines? What do you see when you inspect the geometries in the FME Inspector? Can you post a screenshot here?


itay
Supporter
Forum|alt.badge.img+17
  • Supporter
  • May 6, 2020

I agree with @david_r, look like slivers to me, you can use the AreaGapAndOverlapCleaner for that.


Forum|alt.badge.img+2

Easiest way to get rid of slivers;

 

  1. Measure the sliver width for a few slivers
  2. Buffer 3/4 the amount so the edges overlap (1 ft gap = .75 ft buffer)
  3. Dissolve with a group by for each unique polygon
  4. Buffer the newly dissolved polygon with the same number as a negative to get it back to its original size.

 

You may have to play around with the buffering to get the desired result, but that's how I do it and it's pretty clean.

 

 


souryana
Contributor
Forum|alt.badge.img+10
  • Author
  • Contributor
  • May 7, 2020

Hi @david_r . The geometry is FME_donut. How can I handle that? I know that some "lines" are defined as fme_polygons.


souryana
Contributor
Forum|alt.badge.img+10
  • Author
  • Contributor
  • May 7, 2020
jlbaker2779 wrote:

Easiest way to get rid of slivers;

 

  1. Measure the sliver width for a few slivers
  2. Buffer 3/4 the amount so the edges overlap (1 ft gap = .75 ft buffer)
  3. Dissolve with a group by for each unique polygon
  4. Buffer the newly dissolved polygon with the same number as a negative to get it back to its original size.

 

You may have to play around with the buffering to get the desired result, but that's how I do it and it's pretty clean.

 

 

Hi @jlbaker2779 is this done in AreaGapAndOverlapCleaner ?


david_r
Celebrity
  • May 7, 2020

If it's a donut you could perhaps decompose it into individual parts (DonutHoleExtractor), repair the individual parts and then re-build the donut again (DonutBuilder).


Forum|alt.badge.img+2
souryana wrote:

Hi @jlbaker2779 is this done in AreaGapAndOverlapCleaner ?

In this series using 3 transformers;

 

Bufferer (positive buffer of X units)

Dissolver (group by unique values)

Bufferer (negative buffer of X units)

 

That will also change the lines to polygons and then dissolve them into the original polygon. The AreaGapAndOverlapCleaner will only allow for polygons to be fixed. The lines will remain unchanged.


souryana
Contributor
Forum|alt.badge.img+10
  • Author
  • Contributor
  • May 8, 2020
david_r wrote:

If it's a donut you could perhaps decompose it into individual parts (DonutHoleExtractor), repair the individual parts and then re-build the donut again (DonutBuilder).

How do I repair it? Also some objects that looks like a line are defined as fme_polygon. I would like to remove those lines and keep the donuts. How do I do that?


souryana
Contributor
Forum|alt.badge.img+10
  • Author
  • Contributor
  • May 8, 2020
david_r wrote:

If it's a donut you could perhaps decompose it into individual parts (DonutHoleExtractor), repair the individual parts and then re-build the donut again (DonutBuilder).

When it comes to line as an object think I solved it by readjusting the parameters in AreaGapAndOverlapCleaner. But what do you mean by repair when it comes to donts? What do I need to do?


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings