Skip to main content
Solved

Divide an irregular polygon into 'n' number of polygons of equal or approximately equal area

  • February 7, 2018
  • 9 replies
  • 662 views

srg
Forum|alt.badge.img+10

Hello FME community,

I am looking for ideas/ logic to use in FME to divide an irregular polygon geometry into user defined number of polygons of equal or approximately equal area.

Example: Assume an irregular polygon with total area of 180 Sq Km.

The user would like to divide this irregular polygon into 6 smaller polygons of equal area. That is 30 Sq Km each.

But for the spatial input for the irregular polygon to be divided and the number of smaller polygons of equal or approximately equal area desired, there will be no other inputs from the user.

Looking for ideas/ logic to use in FME.

Thanks

SRG

Best answer by dmitribagh

Hi @srg,

 

 

check this article - it uses point cloud technique to split any polygon into smaller ones of the similar sizes:

 

 

https://blog.safe.com/2016/05/point-cloud-power/

 

 

Dmitri
View original
Did this help you find an answer to your question?

9 replies

david_r
Celebrity
  • February 8, 2018

For what it's worth, there's the parcel fabric tool in ArcGIS that does something similar:

http://desktop.arcgis.com/en/arcmap/10.5/manage-data/editing-parcels/dividingparcelsbyarea.htm


scyphers
Participant
Forum|alt.badge.img+5
  • Participant
  • February 8, 2018

Hi @srg have found an interesting approaching using longside medial axis to to break a polygon into area driven parts. I have not tackled it in FME (yet). But I will now plant this seed.

http://www.khetarpal.org/polygon-splitting/

And see one of the geometry puzzlers amongst us can report back, (apologies @Mark2AtSafe) I am commandeering an unofficial FME Challenge.

I hope to get some work done and come back and look at this. It should go in the FME Hub this is a useful. If i solve it it will be called the 'AreaShardonnay Transformer' or something equally as silly. So someone else should have a go before that happens :)


dmitribagh
Safer
Forum|alt.badge.img+16
  • Safer
  • Best Answer
  • February 8, 2018

Hi @srg,

 

 

check this article - it uses point cloud technique to split any polygon into smaller ones of the similar sizes:

 

 

https://blog.safe.com/2016/05/point-cloud-power/

 

 

Dmitri

srg
Forum|alt.badge.img+10
  • Author
  • February 9, 2018
dmitribagh wrote:

Hi @srg,

 

 

check this article - it uses point cloud technique to split any polygon into smaller ones of the similar sizes:

 

 

https://blog.safe.com/2016/05/point-cloud-power/

 

 

Dmitri
@dmitribagh no doubt that the pointcloud workspace example does wonders with the polygon splitting and serves the purpose. But I am unable to conclude, how to define the exact number of splits I need using the spacing interval and the number of points per tile parameter!

srg
Forum|alt.badge.img+10
  • Author
  • February 9, 2018
scyphers wrote:

Hi @srg have found an interesting approaching using longside medial axis to to break a polygon into area driven parts. I have not tackled it in FME (yet). But I will now plant this seed.

http://www.khetarpal.org/polygon-splitting/

And see one of the geometry puzzlers amongst us can report back, (apologies @Mark2AtSafe) I am commandeering an unofficial FME Challenge.

I hope to get some work done and come back and look at this. It should go in the FME Hub this is a useful. If i solve it it will be called the 'AreaShardonnay Transformer' or something equally as silly. So someone else should have a go before that happens :)

@scyphers Good find. But will be a challenging one to implement in FME without the assistance of Safe Software folks!

srg
Forum|alt.badge.img+10
  • Author
  • February 9, 2018
david_r wrote:

For what it's worth, there's the parcel fabric tool in ArcGIS that does something similar:

http://desktop.arcgis.com/en/arcmap/10.5/manage-data/editing-parcels/dividingparcelsbyarea.htm

@david_r good for ArcGIS only! also needs certain other inputs like bearing

dmitribagh
Safer
Forum|alt.badge.img+16
  • Safer
  • February 10, 2018
srg wrote:
@dmitribagh no doubt that the pointcloud workspace example does wonders with the polygon splitting and serves the purpose. But I am unable to conclude, how to define the exact number of splits I need using the spacing interval and the number of points per tile parameter!
Hi @srg,

 

 

it is a good question, I found the parameter values empirically, but I think it is possible to calculate the necessary values. Spacing is probably easy - make it dense enough for accurate tiles, but not too dense so that the process does not take too long.

 

 

The next step could be counting the number of points and then, assuming that roughly, there is about the same area per point, calculate the number of points per part - depending on requested size of the parts. If you check the areas in my example, you'll see they are around 25,000 sq km. I have 5 km spacing (25 sq km per point), 1000 points per area, which makes 25,000 per part. If you know the total area, and how many parts you need you can calculate the rest.

 

 

Will this help?

 

 

Dmitri

olivier
Contributor
Forum|alt.badge.img+7
  • Contributor
  • January 23, 2019
scyphers wrote:

Hi @srg have found an interesting approaching using longside medial axis to to break a polygon into area driven parts. I have not tackled it in FME (yet). But I will now plant this seed.

http://www.khetarpal.org/polygon-splitting/

And see one of the geometry puzzlers amongst us can report back, (apologies @Mark2AtSafe) I am commandeering an unofficial FME Challenge.

I hope to get some work done and come back and look at this. It should go in the FME Hub this is a useful. If i solve it it will be called the 'AreaShardonnay Transformer' or something equally as silly. So someone else should have a go before that happens :)

Hi @scyphers

Have you been able to translate this logic into FME?

Thanks!

Olivier


srg
Forum|alt.badge.img+10
  • Author
  • January 25, 2019
olivier wrote:

Hi @scyphers

Have you been able to translate this logic into FME?

Thanks!

Olivier

@olivier I used the logic provided by Dmitri to accomplish my task. Let me know if you need an example workspace.

happy fme-ing :-)

srg


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