Skip to main content
Question

Merge small polygon with larger container polygon


Forum|alt.badge.img

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!

12 replies

david_r
Celebrity
  • July 24, 2019

Have you looked at the Dissolver?


takashi
Influencer
  • July 24, 2019

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


Forum|alt.badge.img
  • Author
  • July 24, 2019
david_r wrote:

Have you looked at the Dissolver?

Yes, thanks.


Forum|alt.badge.img
  • Author
  • July 24, 2019
takashi wrote:

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!


takashi
Influencer
  • July 24, 2019
oiram wrote:

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?


Forum|alt.badge.img
  • Author
  • July 25, 2019
takashi wrote:

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.

 


takashi
Influencer
  • July 25, 2019
oiram wrote:

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.


Forum|alt.badge.img
  • Author
  • July 25, 2019
takashi wrote:

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

ebygomm
Influencer
Forum|alt.badge.img+39
  • Influencer
  • July 25, 2019
oiram wrote:

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


Forum|alt.badge.img
  • Author
  • July 25, 2019
ebygomm wrote:

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

Ok, thanks for the information.


ebygomm
Influencer
Forum|alt.badge.img+39
  • Influencer
  • July 25, 2019
oiram wrote:

Ok, thanks for the information.

It is possible to sort the list in fme using python


takashi
Influencer
  • July 25, 2019
oiram wrote:

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.


Reply


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