Joins in ArcGIS Pro
A join is a common database operation where two data sets are connected to form a single data set. This tutorial covers the variety of different ways of joining data sets in ArcGIS Pro.
Attribute Joins
An attribute join connects two datasets based on common key values.Joins on Standardized Codes
One common applications of joins is joining table data with polygons for mapping and spatial analysis.
A major challenge is that attribute joins need to have a variables in both layers that match exactly.
Accordingly, whenever possible, such joins should be made on standardized codes rather than names like country names or county names where abbreviations or variations in spelling or capitalization can result in matching failures and gaps in the data.
For example, demographic table data from data.census.gov can be joined with TIGER polygons based on GEO_IDs created from FIPS codes. This process is described in this tutorial on Geospatial Data from the US Census Bureau.
The same technique can be used to join indicator data from The World Bank with country polygons based on three-letter ISO country codes. This process is described in this tutorial on Geospatial Data from the World Bank.
Joins on Names
In cases were standardized codes are unavailable, joins based on names may be necessary. This is an iterative process that involves performing an initial join, finding the features with missing data, correcting the table names, and repeating until all available table rows are matched to polygons.
Common reasons for name mismatches include:
- Capitalization (Washington vs. WASHINGTON)
- Alternative capitalizations (DuPage vs. Dupage)
- Abbreviations (St. John vs. St John vs. Saint John)
- Shortened names (Iran vs. The Islamic Republic of Iran)
- Updated names (Eswatini vs. Swaziland)
This example demonstrates an attribute join of a CSV file containing 2022 chicken meat production in tonnes by country joined with a shapefile of Natural Earth country polygons based on the country name fields.
- Run the Export Table tool to import the CSV file into a table in the project geodatabase.
- Run the Join Features tool to join the polygons with the table.
- Enter missing values in the attribute table.
Spatial Joins
An spatial join connects two datasets based on a spatial relationship where attribute values are transferred from a set of features in a join layer to a target layer.
Joining Points to Areas
Spatial joins can be used to aggregate point data into areas.
One example use of this technique is counting the number of crime incidents in neighborhoods. This technique is demonstrated in this tutoril on Spatial Analysis of Crime Point Data in ArcGIS Pro.
Spatial joins can also be used to sum or average values from point attributes. For example, installed capacity from power plant points can be summed within state polygons to find the total installed plant capacity per state. This technique is demonstrated in this tutorial on Point Data Anlysis in ArcGIS Pro.
Joining Areas to Points
The direction of the join can be reversed to join data from areas (join features) to points (target features).
One example is the joining demographic data from census tract areas to power plant points so that the demographics of areas around those power plants can be compared to overall demographics. This technique is demonstrated in this tutorial on Point Data Anlysis in ArcGIS Pro.
Geocoding Location Names to Areas
If you have a table of data with location names, you can avoid the issue issue with inconsistent names by first geocoding the names to points, and then performing a spatial join to transfer the data into polygons for mapping.
This example demonstrates this technique by geocoding a CSV file containing 2022 chicken meat production in tonnes by country and then performing a spatial join with a shapefile of Natural Earth country polygons to create a choropleth.
- Run the Geocode Addresses tool on the CSV file.
- Input Table: The CSV file from your local storage
- Input Address Locator: ArcGIS World Geocoding Service
- Input Address Fields: The name of the field containing the location names (Area)
- Output Feature Class: The name of the feature class for the geocoded points (Chicken_Points)
- Preferred Location Type: Address Location
- Category: Populated Place, Country
- Run the Join Features tool to join the polygons with the data from the points.
Joining Dissimilar Areas
Just as spatial joins can be used to aggregated data from points into polygons, spatial joins can be used to aggregate data from smaller polygons into larger polygons.
This example demonstrates use of the Summarize Within tool to join census tract level demographic data from the Minn 2015-2019 ACS Tracts feature service to neighborhood boundaries in the City of Chicago.
Spatial Joins of Raster Data to Areas
When working with vector and raster data, it can be helpful to join raster data to points or areas for analysis.
Raster Data to Points
ArcGIS Pro has a number of tools that can be used to transfer values from rasters to point features.
This example demonstrates extracting elevation values from an digital elevation model (DEM) (n41_w088_3arc_v2) to a point feature class of Chicago Transit Authority "L" Stations (CTA_Stations) using the Extract Values to Points tool to create a new point feature class with the elevation values (CTA_Elevation).
Point Elevation
If your primary interest is getting elevation values for points and you have fewer than 1,000 features, the Summarize Elevation tool can be used to add an elevation field to a point feature class.
This example demonstrates adding elevation values to a point feature class of Chicago Transit Authority "L" Stations.
Area Elevation
As with points, if your primary interest is getting elevation values for areas and you have fewer than 1,000 features, the Summarize Elevation tool can be used to add an elevation field to an area feature class.
This example neighborhood boundaries in the City of Chicago.