Joining and relating tables allow you to combine spatial and non-spatial data into ArcGIS based upon a single field in common, or the ‘key’.
Joins and relates are essentially the same thing, with one pretty significant difference. Join actually joins the data within the attribute table of the joined layer, while relate keeps each table in their respective form but allows for the use to switch back a forth to examine the tables.
- Both methods allow for spatial query
- Both methods are temporary (live only in the MXD) unless further steps are taken to make the process permanent (i.e. Exporting the joined data)
Preparing Data for Joins and Relates
ArcGIS and Excel see the world differently. The main reason for this is Excel is software concerned with calculations - spreadsheets - and ArcGIS is a Database Management System (similar to MSAccess). Because of this major difference, things that ‘make sense’ to Excel do not make sense to ArcGIS.
ArcGIS expects each column to have a heading
Look at the key in your spatial data. ArcGIS cares deeply about the key being EXACTLY the same in both the source and the target.
Joining the Spatial to the Non-Spatial
Joining Based on Attribute
Joins based on attributes connect the spatial to the non-spatial using text. Matching attributes such as state, country, FIPS number, or other unique identifiers allows us to expand the non-spatial knowledge of our data without fully recreating spatial data.
Attribute joins can be temporary, existing only in your map, or permanent, by exporting the desired fields to a new feature class.
Either way, using the ‘join’ dialog box follows the same basic structure: designate the key, or common field, validate the join, correct errors that prevent a total join, then apply the join to the data.
- Right click on the layer you wish to add the attributes to, choose Joins and Relates -> Join
The Join Dialog box:
- What do you want to do to join this layer? :
Join attributes from a table
- Choose the field in this layer the join will be based on:
Pick the key from the drop down of field names
- Choose the table to join to this layer, or load the table from disk:
Pick the table (Excel or other) or other feature class to add to the existing feature class
- It’s possible to join the spatial and the attribute table of another spatial layer. You would want to do this if you have two spatial layers with different information you’d like to make one -- ie. a parcel layer with parcel id’s and owner’s names with a parcel layer from a different source that includes parcel id and owner contact information.
- You can toggle other feature classes with the Show the attribute tables of layers in this list check box
- Choose the field in the table to base the join on:
Find the other half of the key
- Remember, the field names of the keys do not need to be identical, just the information contained in that key
- Join Options:
- Keep all Records, in which the join will not eliminate the unmatched values from the table. They will appear at the bottom of the list and NULL will be in the records associated with the join layer; or
- Keep only matching records, which will eliminate the values in the joined table which have no match. No records with Null will appear at the bottom of the list.
- Validate Join
Check the join. Look at the output. Did the quantity of records that you expected to match actually match? What does the output tell you? Do you need to make changes in Excel and try to rejoin? Or did all go to plan?
- OK When your join is as expected, click OK to complete the join
- About joining data This link will take you to the ArcGIS help menu
Joining Based on Spatial Location
Joins based on spatial location is similar to joins based on attribute for two spatial layers, except this method uses not text in the attribute table, but spatial location on a map, ie. all earthquakes inside California (or, more specifically, the polygon that is the California feature).
The Join Dialog box: