I am looking for a method to calculate the majority of one polygon file (a map of ecoregions) in a sampling grid (fishnet) in ArcGIS. The purpose is to assign each sampling grid (fishnet) to an ecoregion. The determining factor will be the majority of area.

I had a decent method of working out the problem using Tabulate Area tool, but the numbers were almost all identical indicating something weird was going on. I didn't trust it. I was also playing around with the intersect tool then dissolve, but couldn't find a way keep the attribute data I needed (in this case, the ecoregion I want to label).

Problem: Label each sampling grid by the majority area of ecoregion within the sampling grid.

Can someone help me out?

  • I think your question could benefit from a diagram to show more clearly something that is difficult to describe in words.
    – PolyGeo
    Aug 13, 2014 at 23:50

3 Answers 3


I found this post when trying to do something similar, determining the parish with the biggest area within a fishnet polygon. Since this hasn’t been answered I present the solution I adapted in ArcGIS 10.2.

  1. Using the command “Tabulate Intersection Overlay” the total of area of each parish with a fishnet polygon is determined (area and percentage). Using the fishnet areas as zones and the parishes as class
  2. Using the SORT function sort the resulting table on the fishnet code and the area in descending order (at this moment the table present the largest area as 1st record for each unique fishnet code.
  3. With the “Summary Statistics” command obtain the first record (area and parish code) for each unique fishnet code

Hope this is helpful for someone.

  • Sorting not required. Summary Stats will allow a CASE field, so just use Grid ID as the case field and Eco region area field as a statistic field with MAX. That results in a table with one row per grid that has the largest area value for the Eco region.
    – Chris W
    Jul 3, 2015 at 0:20

You could overlay them using an Intersect, then do a statistics to find out the largest area based on the ecoregion - and join this stats table to the fishnet.

  • Similarly to when I intersect then dissolve, I end up getting a table the max area of each unique ID AND ecoregion. E.g. a max area of ID: 1 - Ecoregion1, and max area ID:1 - Ecoregion1. I'm looking for a way to get the max area ecoregion for each unique ID. I tried "dissolving" the ID by max area, but I end up losing the ecoregion information...which is why I'm doing what I'm doing.
    – PEC
    Aug 13, 2014 at 21:07
  1. Sort intersect result in descending order using Shape_area.
  2. Find min objectid for f.net polygon, using f.net uniqueid as case field.
  3. Delete ones != min objectid.
  4. Join remaining to f.net polygons using their unique id. Forgot to mention, each ecoregion has to be 1 shape, thus intersect result in only 1 same type region per square polygon (dissolve first?)
  • Thanks @PolyGeo for editing my answer. I struggle with formatting on my android tablet
    – FelixIP
    Aug 14, 2014 at 20:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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