Skip to main content
Question

Minimum Area Forcer - Increasing the area of a polygon within a larger polygon


Forum|alt.badge.img

Hello,

I'm trying to find a way to grow polygons to a minimum size, while keeping the entirety of the polygon within a larger polygon.

I have multiple polygons that area below a minimum area threshold of 400m2 which means they need to be grown to at least that size. However the problem that I have is that these polygons are (generally) already touching the boundaries of the larger polygons that they are within. What I would like to do is grow the smaller polygon to a certain size, ensuring that it does not cross any of the boundaries of the larger polygon.

Is this possible?

 

Thanks,

Fraser

2 replies

david_r
Celebrity
  • May 23, 2017

Maybe create a custom transformer:

  1. Bufferer with amount x
  2. Clipper to outer polyon
  3. AreaCalculator + Tester to check if area >= 400m2
  4. If area is ok, send to output port
  5. If area is not ok, increment x and go to 1

Looping custom transformers are described here: https://docs.safe.com/fme/html/FME_Desktop_Documentation/FME_Workbench/Workbench/transformers_custom_looping.htm


jneujens
Forum|alt.badge.img
  • May 23, 2017
david_r wrote:

Maybe create a custom transformer:

  1. Bufferer with amount x
  2. Clipper to outer polyon
  3. AreaCalculator + Tester to check if area >= 400m2
  4. If area is ok, send to output port
  5. If area is not ok, increment x and go to 1

Looping custom transformers are described here: https://docs.safe.com/fme/html/FME_Desktop_Documentation/FME_Workbench/Workbench/transformers_custom_looping.htm

Great idea! But notice that this custom transformer might go on forever if the size of the polygon cannot increase without intersecting neighboring polygons. I never looked into it, but maybe there is a way to set a upper limit of the amount of iterations?

 

 

You can always use a testfilter inside the loop that checks: 'if bufferer amount x is larger than y, then send the remaining data to another output port'.

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