Skip to main content
Solved

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

  • December 1, 2021
  • 7 replies
  • 118 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

hoa_le wrote:

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

View original
Did this help you find an answer to your question?

7 replies

connecter
Forum|alt.badge.img+4
  • December 1, 2021

Hi @hoa_le​ ,

have you try the AreaGapAndOverlapCleaner?

 

Before:

imageAfter:

image


hoa_le
Contributor
Forum|alt.badge.img+5
  • Author
  • Contributor
  • December 1, 2021
connecter wrote:

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+51
  • Celebrity
  • 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
  • December 8, 2021
hkingsbury wrote:

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+51
  • Celebrity
  • Best Answer
  • December 10, 2021
hoa_le wrote:

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
  • December 11, 2021
hoa_le wrote:

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
  • December 23, 2021
hoa_le wrote:

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


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