Skip to main content
Solved

How to eliminate small polygon into adjacent polygon in FME (Like Eliminate in Arcgis)?

  • December 1, 2021
  • 7 replies
  • 283 views

hoa_le
Contributor
Forum|alt.badge.img+5

Hi all,

 

I have a polygon file. There area many small polygon like 0.00001, 0.0022,...

I want to eliminate small polygon into bigger polygon based on query area.

 

Could you tell me how to do it in FME? Thank you

Best answer by hkingsbury

Thank you for replying.

In the step 5, I'm not understanding. I attached a demo model that I tried to step 5.

  • Could you explain more the step 5 (Out the matched port you will now have your 'small' polygons with a UUID (in the list) for the nearest large polygon. Extract this UUID and replace the original UUID value with the one from the list

Thank you so much!

 

Almost there, have a look below

image

This post is closed to further activity.
It may be an old question, an answered question, an implemented idea, or a notification-only post.
Please check post dates before relying on any information in a question or answer.
For follow-up or related questions, please post a new question or idea.
If there is a genuine update to be made, please contact us and request that the post is reopened.

7 replies

connecter
Contributor
Forum|alt.badge.img+10
  • Contributor
  • 72 replies
  • December 1, 2021

Hi @hoa_le​ ,

have you try the AreaGapAndOverlapCleaner?

 

Before:

imageAfter:

image


hoa_le
Contributor
Forum|alt.badge.img+5
  • Author
  • Contributor
  • 142 replies
  • December 1, 2021

Hi @hoa_le​ ,

have you try the AreaGapAndOverlapCleaner?

 

Before:

imageAfter:

image

Yes. I have tried ​AreaGapAndOverlapCleaner but it's only using between polygons. And other polygon is not adjacent, it can't gap fill


hkingsbury
Celebrity
Forum|alt.badge.img+63
  • Celebrity
  • 1620 replies
  • December 2, 2021

If i'm understanding correctly, these small polygons touch a large polygon?

Heres a rough outline of something similar i've done...

 

  • Give each polygon a UUID (UUIDGenertor)
  • set a threshold for 'small' and 'large' polygons, split these into separate branches (Tester)
  • using a NeighborFinder feed your 'small' polgons into the Base and the 'large' polygons into the Candidate
  • Set it so you're only finding one neighbor, also enable GenerateList and select only the previously generate UUID
  • Out the matched port you will now have your 'small' polygons with a UUID (in the list) for the nearest large polygon. Extract this UUID and replace the original UUID value with the one from the list
  • Assuming that the polygons are touching, you can now feed this into a Dissolver with the Group By set to the UUID field and they will dissolve

hoa_le
Contributor
Forum|alt.badge.img+5
  • Author
  • Contributor
  • 142 replies
  • December 8, 2021

If i'm understanding correctly, these small polygons touch a large polygon?

Heres a rough outline of something similar i've done...

 

  • Give each polygon a UUID (UUIDGenertor)
  • set a threshold for 'small' and 'large' polygons, split these into separate branches (Tester)
  • using a NeighborFinder feed your 'small' polgons into the Base and the 'large' polygons into the Candidate
  • Set it so you're only finding one neighbor, also enable GenerateList and select only the previously generate UUID
  • Out the matched port you will now have your 'small' polygons with a UUID (in the list) for the nearest large polygon. Extract this UUID and replace the original UUID value with the one from the list
  • Assuming that the polygons are touching, you can now feed this into a Dissolver with the Group By set to the UUID field and they will dissolve

Thank you for replying.

In the step 5, I'm not understanding. I attached a demo model that I tried to step 5.

  • Could you explain more the step 5 (Out the matched port you will now have your 'small' polygons with a UUID (in the list) for the nearest large polygon. Extract this UUID and replace the original UUID value with the one from the list

Thank you so much!

 


hkingsbury
Celebrity
Forum|alt.badge.img+63
  • Celebrity
  • 1620 replies
  • Best Answer
  • December 10, 2021

Thank you for replying.

In the step 5, I'm not understanding. I attached a demo model that I tried to step 5.

  • Could you explain more the step 5 (Out the matched port you will now have your 'small' polygons with a UUID (in the list) for the nearest large polygon. Extract this UUID and replace the original UUID value with the one from the list

Thank you so much!

 

Almost there, have a look below

image


hoa_le
Contributor
Forum|alt.badge.img+5
  • Author
  • Contributor
  • 142 replies
  • December 11, 2021

Thank you for replying.

In the step 5, I'm not understanding. I attached a demo model that I tried to step 5.

  • Could you explain more the step 5 (Out the matched port you will now have your 'small' polygons with a UUID (in the list) for the nearest large polygon. Extract this UUID and replace the original UUID value with the one from the list

Thank you so much!

 

Thank you so much. I do it :)


hoa_le
Contributor
Forum|alt.badge.img+5
  • Author
  • Contributor
  • 142 replies
  • December 23, 2021

Thank you for replying.

In the step 5, I'm not understanding. I attached a demo model that I tried to step 5.

  • Could you explain more the step 5 (Out the matched port you will now have your 'small' polygons with a UUID (in the list) for the nearest large polygon. Extract this UUID and replace the original UUID value with the one from the list

Thank you so much!

 

Hi @hkingsbury​ ,

 

In my case, I have fields: plot_uuid, area.

I want to dissolve area <0.03 into the same plot_uuid. I tried but it does not dissolve. I attached my model in the below.

That I want:

imgCould you tell me how to make it the same photo? thank you