How to split a irregular polgon into different parts having specific area for each part?

10 views (last 30 days)
I have an agricultural area shape file extracted from LULC map downloaded from ESRI. I also have the areas of different crops in thart agricultural area. Now I need to split that agricultural area based on that crop areas, by starting the splitting from one side of the polygon and the next area starts from ending of the previous area.The polygon of agricultural area is an irregular and discontinuous polygon

Answers (2)

John D'Errico
John D'Errico on 19 Aug 2023
Edited: John D'Errico on 19 Aug 2023
There is no magical, trivial solution, based on a single call to any function. Why would someone write that anyway?
But it would not be difficult to do, if you do not care about the actual shape of the resulting pieces. I say that, because finding a GOOD set of sub-regions will be a mathematically nasty problem, if you define good as meaning no long, thin sub-regions.
If you don't give a hoot about the actual shape of the results, then it is mathematically trivial. What would you do?
  1. Compute the area of the polygon, cumulatively from the left hand edge. So, if you plotted that cumulative area, it would be a monotonically increasing function, going from zero to the total area of the polygon. The x axis on that plot will be the value of x as you scan across the region from left to right. The y axis will be cumulative area. Got the idea?
  2. Inverting that functional relationship gives you the break points that will tell you how to split the polygon.
I don't do homework though. Sorry. And this is almost certainly essentially a homework problem, because if you really cared about the solution, you would also have asked how to solve the problem to find well-posed sub-regions.

Bruno Luong
Bruno Luong on 19 Aug 2023

Categories

Find more on Agriculture in Help Center and File Exchange

Products


Release

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!