Join Features (Map Viewer Classic)


This tool is now available in Map Viewer, the modern map-making tool in ArcGIS Online. To learn more, see Join Features (Map Viewer).

Join Features The Join Features tool will transfer attributes from one layer or table to another based on spatial and attribute relationships. Optionally, statistics can be calculated for the joined features.

Workflow diagram

Join Features workflow diagram


An analyst has crime data throughout their city. To analyze and study the impact of these crimes, the analyst needs to understand the relationship that the crime locations have with the various city jurisdictions such as school districts, police beats, neighborhoods, and so on. By using the Join Features tool, additional information about each location can be appended to each crime, and the impact on various jurisdictions can be further studied and analyzed.


ArcGIS Living Atlas of the World state and county layers include population data that can be joined to your crime data.

Usage notes

The Join Features tool is designed to transfer and append information from one layer to another. The information that is transferred is based on the type of spatial relationship defined or based on a common attribute that is shared between the two datasets.


You can add a layer that is not in Map Viewer Classic to the tool pane by selecting Choose Analysis Layer on the drop-down menu.

When joining features, you can join features based on a spatial relationship, an attribute relationship, or a combination of the two.


Choose a spatial relationship Choose a spatial relationship

The spatial relationship that will determine whether features are joined to each other. The available relationships depend on the geometry type (point, line, or area) of the layers being joined. Available spatial relationships are as follows:

  • Identical to
  • Intersects
  • Completely contains
  • Completely within
  • Within a distance of

Choose the fields to match Choose the fields to match

The attribute relationship that will determine whether features are joined to each other. Features are matched when the field values in the join layer are equal to field values in the target layer.

The join operation determines how joins between the target and join layers will be handled if multiple features in the join layer are found to have the same relationship to the target layer. The following are the two join operations from which to choose:

  • Join one to one—This option joins a single feature in the join layer to each feature in the target layer. The records from the join layer that are used in the join are determined by the Add statistics parameter or the Define which record is kept parameter. If Add statistics is selected, all matching records will be summarized for each feature in the target layer. The count of the summarized records will also be added by default. If Define which record is kept is selected, only one matching record from the join layer will be used for each target feature. You can choose to either keep the first matching record in the join layer (default) or to keep the matching record with the highest or lowest value in a certain field (Order by). The order by expression requires either a numeric field (option for largest or smallest value) or a date field (option for newest or oldest).
  • Join one to many—This option joins all the matching features in the join layer to the target layer. The result layer will contain multiple records of the target feature.

Keep all target features is used to determine whether the output includes only matching features, or all features from the target layer. When this option is not checked (default), only matching features between the target layer and the join layer are returned in the output (an inner join). When checked, all features in the target layer are returned in the output, even if the target feature does not have a match in the join layer (a left outer join).

Example of joining one to many and one to one
An example of one-to-one and one-to-many attribute joins, with and without Keep all target features checked. In this example, the one-to-one joins include the default record, the sum of Occupants, and the maximum from Occupants.

If Use current map extent is checked, only the features visible within the current map extent will be analyzed. If it's not checked, all features in both the target layer and the join layer will be analyzed, even if they are outside the current map extent.

Create results as hosted feature layer view allows the data to stay up to date as the source data changes. Hosted feature layer views containing joins will be read-only and do not consume credits for analysis and storage. If statistics are included as part of the output, the hosted feature layer view will contain an extra table layer in the view with the statistics. Attachments on the target layer will be preserved if the target layer has attachments enabled and a GlobalID field. For more information on hosted feature layer views, see Limitations.


Click Show Credits before you run your analysis to check how many credits will be consumed.


Summary statistics can only be calculated if a Join one to one operation is specified.

Joins cannot be created using fields that have a field type of ObjectID. If the values from an ObjectID field must be used in a join, you can create an integer field and calculate the field based on the ObjectID value.

You can create a hosted feature layer view from the analysis results if all of the following conditions are met:

  • You are the owner of both layers.
  • Both layers are hosted feature layers.
  • You are performing an attribute join.

When storing results as a hosted feature layer view, Use current map extent is unavailable.

How Join Features works


Standard deviation is calculated using the following equation:

Standard deviation equation


  • N = Number of observations
  • xi = Observations
  • = Mean


Statistics are calculated for only those features that meet the specified spatial or attribute relationship used in the Join one to one operation. You can only calculate statistics for numeric fields. When you add statistics, a Join Count field is added that lists the number of matching records summarized for each target feature. Using the table above, numeric statistics were calculated on the Occupants field and string statistics were calculated on the Building_Name field for the values of Apartments for the Type field.

Numeric statisticResults of Occupants of Type Apartment


130 + 8 + 250 = 388


Minimum of:

[130, 8, 250] = 8


Maximum of:

[130, 8, 250] = 250


388/3 = 129.333

Standard Deviation

Standard deviation
= 121.0014

Null values are excluded from all statistical calculations. For example, the mean of 10, 5, and a null value is 7.5 ((10+5)/2).

Similar tools

Use Join Features to transfer attributes from one layer or table to another based on spatial and attribute relationships. Other tools may be useful in solving similar but slightly different problems.

Map Viewer Classic analysis tools

Use the Enrich Layer tool to get demographic and landscape information for the people, places, and businesses associated with your point, line, or area data locations.

ArcGIS Pro analysis tools

Join Features performs the functions of the Spatial Join, Add Join, and Summary Statistics tools.