Spatial Joins

A spatial join allows you to summarize data in one vector layer based on its spatial relationship(s) to the features in a different layer.

Included in this tutorial:

  • Multiple Spatial Join Tools: Spatial Join and Add Spatial Join

  • Accessing the Tools through the Geoprocessing Pane and through the interface

  • Spatial Join Parameters and Options

  • Example: Point-to-Polygon Spatial Join, with aggregation and sum

Software version in examples: ArcGIS Pro 3.5.1

Tutorial Data: The tutorial includes demonstration with sample data available here.

Credits: L. Meisterlin (2025)

This tutorial demonstrates a classic point-to-polygon spatial join wherein point features are aggregated and summarized based on the polygons they intersect. The point features constitute the “join layer,” and the polygon features are the “target layer.” Note that the same process applies to other geometry types and other spatial relationships.

 

Multiple Spatial Join Tools

two different spatial join tools

Two different geoprocessing tools will execute a classic spatial join: Spatial Join and Add Spatial Join. The operation(s) they perform are nearly identical. The primary difference between them lies in how the results are treated. 

  • The Spatial Join tool outputs results in a new feature class.

  • The Add Spatial Join tool appends the results to the existing target layer’s attributes.

NOTE: ArcGIS Pro also includes other tools that perform operations traditionally considered specific types of spatial joins. For example, the Summarize Within tool also summarizes features and attributes that intersect the polygon boundaries of a different layer.


Accessing the Tools

Through the Geoprocessing Pane

Either spatial join tool can be accessed through the Geoprocessing Pane, by searching or by navigating the toolboxes.

  • The Spatial Join tool is found by clicking through Analysis Tools > Overlay  > Spatial Join. 

  • The Add Spatial Join tool is located at Data Management > Joins and Relates > Add Spatial Join. 

Through the Interface

accessing the Add Spatial Join tool by right-clicking on the target layer’s name

To initiate a spatial join within the interface, right-click on the target layer’s name in the Contents Pane and click through Joins and Relates > Add Spatial Join

Note that only the Add Spatial Join tool is available through the interface. To use the Spatial Join tool (and, thus, to save the results as a new feature class), access the tool through the Geoprocessing Pane (see above).


Spatial Join Parameters & Options

This section includes an overview of the parameters and options of the spatial join tools. 

Input Layers

  • Target Features: the layer within which the join features (and their attributes) will be aggregated and summarized. In the classic points-to-polygons spatial join, the polygons are the target features.

  • Join Features: the layer with features that will be aggregated. In the classic points-to-polygons spatial join, the points are the join features.

input layer parameters

Output Options

As described above, the primary difference between the two Spatial Join tools is how the output results are treated. 

  • The Spatial Join tool includes a parameter for naming and saving the Output Feature Class. The input target features layer will not be affected. To save the output feature class permanently, specify its saving location within one of your directories. To save the output feature class temporarily, specify its saving location within the Memory Workspace, which is cleared when ArcGIS Pro is closed.

Note: If the output feature class parameter specifies a file that already exists, the tool will prompt you to choose an overwrite option. 

  • The Add Spatial Join tool does not export a new dataset. Instead, this tool appends the results to the target layer’s attribute table. The option to Permanently Join Fields will permanently alter the target layer’s attribute table with these results. Leaving this option unchecked will maintain the results only within the current project.

Both tools include one additional output option:

  • Keep All Target Features: When left checked, all target features are kept, including those ones that do not have any spatial relationship with join features. If unchecked, the output will only include the target features that have a spatial “match” with the join features.

output parameters

Specifying the Join Relationship

The type of spatial join is determined by the relationship between the target and join layers. (For example, whether the features in the two layers intersect or are within a specific distance of one another.)

  • Match Option: This drop-down lists the available spatial relationships for specifying the join. The default option is “intersect.”

  • Search Radius: Some match options can be further limited with a search radius. The distance-based match options (such as “within a distance”) require this parameter. Others (such as “intersect”) can be executed within a limited radius of each target feature. Specify the search radius by typing a value in the empty text field and choosing the relevant distance unit.

the Match Option and Search Radius parameters

  • Join Operation (Spatial Join tool only): There are two options for handling aggregation and/or multiple join features sharing the same relationship with a single target feature in the output–for example, if multiple points (join features) intersect a single polygon (target feature). These are “one to one” and “one to many.” These options are explained, using the example of intersecting points to polygons.

    • The default one-to-one join is the classic aggregation option with which the multiple join features (e.g., points) are counted and their attributes are summarized per target feature (e.g., polygon) based on the Fields parameters.

    • The alternative one-to-many option will create multiple copies of the target feature (e.g., polygons) in the output feature class. Each copy polygon will contain the attribute information of one intersecting point.

Note that this option is only available within the Spatial Join tool because the Add Spatial Join tool does not alter the geometry of the target layer. As a result, a one-to-one aggregating join is executed by the Add Spatial Join tool.

  • Attribute Matching: Both tools also include the option to filter or limit the join operation based on identical attributes within fields from each input layer. 

Attribute Field (and Summarizing) Options

The remaining parameters of the tools pertain to how attribute fields (and their values) are treated in the join results. These are found under the Fields options. They are briefly described below and elaborated in the demonstration example. 

  • Fields (Field Map): Here the output attributes are specified based on those included in either of the input layers. Fields can be added, deleted, renamed, and reordered. And you can change their properties and how the input attributes are summarized into the output feature attribute table. (Click the Edit button to access the Field Properties dialogue where these changes are made.)


Example: Point-to-Polygon Spatial Join, with aggregation and sum

The following example demonstrates a point-to-polygon spatial join, using the Spatial Join tool. In the demonstration, we…

  • Join all intersecting points from the join features (Points1_Table1_join point layer) to the target features (Tracts_prj polygon layer) with a classic one-to-one join operation.

  • Accept the default output feature class name and saving location (in the project’s default geodatabase), and keep all target features in the output. 

  • Do not limit the spatial join operation by a search radius nor by attribute matching

  • Specify the fields for the output feature class, choosing one field from each of the input layers. We make these choices in the Field Properties dialogue, within the Field options. The output will include the “CT2010” field from the polygon layer and the sum of the values in the point layer’s “int_sm” attribute field. We modify the latter’s output field name (and alias) to reflect the sum of the values.

  • Inspect the result: Noting that the geometry of the output feature class is identical to the target features polygon file and its attribute table includes a Join_Count field that notes how many join features (points) intersected each polygon feature and the two fields (CT2010 and the sum of the “int_sm” values) we specified in the Field options.

demonstrating a point-to-polygon spatial join and its results

 
Previous
Previous

Identifying the CRS of a Feature Layer

Next
Next

Finding the (Average) Center of Features