I am trying to create an environmental sampling plan using an irregular shaped polygon. I need to divide an irregular shaped polygon into 30 equal area polygons. I have multiple sampling plans that I need to complete, so I have been searching for a way to automate this, rather than divide the polygon by hand.

Based on some research, I have found that creating a parcel fabric and using the parcel division tool will get me what I need. However, not only is my polygon irregularly shaped, but it also contains several donuts within the polygon. These areas represent islands and I don't want them included in the 30 equal area polygons.

I have tried to create this in two different ways and have yet to get it working. First, I created a parcel fabric excluding the donuts (there were no donut polygons - just holes of no data). When using the parcel division tool, I received the following error "A generated split line did not intersect with the source parcel" and the division was not completed. I assume this was because the split lines intersected the no data holes in the parcel.

I then created a parcel fabric including the donuts, each as individual parcels in the parcel fabric. I no longer am receiving the error, but the result I'm getting is just the large donut on its own and no division occurred.

If anyone has used the parcel division tool on polygons with donuts, how were you able to exclude the donuts from the parcel division?

To help visualize, below in purple are the donuts I want to exclude in the parcel division and the green is the area I want to divide.

enter image description here


Split your lake into small single part polygons:

enter image description here

Use method and script from this post to group these bits into "equal" area clusters:

enter image description here

Groups are labelled as %age of original lake area, which ideally should be 3.33% for all 30 clusters shown.

I guess slicing algorithm mentioned in comments will produce skinny multipart polygons, no good for representative sampling.

Note: script might hit memory limits with large number of cells. Results shown are based on 3532 bits and clustering took 14 minutes on my rather solid machine.

  • 1
    Thanks so much @FelixIP . I think this is a great solution and work around for users without ArcGIS Pro. However, I found a tool in ArcGIS Pro that will accomplish this within seconds! I'll post as answer. Thanks again. – Kristen Jul 8 at 13:43

Due to issues with the parcel fabric, I went a different route with trying to create irregular equal area polygons for my sampling plan. I found a work around that involves significantly less work and accomplished the goal.

There is a tool in ArcGIS Pro 2.3 called Subdivide Polygon. This tool allows you to subdivide by strips or stacked blocks. For my purposes, stacked blocks is exactly what I need.

enter image description here

The only downside is that this tool creates multipart polygons, as you can see some polygons are split across the island and doesn't make much sense for a sampling plan. But this can be accounted for by splitting this site down the middle and using the subdivide polygon tool twice, once for the west side and once for the east side.

enter image description here

  • I am not convinced. Perhaps show picture with 30 single part polygons. – FelixIP Jul 8 at 20:29
  • 1
    I'm not sure where best to post what you are asking for - adding to the bottom of my answer. After splitting the original polygon in half (polygon bisector tool) and then using the subdivide polygon tool on each half, all polygons are now single part polygons except for one. For my purposes, this is fine. For those that may not be fine for, you can adjust the split angle in the subdivide polygon tool, or cut the original polygon more than once. However, that may not work in every scenario. I'll do some additional research to see if the tool can account for multipart/single part polygons. – Kristen Jul 8 at 21:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.