Solved

Dissolving donuts with polygons

  • 18 September 2017
  • 6 replies
  • 25 views

Badge

Hi,

I have some rough shapes (donuts, polygons) that I am trying to dissolve together.

I've tried the donut builder tip here https://knowledge.safe.com/questions/4487/dissolver-failure.html but the dissolving still doesn't work and produces the wrong output

 

 

icon

Best answer by takashi 19 September 2017, 07:25

View original

6 replies

Badge

Hi, @claudian. Can you please attach some sample data? I created 1 donut and 2 polygons using FME, then I sent all 3 through the Dissolver, and the output looks the way I would expect it to. Please look at the screenshots below and let me know if the output is not what you would want?

Here are my 3 original shapes. The donut is selected so you can see that the fme_geometry = fme_donut.

This is what it looks like after going through the Dissolver:

Badge

Hey @courtney_m and all

Your above output is what I'm after, but my input shapes are more complex/dirty which is where I think the issue is.

I've attached a zip file that contains my macro + sample data (the actual input is much larger so am aiming to avoid manual cleaning).

Thankyou + appreciate any help!

-fme-help.zip

Userlevel 2
Badge +17

Hi @claudian, in my experiences, it's sure that there are cases where the Dissolver couldn't work as expected when many input areas (not only donuts) overlaps and there are tiny gaps between their boundaries. Depending on the data condition, the Snapper (Snapping Type: Segment Snapping) could be a workaround to resolve the gaps and then make the subsequent Dissolver work fine. However, it could also take a long time to perform the snapping process. It requires trial and error with the actual dataset.

Hope this helps.

Badge

Hi @claudian, in my experiences, it's sure that there are cases where the Dissolver couldn't work as expected when many input areas (not only donuts) overlaps and there are tiny gaps between their boundaries. Depending on the data condition, the Snapper (Snapping Type: Segment Snapping) could be a workaround to resolve the gaps and then make the subsequent Dissolver work fine. However, it could also take a long time to perform the snapping process. It requires trial and error with the actual dataset.

Hope this helps.

This worked for me, thanks @takashi and all :)

 

Badge

Hi @claudian, in my experiences, it's sure that there are cases where the Dissolver couldn't work as expected when many input areas (not only donuts) overlaps and there are tiny gaps between their boundaries. Depending on the data condition, the Snapper (Snapping Type: Segment Snapping) could be a workaround to resolve the gaps and then make the subsequent Dissolver work fine. However, it could also take a long time to perform the snapping process. It requires trial and error with the actual dataset.

Hope this helps.

Hey @takashi

 

 

This is a follow up question so I'm not sure if it warrants it's own post.

 

But the Clipper isn't working for me when I clip (the not so clean) polygons.

 

 

I've attached the macro and output screenshots below as well as the macro itself.

 

 

I've tried the following based on other posts: ArcStroker, Snapper, CoordinateRounder.

 

 

But none of the above seem to work, do you have any tips on how to make the clipper work?

 

 

I'm avoiding the GeometryValidator because I found a scenario where a fixed polygon was incorrect.

 

Yellow = Input

Blue = Extent

 

 

Green = Clipped

 

Circled = Should be clipped...
Userlevel 2
Badge +17
Hey @takashi

 

 

This is a follow up question so I'm not sure if it warrants it's own post.

 

But the Clipper isn't working for me when I clip (the not so clean) polygons.

 

 

I've attached the macro and output screenshots below as well as the macro itself.

 

 

I've tried the following based on other posts: ArcStroker, Snapper, CoordinateRounder.

 

 

But none of the above seem to work, do you have any tips on how to make the clipper work?

 

 

I'm avoiding the GeometryValidator because I found a scenario where a fixed polygon was incorrect.

 

Yellow = Input

Blue = Extent

 

 

Green = Clipped

 

Circled = Should be clipped...
I've never experienced such a situation with the Clipper. It's hard to guess the reason for the strange result without investigating transformer parameters setting and/or the actual data.

 

 

Reply