Hello! So I have run into this problem a few times, and there has to be an easier way than what I am doing.
I create maps that show how many people took a survey in specific locations. So we collect the data by zip code (which is its own problem with GIS but that's not what this post is about), and I often need to convert the frequency by zip code to frequency by county. Zip codes cross counties, so my criteria for being within a county is that the zip code polygon is over 50% within the county, and then I will assign the "frequency" from the zip code to that county.
Right now, I do it all by hand. I look at the frequency field (which I created) and I add up all of them within a county, and then I make a new field for the county layer. Is there an easier way to do this? It's by location, which is what trips me up.
Let me know if you have any advice. I've only been working with GIS for a few months, and I'm trying to learn. I haven't found anything online about this.
theres a few tools you could test to see what best fits. Have a look at the tool 'polygon neighbours'. This exports a csv table reporting on overlapping polygons which could be used to find the >50% as part of a process. The process could be 1. run 'polygon neighbours' 2. run a 'calculate field' to get the details you want - %'s. 3. do a table join back to your original dataset with the percentages as an attribute.
Another process to try could be to use 'intersect' or 'union' to create a new polygon dataset broken down into both zipcode and county eg. 1 zipcode polygon is now 2 polygons, with each polygon having a different attribute for county.These new polygons will automatically have their area (SHAPE_AREA), and you can do a table join from your original polygon (zipcode) to this new polygon by zipcode to get the original total area as an attribute and then do some calculate fields to find percentages.
Good luck, i hope one of these works for you.