Skip to main content
Question

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

  • May 22, 2017
  • 2 replies
  • 103 views

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

This post is closed to further activity.
It may be an old question, an answered question, an implemented idea, or a notification-only post.
Please check post dates before relying on any information in a question or answer.
For follow-up or related questions, please post a new question or idea.
If there is a genuine update to be made, please contact us and request that the post is reopened.

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

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'.