Question

Move polygons to become adjacent without changing shape

  • 4 January 2024
  • 2 replies
  • 10 views

Badge +1

Hello FME Experts! I have been struggling with this for several weeks and I'm hoping someone may have some insight.

 

I have a set of data that contains buildings that were manually digitized from roofline data. From this set, I have scaled the polgyons based on the type of roofline (scaling factors predetermined). This resulted in some properties with multiple roofline types to separate from each other. Think of a home with some steep and less steep rooflines - the scaling was done on each polygon. In addition, I used @Takashi Iijima​ 's workbench and modified it slightly to right angle polygons where possible.

 

Now, I have an issue because I have polygons that should be adjacent (have shared boundaries) but because of the scaling, they are no longer attached (and because these were manually digitized, there were previous gaps in the data).

 

I would like to physically MOVE the polygons to allow them to have a shared boundary without changing the shape (much).

 

I tried using a clip from the original dataset and creating a polygon between the 2 new polygons, generating the centerline from the polygon in the middle, chopping that polygon by the centerline, and merging those with the scaled polygon (to expand the polygon on each side by half the distance between them) but this has not worked.

 

Essentially, I want the polygons to attach when they have the same property code and are within a specific distance. However, because they are based on roofline data for properties, there are many shapes involved and this complicates things.

 

To make matters more complicated, I also have covered porches that have been digitized and should be aligned with the roofline data as well.


2 replies

Badge +4

Not sure if this might help in your case, because it depends on your data, but would it be possible to dissolve the buildings that are touching first and then apply all the scaling you do on the whole touching building group, to prevent the shared boundary from scaling? You could then use the Remnants from the Dissolver to cut the polygons again.

Badge +1

Not sure if this might help in your case, because it depends on your data, but would it be possible to dissolve the buildings that are touching first and then apply all the scaling you do on the whole touching building group, to prevent the shared boundary from scaling? You could then use the Remnants from the Dissolver to cut the polygons again.

thanks for your reply. This was my first thought but the buildings have different scaling factors based on the steepness of the roofline. So I can't scale them as a group. I did also attempt this at the start but found that scaling in groups sometimes caused the polygons to flip because it was based on the centroid.

 

Essentially, I'm hoping to find a way to snap the polygons together without any material changes to their shape (so just moving the polygons)...not sure if that makes sense.

Reply