Assigning each Polygon to a Larger One

10-27-2016 08:48 AM
New Contributor

Hello. Forgive me if this really simple I don't really know arcGIS much at all. I have a 2 shapefiles of polygons. One is each US county. Another is electrical grid regions. The grid regions vary across sate and in some cases county. What I would like to do is assign each county a majority grid. For example, if a county is 20% grid 1 and 80% grid 2, I would like a variable for that county Grid==2. If another county is entirely in grid 6, I would like a variable Grid==6. Can anyone help me do this? I really don't know how to do much in GIS. Thanks. I've attached a picture of the grids (different colors) with county borders if that helps you understand what I'm trying to do. 

Tags (3)
0 Kudos
1 Reply
MVP Alum

There are several ways to do this:

The most basic way is to a Spatial Join. This can be done with either the Spatial Join (Analysis) geoprocesing tool, or by going into the attribute table of one layer and performing a Join using "Join data from one layer to another by spatial location".

ArcGIS Help (10.2, 10.2.1, and 10.2.2) Spatial Join Geoprocessing tool

ArcGIS Help (10.2, 10.2.1, and 10.2.2) Spatial Join by Location

If one has access to an Advance license, one could also consider using the Identity (Analysis) geoprocessing tool.

ArcGIS Help (10.2, 10.2.1, and 10.2.2) Identity Geoprocessing tool

The one catch will be dealing with the polygons that have two or more grids in them.  Probably the easiest way to handle this is to first add a field to the County layer called OriginalArea.  Use Calculate geometry to populate this with the area .  Then do a spatial join or Identity.  In the output, create another field, this one called OutputArea.  Calculate geometry on this one to populate it with area.  Then create a Percentage field.  Populate this by calculating OutputArea/Original Area.  Now one has a means to distinguish how much of each county part is in each grid. 

One can go further with this to refine the processing more to avoid doing manual work in updating the final result (but I will have to scratch my head more, as it is not immediately coming back to me).  For example, one can run a Frequency of the counties in the output to find out how many "pieces" resulted from the processing, then join that data back to the output so one can query all the counties that resulted in more than one polygon (and thus need evaluating to determine what the majority grid is).

I think one can then Dissolve (Data Management) the output based on Statistics Fields (Optional) of "Max" to rebuild the counties with the grid the covers the most populated, but I have not tested that to be sure.

ArcGIS Help (10.2, 10.2.1, and 10.2.2) - Dissolve

Chris Donohue, GISP