Spatial Join 2 Spatially Joined Feature Classes

447
6
Jump to solution
07-21-2021 08:05 AM
Sue
by
New Contributor

Hi,

Relative newbie here. I have 2 spatially joined feature layers:

One based on census sub division (CSD) to recruitment territories (defined in-house based on a handful of cities in each recruitment territory). I called it CSD_RT_SJ.

The other is based on a bunch of new cities I geocoded and spatially joined to CSD (CSD_City_SJ).

I want ArcGIS desktop to spatially join CSD_RT_SJ & CSD_City_SJ and assign the recruitment territory to the additional cities based on CSD. I will then dissolve on territory for a map of cities bounded by recruitment territory. I would also like to export the data for a comprehensive list of cities and their territory for other data analysis.

I've tried a number of SJ combinations but they just result in a confusing mess of data with multiple X,Y & shape columns.

Any assistance the community can provide would be greatly appreciated.

Thanks, Sue

0 Kudos
1 Solution

Accepted Solutions
curtvprice
MVP Esteemed Contributor
Now that you have all the join fields you can add an attribute join from CSD polygons to your points by CSD identifier and then run the dissolve by territory - this is a one to many match but you said all CSDs have only one territory so it won't matter which one you match to.

Again messing with the field map in the spatial join tool can make this work easier by deleting fields you don't need from the output.

View solution in original post

6 Replies
curtvprice
MVP Esteemed Contributor

Are the CSD features polygons? The key thing here is to figure out what the output you want looks like - what are the unique rows? What fields or counts do you want? ArcMap or Pro?

If the CSDs are polygons, and the other data are points, it seems to me you have two spatial joins: 1) CSD to territories to make a list polygons with a territory tagged  and 2) cities to territory polygons to tag each city with a territory ID.  These are both of type ONE_TO_ONE if using the spatial join tool (I recommend this tool if you are using ArcMap over the menu workflow). Manipulating the field map to remove fields you don't want and set merge rules on the fields you do want is absolutely a good idea to avoid creating super wide tables that are hard to understand.

Hope this helps.

0 Kudos
Sue
by
New Contributor

Hi @curtvprice and thanks for your help. I am using Pro.

I have 1) above but it is the CSD polygons that are tagged with territories e.g., the Bruce-Huron territory is comprised of 26 CSD's. I need to map my city XY data to the CSDs, then dissolve on Territory. City to CSD is a 1:1 relationship. When I SJ CSD tagged withTerritory to my city point data, it I am only getting my first city back and it isn't even the correct CSD.

Thanks, Sue

0 Kudos
curtvprice
MVP Esteemed Contributor

I believe you are doing the join in the wrong direction. If you want a list of cities tagged with the polygon (w territory), the source (first parameter) is cities and the join (second parameter) should be the CSDs tagged w territory. Then you get a point feature class of cities with territory and you can do anything else from there.

0 Kudos
Sue
by
New Contributor

Hi @curtvprice 

Ok, that worked. Thank you!

I have a point file of cities, territories and CSD but the SJ dropped all of the shape data. How do I get my CSD shape data so I can dissolve on Territory?

0 Kudos
curtvprice
MVP Esteemed Contributor
Now that you have all the join fields you can add an attribute join from CSD polygons to your points by CSD identifier and then run the dissolve by territory - this is a one to many match but you said all CSDs have only one territory so it won't matter which one you match to.

Again messing with the field map in the spatial join tool can make this work easier by deleting fields you don't need from the output.

View solution in original post

Sue
by
New Contributor

Thanks @curtvprice this process did the trick!

0 Kudos