I have 141 main polygons, and then a list of thousands of smaller polygons that are clipped to the main polygons. I am interested in knowing what percentage of the surface area of the main polygons is covered by the smaller polygons.

My idea was to do this as a spatial join, where I join data from the smaller polygons to the main polygons based on location. summarized as the 'sum' of smaller polygons. Then I can use the field calculator to go with area_of_smallerpolygons/area_of_mainpolygons. This all works fine.

The problem is that my spatial join is only partially completing, the resulting shapefile only has 127 polygons, instead of the 141 main polygons. I thought perhaps it would leave out main polygons that do not intersect with the smaller polygons, but upon visual inspection this is not the case.

Below is an example of one of the 14 main polygons that are for some reason left out in the spatial join. enter image description here

  • 1
    Try Repair Geometry resources.arcgis.com/en/help/main/10.2/index.html#//… on your green polygons (and the other ones too), hourglass and unclosed rings can create havoc in overlay operations. Nov 9 '21 at 1:25
  • 1
    To debug this a little more, extract that little portion out to its own seperate dataset/table and then try running the join on that isolated area. this will help debug geometry errors/other issues. If it works though, you know that its got something to do with the rest of the dataset. so this approach will help diagnose the problem.
    – nr_aus
    Nov 9 '21 at 1:30
  • Thanks for the suggestion, while Repair geometry for the smaller polygons resulted in some being repaired because of 'self-intersections', it unfortunately did not fix the problem and the same 14 main polygons are still not part of the spatial join. Nov 9 '21 at 1:30
  • Dissolving the smaller polygons (turn off multipart features) fixes the problem, although I'm not sure why. If someone has a clue, please reply and I will add it here! Nov 9 '21 at 2:02
  • 1
    Obviously your small polygon sat in a few biggies. Spatial join picked first match.
    – FelixIP
    Nov 9 '21 at 3:44

Your Answer

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

Browse other questions tagged or ask your own question.