Spatial Joins in ArcGIS Pro

Revised 6 June 2026

A join is a database operation where two tables are connected based on common key values. Joins are very commonly used for processing and analyzing geospatial data.

A 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. The ability to use spatial relationships as join keys is a unique characteristic of geospatial data that permits analysis of a variety of social and environmental phenomena.

This tutorial covers basic spatial join techniques that you can use in ArcGIS Pro. Most of the examples will use data from the US Census Bureau.

All videos in this tutorial are silent.

Summarize

Spatial joins can be used to summarize attributes from one layer into another based on the spatial relationships between features.

These examples use hospital and demographic data.

Summarize Points in Polygons

Spatial joins can be used to get counts of points within polygons and summarize point attributes.

This example aggregates hospital bed counts by county in Illinois.

Hospital bed counts in Illinois in 2024

Summarize Points Near Polygons

Spatial joins can be used to get counts and attribute summaries of point data nearby polygons to address accessibility to facilities outside the borders of particular areas.

This example summarizes the count of hospital beds at facilities within 15 miles of each census tract in Illinois, which is a rough estimate of accessibility within the "golden hour" for beginning successful acute ischemic stroke treatment (Spiotta et al. 2014).

Points near polygons

Summarize Polygons Near Points

Spatial joins can be used to get counts and attribute summaries from polygons surrounding points.

This example summarizes demographic characteristics of census tracts surrounding each hospital in Illinois.

Points near polygons

While ArcGIS Pro does not have a simple feature for creating comparison visualizations across feature classes, you can place charts from different feature classes on the same layout.

Comparison box plots

Proximity

Proximity analysis is the extraction of information from geospatial data based on distance between features. Proximity analysis is especially useful for evaluating two characteristics:

Proximity analysis assumes distance decay, where the power of the relationship between locations decreases as distance between locations increases. Distance decay is a fundamental assumption behind gravity models.

Categorical Proximity

Categorical proximity divides areas into two classes (adjacent and non-adjacent) based on proximity to specific locations.

Hospitals are destinations for helicopters and ambulances with sirens 24/7/365. As such, the areas around large hospitals often have levels of noise that are undesirable for residents. Community noise can also have negative effects on hospital patients (Montes-González et al. 2019). Identifying the extent of such areas can be useful to planners for designing zoning to mitigate exposure, or for public health analysts seeking to identify stressors that could affect local residents.

Use of categorical proximity operates on the imperfect assumption of influence or accessibility to a point distributed evenly around the points, and is therefore only useful for rough estimation of influence or accessibility. In the case of dispersions of pollutants a transport model is needed to more accurately model wind and flow patterns and how they transport the toxins. These models can be quite complex (Beyea and Hatch 1999).

Categorizing tracts within one mile of a hospital

Weighted Proximity

Weighted proximity involves measuring the distance between each feature in one set of features to the nearest features in another set of features.

When analyzing phenomenon with distance decay, these distances represent decreasing influence (such as with dilution of pollution further from industrial facilities) or decreasing accessibility (such as with increased walking distance to transit stops.

Use of continuous distances rather than categorical near/not-near classification can be helpful for measuring phenomena where the boundaries of accessibility or influence are ambiguous.

The association between hospital travel time and general health outcomes is mixed (Kelly et al. 2016), although proximity to a hospital has a strong association with mortality for time-sensitive acute conditions like heart attack (Yamashita and Kunkel 2010) and stroke (Acharya et al. 2011).

Weighted proximity

Weighted Proximity with Centroids

Because the Near tool uses the nearest edge of polygons to calculate distance, calculations with large or overlapping polygons may result in distances that are unreflective of distance to the majority of the area within the near features.

You can mitigate this issue by calculating distance using polygon centroids.

Weighted proximity with centroids

Weighted Proximity with Line Points

Note that the Near tool calculates distance from the nearest adjacent vertex for lines. If you are working with long straight line features with a limited number of vertices, you may want to use the Generate Points Along Lines tool to convert the lines to a sequence of points that will more clearly reflect distance from a point or polygon to the nearest line.

In this example, we convert interstate highway lines to one-mile points and use Near to find stretches of interstate highway where travel time to hospitals for accident victims may be long.

Weighted proximity to line points

Dissimilar Areas

Spatial joins can be used in situations where you need to join layers of polygons with dissimilar types or boundaries. While such techniques introduce uncertainty, they may be the best acceptable option with some types of data, especially if the underlying aggregated data has meaningful margins of error.

Upsampling Areas

Spatial joins can be used to upsample data from smaller polygons into larger polygons.

This example demonstrates use of a spatial join to join demographic census tract data from the Minn 2020-2024 ACS Tracts feature service (Tracts) to neighborhood boundaries in the City of Chicago (Neighborhoods).

Joining dissimilar areas

Downsampling Areas

A challenge with polygon joins is that the areas used between different years can have slightly different borders resulting from minor data changes over time. This can result in sliver overlaps where spatial joins average values from adjacent join polygons that are not actually representative of areas covered by target polygons.

This example analyzes income and population density change in Cook County, IL census tracts between 2010-2014 and 2019-2023.

Analyzing population density change in Cook County, Illinois using a centroid join

Aggregate Coverage

Spatial joins can be used to calculate the areas of polygon features that are covered by areas in another feature class.

This example estimates the percentage of census tracts in Milwaukee County, WI (Tracts) that are covered with tree canopy based on a feature class of tree canopy polygons (Tree_Canopy) digitized from 2020 lidar data by the Milwaukee County GIS and Land Information Office.

Aggregating polygon coverage areas

Categorical Percentage

Spatial joins can be used to calculate percentages of features based on categorical variables.

This example estimates the percentage of waterways by Illinois county that are classified by the US Environmental Protection Agency (EPA) as too polluted or otherwise degraded to support their potential or existing uses (impaired). The original data source is the EPA via the ArcGIS Living Atlas USA Impaired or Threatened Waterbodies lines feature service.

The feature class contains an is_impaired flag (Y/N) to indicate impairment status.

Calculating area percentages using spatial joins

Buffers

Buffers are polygons that cover a fixed distance around features.

Buffers are commonly used to visualize proximity to features.

Euclidean Buffers

Euclidean buffers are polygons drawn based on Euclidean straight-line distance. While such distances are often unreflective of actual travel time through transport networks or dispersion of pollutants through air or water, they represent a conveniently proxy that is adequate for simple research.

This example creates one kilometer buffers around hospitals in Illinois representing area that might be affected by noise from emergency vehicles.

Add the Buffer tool to create the buffers.

Euclidean buffers

Travel Time Buffers

Travel time buffers calculate distances based on estimated travel time through transportation networks (roads, railways, sidewalks, etc.). Because people generally experience distance as time, travel time buffers represent a

Travel time calculations require information from databases of travel network links. Those databases require continuous effort to build and maintain, so travel time calculations with ArcGIS Pro involve access to ArcGIS Online services that involve expenditure of ArcGIS Online credits, which must be purchased by the organization managing your ESRI license. Accordingly, you will want to minimize the number of buffers you create avoid unnecessary expenditures and exhaustion of your credit allocation.

In this example we use fifteen minute drive-time buffers around the hospitals to identify residents within the "golden hour" for beginning successful acute ischemic stroke treatment (Spiotta et al. 2014).

Categorical Proximity Analysis with Buffers

Although the Planar Near option in Join Features makes buffers unnecessary for many types of proximity analysis, buffers can also be useful for analysis when working with irregular or non-Euclidean distances like drive time.

For this example we use the drive-time buffers created above to analyze accessibility to hospitals in St. Clair County, Illinois.

Analysis using drive-time buffers

Raster and Elevation Data

While the USCB does not provide raster or elevation data, ArcGIS Pro provides tools that can be used to acquire, clip, and summarize raster data within USCB polygons.

Image Service Download

Image services provide clients with the ability to access raster and image data from a server geodatabase.

The National Agricultural Imagery Program (NAIP) is a program begun by the US Department of Agriculture (USDA) in 2002 to collect leaf-on aerial imagery during the agricultural growing season. Aside from research value, the imagery is used to maintain the USDA's Common Land Unit (CLU) database of farm fields across the US (ESRI n.d.).

For this example we demonstrate how to download a portion of the USA NAIP Imagery: Natural Color Living Atlas layer covering Peoria County, Illinois to a raster in the project geodatabase.

  1. Acquire: Add the desired image service layer to your map.
  2. Store: Right click on the image layer and select Data and Export Raster tool
  3. Communicate: Remove the ArcGIS Online tile layer and leave only the new raster layer on the map.
Exporting a portion of an Living Atlas image layers to the project geodatabase

Clipped Image Service Download

If you have boundary polygon(s), you can clip the downloaded raster.

  1. Acquire: Add the desired image service layer to your map.
  2. Store: Right click on the image layer and select Data and Export Raster tool
  3. Communicate: Remove the ArcGIS Online tile layer and leave only the new raster layer on the map.
Exporting a clipped section of an Living Atlas image layers to the project geodatabase

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 from ESRI's world elevation service.

This example demonstrates adding elevation values to a point feature class of Chicago Transit Authority "L" Stations.

Getting elevation values for points

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 adds elevation to neighborhood boundaries in the City of Chicago.

Getting elevation values for areas

Correlation

An initial investigation of relationships between two joined data sets often starts by looking for bivariate correlation between pairs of attributes.

Correlation is "a relation existing between phenomena or things or between mathematical or statistical variables which tend to vary, be associated, or occur together in a way not expected on the basis of chance alone" (Merriam-Webster 2022). While it is important to always remember that correlation and causation are two different things, correlation analysis is a very powerful exploratory technique for determining whether there is a relationship between two variables.

The strength of a correlation is measured using the coefficient of determination which is more commonly called R-squared.This can be written as R2, R squared, R-squared, or R^2.

Evaluation of R-squared to determine whether correlation should be considered strong or not depends on the type of phenomena being studied (Gupta et al. 2024).

Scatter Plots

Correlation can be visualized by plotting the two variables on an x/y scatter chart and looking for an upward or downward pattern of dots diagonally across the chart.

Example x/y scatter charts

To create an X-Y scatter chart in ArcGIS Pro:

  1. Select the layer in the Contents pane, and under Data, Visualize, Scatter configure the chart.
  2. Choose the variables to compare (MM_BTU_per_Capita and GDP_per_Capita_PPP_Dollars).
  3. If your fields are highly skewed (visible as most dots clustered in a corner), changing the axis to Log (logarithmic transformation) will make the presence or absence of a pattern clearer. In some cases (like this), using log axes will cause the regression line to be visually misaligned with the points, so removing the line may be less confusing.
  4. Display the R2 value on the chart.
  5. Remove the redundant Chart Title.
  6. If needed, Export the chart.
Creating an X/Y scatter chart to visualize correlation

Local Bivariate Relationships

The Local Bivariate Relationships tool visualizes the variability of the relationship between two variables across geographic space.

The local bivariate relationships tool

The Post Hoc Fallacy

While correlation may be interesting, what we are usually more interested in is causation. Correlation is a simple mathematical relationship between two variables, but causation means that there is a material cause-and-effect relationship between the two phenomenon we are measuring with our variables.

Correlation is empirical (based on observation), and causation is rational (based on reason). When we observe two phenomena occurring together and we observe that there is some mechanism connecting the two phenomena, we use reason and logic to tie those two phenomena together in a cause and effect relationship.

Assuming that correlation proves causation is the post hoc fallacy, from the Latin phrase post hoc ergo propter hoc (after this, therefore because of this). A logical fallacy is "an often plausible argument using false or invalid inference."

For example, the correlation between per capita energy use and level of nuclear power production could lead to a fallacious inference that the use of nuclear power increases energy use.

However, both the presence of nuclear power and high per capita energy use are probably more causally related through a third variable of early economic development, which results in higher energy use and the development of complex and expensive nuclear technology that is both economically out of reach of poorer countries, and which is actively blocked from proliferation for political reasons by wealthy countries.

Causal link diagram for nuclear power

Correlation points to possible causal relationships, but does not prove them, and there are a variety of logical arguments to show how making a simple assumption that correlation is causation will lead you astray. Determining whether there is a cause-and-effect relationship requires more sophisticated techniques and domain knowledge beyond simple mathematical correlation.

Figure
Correlation vs. causation