Skip to main content

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

Hi @hoa_le​ ,

have you try the AreaGapAndOverlapCleaner?

 

Before:

imageAfter:

image


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


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

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!

 


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


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 :)


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


Reply