Skip to main content

I have set of polygons representing streets like in the image below. I want to merge small polygons like the selected orange polygon to their bigger container polygon.

I do not know how to do this with FME. What would be a good approach?

Thanks for any help!

Have you looked at the Dissolver?


Hi @oiram, if I understand the requirement correctly, this workflow does the trick.


Have you looked at the Dissolver?

Yes, thanks.


Hi @oiram, if I understand the requirement correctly, this workflow does the trick.

Excellent, this works nicely.

However, I would prefer that the larger streets "win" over the small. Now, the small streets reach into the larger ones. Is there a way to control this?

Thanks!


Excellent, this works nicely.

However, I would prefer that the larger streets "win" over the small. Now, the small streets reach into the larger ones. Is there a way to control this?

Thanks!

I'm unclear exact situation of the original dataset. Is a small polygon (red) within an overlapping area of two large polygons (blue), like this?


I'm unclear exact situation of the original dataset. Is a small polygon (red) within an overlapping area of two large polygons (blue), like this?

No, the small polygon is on the borders , like the green square. It's created by an AreaOnArea overlay of the two streets which have an overlay in the original dataset. In the solution above, the green square becomes part of the vertical polygon and the horizontal is cut out (clipped) in this area. I would like it to be part of the horizontal, bigger blue polygon, so that both are still rectangles in this example.

 


Excellent, this works nicely.

However, I would prefer that the larger streets "win" over the small. Now, the small streets reach into the larger ones. Is there a way to control this?

Thanks!

OK. After calculating the area for every original polygons with the AreaCalculator, you can achieve the goal with this workflow including the AreaOnAreaOverlayer.


OK. After calculating the area for every original polygons with the AreaCalculator, you can achieve the goal with this workflow including the AreaOnAreaOverlayer.

Excellent, this works perfectly.

One last question: Is it possible to sort on the list based on two attributes? Meaning, if the first criteria to sort is equal on two attributes, take a second to rank them?

 

 

 

 

featureattribute Aattribute BrankA1081B1052

Excellent, this works perfectly.

One last question: Is it possible to sort on the list based on two attributes? Meaning, if the first criteria to sort is equal on two attributes, take a second to rank them?

 

 

 

 

featureattribute Aattribute BrankA1081B1052

Unfortunately, the list sorter doesn't currently allow sorting by multiple attributes


Unfortunately, the list sorter doesn't currently allow sorting by multiple attributes

Ok, thanks for the information.


Ok, thanks for the information.

It is possible to sort the list in fme using python


Excellent, this works perfectly.

One last question: Is it possible to sort on the list based on two attributes? Meaning, if the first criteria to sort is equal on two attributes, take a second to rank them?

 

 

 

 

featureattribute Aattribute BrankA1081B1052

You can use the Sorter instead.