I'm looking for a Java library, or even an algorithm to do the following:
I have a large polygon, about the size of a large city. I need to break it down into smaller polygons such that:
The area of each part is less than 1 sq KM. (This threshold should be a parameter to the algorithm or function)
Each Part should have 3 or more sides.
The Part need not be a regular polygon.
Each Polygon can have different area.
These Polygons should cover the entire source Polygon.
The solution should minimize the number of polygons.
How do I Partition the Polygon in such a way?