Hello,
I am trying to select only values on a map that touch AND share the same value in a field. For example, numerous people own/are in charge of multiple plots of land across a state. Some of these parcels touch each other while others do not. One person may own two or more plots of land that touch, own plots of land far away from each other, or a mixture of both options (some that touch some that don't). I'd like to be able to select only parcels that touch and are owned by the same person.
If someone (let's say a value of 'John' in the 'Owner' attribute) owns parcels far away from each other or owns two parcels with another parcel (let's say 'Jasmine' owns the middle one) between, i.e. not touching, they would not be selected. I'd then like to be able to symbolize the 'double' parcels based on owner name, dropping all 'single' parcels from the map. I don't want to go fully manual by creating a new layer per owner then selecting polygons based on spatial proximity.
I've included a very basic table to try to convey the idea.
Any suggestions?
Owner | Parcel | x,y location |
John | 1 | 2,1 |
John | 3 | 2,2 |
Jessica | 7 | 7,6 |
Jessica | 8 | 6,6 |
A workflow to solve this that could be done in model builder is to step through each polygon and use the select by location to select up adjacent touching polygons. You then deselect all polygons that do not have the same name as the selecting polygon. Then that is your combination which you can tag with a field calculate. As you step through each polygon you will come across the inverse so you could have some logic that skips the tagging step or simply overwrite it.
This "brute force" approach won't necessarily scale well if you have billions of polygons your are testing. You don't give any indication of the scale of processing you desire.