Join external tabular data to existing spatial data
When joining an external table to a spatial layer in ArcGIS, you must…
- have a common field in the external table with values that match values in a field in the spatial layer
- have either a one-to-one relationship or a many-to-one relationship
- NOT have a one-to-many relationship
- One record in my county GIS layer matches one layer in the external population data file
- Many records in my land cover GIS layer relate to one record in the external zone data file
You may NOT perform a ONE-TO-MANY join – can’t join many external records to one feature.
ArcGIS Spatial Join…
When your (spatial) layers on your map don’t share a common attribute field, you can join information using a spatial join.
- Spatial Join joins attributes of two layers based on the location of the features in the layers
- You can perform a spatial join with either the Join Data dialog box, accessed by right-clicking a layer in ArcMap, or the Spatial Join tool.
Join by location, or spatial join, uses spatial associations between the layers involved to append fields from one layer to another. Spatial joins are different from attribute and relationship class joins in that they are not dynamic and require the results to be saved to a new output layer.
One of three types of associations, described below, can be used to perform a spatial join:
Match each feature to the closest feature or features: In this association, you can append either the attributes of the nearest feature or an aggregate (min, max, and so on) of the numeric attributes of the closest features.
Match each feature to the feature that it is within: In this case, the attributes of the feature that the current feature is within are appended. For example, some cases where this match will occur are a point that is within a polygon or a line segment that is completely within (in other words, overlapped by) another line segment.
Match each feature to the feature or features that it intersects: Like with the closest feature(s) association above, you can append either the attributes of a single intersecting feature or an aggregate of the numeric attributes of the intersecting features.
Unlike joining tables, relating tables simply defines a relationship between two tables. The associated data isn’t appended to the layer’s attribute table like it is with a join. Instead, you can access the related data when you work with the layer’s attributes.
For example, if you select a building, you can find all the tenants that occupy that building. Similarly, if you select a tenant, you can find what building it resides in (or several buildings, in the case of a chain of stores in multiple shopping centers—a many-to-many relationship). However, if you performed a join on such data, ArcMap will only find the first tenant belonging to each building, ignoring additional tenants.
ArcGIS Joins vs Relates…
Ggeneral guidelines when choosing between joins and relates on your data:
- You’ll want to join two tables when the data in the tables has a one-to-one or a many-to-one relationship.
- You’ll want to relate two tables when the data in the tables has a one-to-many or many-to-many relationship.